Transforming Javascript Event-Loop Into a Pipeline

Etienne Brodu 1, 2 Stéphane Frénot 2 Frédéric Oblé 1, *
* Corresponding author
2 DICE - Data on the Internet at the Core of the Economy
Inria Grenoble - Rhône-Alpes, CITI - CITI Centre of Innovation in Telecommunications and Integration of services
Abstract : The development of a real-time web application often starts with a feature-driven approach allowing to quickly react to users feedbacks. However, this approach poorly scales in performance. Yet, the user-base can increase by an order of magnitude in a matter of hours. This first approach is unable to deal with the highest connections spikes. It leads the development team to shift to a scalable approach often linked to new development paradigm such as dataflow programming. This shift of technology is disruptive and continuity-threatening. To avoid it, we propose to abstract the feature-driven development into a more scalable high-level language. Indeed, reasoning on this high-level language allows to dynamically cope with user-base size evolutions. We propose a compilation approach that transforms a Javascript, single-threaded real-time web application into a network of small independent parts communicating by message streams. We named these parts fluxions, by contraction between a flow (flux in french) and a function. The independence of these parts allows their execution to be parallel, and to organize an application on several processors to cope with its load, in a similar way network routers do with IP traffic. We test this approach by applying the compiler to a real web application. We transform this application to parallelize the execution of an independent part and present the result.
Liste complète des métadonnées

Cited literature [21 references]  Display  Hide  Download
Contributor : Brodu Etienne <>
Submitted on : Friday, February 12, 2016 - 3:40:31 PM
Last modification on : Thursday, February 7, 2019 - 3:46:24 PM
Document(s) archivé(s) le : Saturday, November 12, 2016 - 7:12:40 PM


Files produced by the author(s)


Distributed under a Creative Commons Attribution 4.0 International License




Etienne Brodu, Stéphane Frénot, Frédéric Oblé. Transforming Javascript Event-Loop Into a Pipeline. SAC, Apr 2016, Pisa, Italy. ⟨10.1145/2851613.2851745⟩. ⟨hal-01238895v3⟩



Record views


Files downloads