Title
Dynamic parallelization of JavaScript applications using an ultra-lightweight speculation mechanism
Abstract
As the web becomes the platform of choice for execution of more complex applications, a growing portion of computation is handed off by developers to the client side to reduce network traffic and improve application responsiveness. Therefore, the client-side component, often written in JavaScript, is becoming larger and more compute-intensive, increasing the demand for high performance JavaScript execution. This has led to many recent efforts to improve the performance of JavaScript engines in the web browsers. Furthermore, considering the wide-spread deployment of multi-cores in today's computing systems, exploiting parallelism in these applications is a promising approach to meet their performance requirement. However, JavaScript has traditionally been treated as a sequential language with no support for multithreading, limiting its potential to make use of the extra computing power in multicore systems. In this work, to exploit hardware concurrency while retaining traditional sequential programming model, we develop ParaScript, an automatic runtime parallelization system for JavaScript applications on the client's browser. First, we propose an optimistic runtime scheme for identifying parallelizable regions, generating the parallel code on-the-fly, and speculatively executing it. Second, we introduce an ultra-lightweight software speculation mechanism to manage parallel execution. This speculation engine consists of a selective checkpointing scheme and a novel runtime dependence detection mechanism based on reference counting and range-based array conflict detection. Our system is able to achieve an average of 2.18脳 speedup over the Firefox browser using 8 threads on commodity multi-core systems, while performing all required analyses and conflict detection dynamically at runtime.
Year
DOI
Venue
2011
10.1109/HPCA.2011.5749719
HPCA
Keywords
Field
DocType
novel runtime dependence detection,high performance javascript execution,performance requirement,conflict detection dynamically,ultra-lightweight speculation mechanism,parallel execution,javascript application,javascript engine,range-based array conflict detection,dynamic parallelization,optimistic runtime scheme,automatic runtime parallelization system,software engineering,speculative execution,programming model,parallel systems,hardware,reference counting,multi threading,multithreading,engines,java
Client-side,Multithreading,Programming paradigm,Concurrency,Computer science,Parallel computing,Unobtrusive JavaScript,Real-time computing,Thread (computing),JavaScript,Speedup
Conference
ISSN
Citations 
PageRank 
1530-0897
17
0.78
References 
Authors
15
4
Name
Order
Citations
PageRank
Mojtaba Mehrara11768.12
Po-Chun Hsu2577.95
Mehrzad Samadi342216.09
Scott Mahlke44811312.08