RT.js: Practical Real-Time Scheduling for Web Applications

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Autoren

  • Christian Dietrich
  • Stefan Naumann
  • Robin Thrift
  • Daniel Lohmann
Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Titel des Sammelwerks2019 IEEE Real-Time Systems Symposium (RTSS)
Seiten69-79
Seitenumfang11
ISBN (elektronisch)978-1-7281-6463-2
PublikationsstatusVeröffentlicht - Dez. 2019
Veranstaltung2019 IEEE Real-Time Systems Symposium (RTSS) - Hong Kong, Hong Kong
Dauer: 3 Dez. 20196 Dez. 2019

Publikationsreihe

NameIEEE Real-Time Systems Symposium
ISSN (Print)1052-8725
ISSN (elektronisch)2576-3172

Abstract

For billions of deployed browsers, JavaScript provides the platform-independent lingua franca that enabled the triumphal march of web-based applications. Originally intended for simple UI-event processing, JavaScript comes with an event-driven programming model, where event-callback functions are executed in strict sequential order. However, with applications getting more complex and tasks becoming more computation intensive, its first-come-first-serve and run-to-completion semantic is hitting a limit, when reactions to user inputs are delayed beyond the human perception threshold. With the rise of the Internet of Things, this leads to friction-filled user experiences in everyday situations. With RT.js, we selectively introduce pseudo-preemption points into JavaScript functions and sequence the execution of event callbacks with well-known real-time scheduling policies, like EDF. Thereby, we provide a soft real-time abstraction that mitigates the described shortcomings of the JavaScript execution model without modifying the actual engine; making RT.js compatible with billions of devices. Applied to generated real-time task sets, we can almost eliminate the 30-percent deadline-miss ratios of baseline JavaScript at moderate costs. In a browser-based macro benchmark, we could diminish the influence of computation-intensive background tasks on the page-rendering performance.

ASJC Scopus Sachgebiete

Zitieren

RT.js: Practical Real-Time Scheduling for Web Applications. / Dietrich, Christian; Naumann, Stefan; Thrift, Robin et al.
2019 IEEE Real-Time Systems Symposium (RTSS). 2019. S. 69-79 9052116 (IEEE Real-Time Systems Symposium).

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Dietrich, C, Naumann, S, Thrift, R & Lohmann, D 2019, RT.js: Practical Real-Time Scheduling for Web Applications. in 2019 IEEE Real-Time Systems Symposium (RTSS)., 9052116, IEEE Real-Time Systems Symposium, S. 69-79, 2019 IEEE Real-Time Systems Symposium (RTSS), 3 Dez. 2019. https://doi.org/10.1109/rtss46320.2019.00017
Dietrich, C., Naumann, S., Thrift, R., & Lohmann, D. (2019). RT.js: Practical Real-Time Scheduling for Web Applications. In 2019 IEEE Real-Time Systems Symposium (RTSS) (S. 69-79). Artikel 9052116 (IEEE Real-Time Systems Symposium). https://doi.org/10.1109/rtss46320.2019.00017
Dietrich C, Naumann S, Thrift R, Lohmann D. RT.js: Practical Real-Time Scheduling for Web Applications. in 2019 IEEE Real-Time Systems Symposium (RTSS). 2019. S. 69-79. 9052116. (IEEE Real-Time Systems Symposium). doi: 10.1109/rtss46320.2019.00017
Dietrich, Christian ; Naumann, Stefan ; Thrift, Robin et al. / RT.js : Practical Real-Time Scheduling for Web Applications. 2019 IEEE Real-Time Systems Symposium (RTSS). 2019. S. 69-79 (IEEE Real-Time Systems Symposium).
Download
@inproceedings{eac20ccab2704986b234ec344342aba9,
title = "RT.js: Practical Real-Time Scheduling for Web Applications",
abstract = "For billions of deployed browsers, JavaScript provides the platform-independent lingua franca that enabled the triumphal march of web-based applications. Originally intended for simple UI-event processing, JavaScript comes with an event-driven programming model, where event-callback functions are executed in strict sequential order. However, with applications getting more complex and tasks becoming more computation intensive, its first-come-first-serve and run-to-completion semantic is hitting a limit, when reactions to user inputs are delayed beyond the human perception threshold. With the rise of the Internet of Things, this leads to friction-filled user experiences in everyday situations. With RT.js, we selectively introduce pseudo-preemption points into JavaScript functions and sequence the execution of event callbacks with well-known real-time scheduling policies, like EDF. Thereby, we provide a soft real-time abstraction that mitigates the described shortcomings of the JavaScript execution model without modifying the actual engine; making RT.js compatible with billions of devices. Applied to generated real-time task sets, we can almost eliminate the 30-percent deadline-miss ratios of baseline JavaScript at moderate costs. In a browser-based macro benchmark, we could diminish the influence of computation-intensive background tasks on the page-rendering performance.",
keywords = "Browser, JavaScript, Preemption, Real-Time System",
author = "Christian Dietrich and Stefan Naumann and Robin Thrift and Daniel Lohmann",
note = "Funding information: This work was partly supported by the German Research Foundation (DFG) under grant no. LO 1719/3-1 and LO 1719/4-1.; 2019 IEEE Real-Time Systems Symposium (RTSS) ; Conference date: 03-12-2019 Through 06-12-2019",
year = "2019",
month = dec,
doi = "10.1109/rtss46320.2019.00017",
language = "English",
isbn = "978-1-7281-6464-9",
series = "IEEE Real-Time Systems Symposium",
pages = "69--79",
booktitle = "2019 IEEE Real-Time Systems Symposium (RTSS)",

}

Download

TY - GEN

T1 - RT.js

T2 - 2019 IEEE Real-Time Systems Symposium (RTSS)

AU - Dietrich, Christian

AU - Naumann, Stefan

AU - Thrift, Robin

AU - Lohmann, Daniel

N1 - Funding information: This work was partly supported by the German Research Foundation (DFG) under grant no. LO 1719/3-1 and LO 1719/4-1.

PY - 2019/12

Y1 - 2019/12

N2 - For billions of deployed browsers, JavaScript provides the platform-independent lingua franca that enabled the triumphal march of web-based applications. Originally intended for simple UI-event processing, JavaScript comes with an event-driven programming model, where event-callback functions are executed in strict sequential order. However, with applications getting more complex and tasks becoming more computation intensive, its first-come-first-serve and run-to-completion semantic is hitting a limit, when reactions to user inputs are delayed beyond the human perception threshold. With the rise of the Internet of Things, this leads to friction-filled user experiences in everyday situations. With RT.js, we selectively introduce pseudo-preemption points into JavaScript functions and sequence the execution of event callbacks with well-known real-time scheduling policies, like EDF. Thereby, we provide a soft real-time abstraction that mitigates the described shortcomings of the JavaScript execution model without modifying the actual engine; making RT.js compatible with billions of devices. Applied to generated real-time task sets, we can almost eliminate the 30-percent deadline-miss ratios of baseline JavaScript at moderate costs. In a browser-based macro benchmark, we could diminish the influence of computation-intensive background tasks on the page-rendering performance.

AB - For billions of deployed browsers, JavaScript provides the platform-independent lingua franca that enabled the triumphal march of web-based applications. Originally intended for simple UI-event processing, JavaScript comes with an event-driven programming model, where event-callback functions are executed in strict sequential order. However, with applications getting more complex and tasks becoming more computation intensive, its first-come-first-serve and run-to-completion semantic is hitting a limit, when reactions to user inputs are delayed beyond the human perception threshold. With the rise of the Internet of Things, this leads to friction-filled user experiences in everyday situations. With RT.js, we selectively introduce pseudo-preemption points into JavaScript functions and sequence the execution of event callbacks with well-known real-time scheduling policies, like EDF. Thereby, we provide a soft real-time abstraction that mitigates the described shortcomings of the JavaScript execution model without modifying the actual engine; making RT.js compatible with billions of devices. Applied to generated real-time task sets, we can almost eliminate the 30-percent deadline-miss ratios of baseline JavaScript at moderate costs. In a browser-based macro benchmark, we could diminish the influence of computation-intensive background tasks on the page-rendering performance.

KW - Browser

KW - JavaScript

KW - Preemption

KW - Real-Time System

UR - http://www.scopus.com/inward/record.url?scp=85083204037&partnerID=8YFLogxK

U2 - 10.1109/rtss46320.2019.00017

DO - 10.1109/rtss46320.2019.00017

M3 - Conference contribution

SN - 978-1-7281-6464-9

T3 - IEEE Real-Time Systems Symposium

SP - 69

EP - 79

BT - 2019 IEEE Real-Time Systems Symposium (RTSS)

Y2 - 3 December 2019 through 6 December 2019

ER -