Performance scalability analysis of JavaScript applications with web workers

Web applications are getting closer to the performance of native applications taking advantage of new standard–based technologies. The recent HTML5 standard includes, among others, the Web Workers API that allows executing JavaScript applications on multiple threads, or workers. However, the interna...

Descripción completa

Detalles Bibliográficos
Autores: Verdú Mulà, Javier|||0000-0003-4485-2419, Pajuelo González, Manuel Alejandro|||0000-0002-5510-6860
Tipo de recurso: artículo
Fecha de publicación:2016
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/99263
Acceso en línea:https://hdl.handle.net/2117/99263
https://dx.doi.org/10.1109/LCA.2015.2494585
Access Level:acceso abierto
Palabra clave:Web applications
HTML5
Web workers
JavaScript
Web apps
Parallelism
Multithreading
Aplicacions web
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
Descripción
Sumario:Web applications are getting closer to the performance of native applications taking advantage of new standard–based technologies. The recent HTML5 standard includes, among others, the Web Workers API that allows executing JavaScript applications on multiple threads, or workers. However, the internals of the browser’s JavaScript virtual machine does not expose direct relation between workers and running threads in the browser and the utilization of logical cores in the processor. As a result, developers do not know how performance actually scales on different environments and therefore what is the optimal number of workers on parallel JavaScript codes. This paper presents the first performance scalability analysis of parallel web apps with multiple workers. We focus on two case studies representative of different worker execution models. Our analyses show performance scaling on different parallel processor microarchitectures and on three major web browsers in the market. Besides, we study the impact of co–running applications on the web app performance. The results provide insights for future approaches to automatically find out the optimal number of workers that provide the best tradeoff between performance and resource usage to preserve system responsiveness and user experience, especially on environments with unexpected changes on system workload.