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

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

  • Christian Dietrich
  • Stefan Naumann
  • Robin Thrift
  • Daniel Lohmann
View graph of relations

Details

Original languageEnglish
Title of host publication2019 IEEE Real-Time Systems Symposium (RTSS)
Pages69-79
Number of pages11
ISBN (electronic)978-1-7281-6463-2
Publication statusPublished - Dec 2019
Event2019 IEEE Real-Time Systems Symposium (RTSS) - Hong Kong, Hong Kong
Duration: 3 Dec 20196 Dec 2019

Publication series

NameIEEE Real-Time Systems Symposium
ISSN (Print)1052-8725
ISSN (electronic)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.

Keywords

    Browser, JavaScript, Preemption, Real-Time System

ASJC Scopus subject areas

Cite this

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. p. 69-79 9052116 (IEEE Real-Time Systems Symposium).

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer 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, pp. 69-79, 2019 IEEE Real-Time Systems Symposium (RTSS), 3 Dec 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) (pp. 69-79). Article 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. p. 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. pp. 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 -