Transforming Javascript Event-Loop Into a Pipeline - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2016

Transforming Javascript Event-Loop Into a Pipeline

Résumé

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.
Fichier principal
Vignette du fichier
main.pdf (3.2 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01238895 , version 1 (22-12-2015)
hal-01238895 , version 2 (22-12-2015)
hal-01238895 , version 3 (12-02-2016)

Licence

Paternité

Identifiants

Citer

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⟩
415 Consultations
400 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More