Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Combining thread‐level speculation and just‐in‐time compilation in Google's V8 JavaScript engine

Martinsen, Jan Kasper ; Grahn, Håkan and Isberg, Anders (2016) In Concurrency and computation : practice and experience 289(1).
Abstract
Thread‐level speculation can be used to take advantage of multicore architectures for JavaScript in web applications. We extend previous studies with these main contributions; we implement thread‐level speculation in the state‐of‐the art just‐in‐time‐enabled JavaScript engine V8 and make the measurements in the Chromium web browser both from Google instead of using an interpreted JavaScript engine. We evaluate the thread‐level speculation and just‐in‐time compilation combination on 15 very popular web applications, 20 HTML5 demos from the JS1K competition, and 4 Google Maps use cases. The performance is evaluated on two, four, and eight cores. The results clearly show that it is possible to successfully combine thread‐level speculation and... (More)
Thread‐level speculation can be used to take advantage of multicore architectures for JavaScript in web applications. We extend previous studies with these main contributions; we implement thread‐level speculation in the state‐of‐the art just‐in‐time‐enabled JavaScript engine V8 and make the measurements in the Chromium web browser both from Google instead of using an interpreted JavaScript engine. We evaluate the thread‐level speculation and just‐in‐time compilation combination on 15 very popular web applications, 20 HTML5 demos from the JS1K competition, and 4 Google Maps use cases. The performance is evaluated on two, four, and eight cores. The results clearly show that it is possible to successfully combine thread‐level speculation and just‐in‐time compilation. This makes it possible to take advantage of multicore architectures for web applications while hiding the details of parallel programming from the programmer. Further, our results show an average speedup for the thread‐level speculation and just‐in‐time compilation combination by a factor of almost 3 on four cores and over 4 on eight cores, without changing any of the JavaScript source code.

(Less)
Please use this url to cite or link to this publication:
author
; and
publishing date
type
Contribution to journal
publication status
published
subject
in
Concurrency and computation : practice and experience
volume
289
issue
1
pages
23 pages
publisher
John Wiley & Sons Inc.
external identifiers
  • scopus:84966359864
ISSN
1532-0626
DOI
10.1002/cpe.3826
project
Embedded Applications Software Engineering
language
English
LU publication?
no
id
54598b9c-8866-4300-99d5-73d54932a2c7
date added to LUP
2018-09-21 15:01:15
date last changed
2024-03-02 00:51:14
@article{54598b9c-8866-4300-99d5-73d54932a2c7,
  abstract     = {{Thread‐level speculation can be used to take advantage of multicore architectures for JavaScript in web applications. We extend previous studies with these main contributions; we implement thread‐level speculation in the state‐of‐the art just‐in‐time‐enabled JavaScript engine V8 and make the measurements in the Chromium web browser both from Google instead of using an interpreted JavaScript engine. We evaluate the thread‐level speculation and just‐in‐time compilation combination on 15 very popular web applications, 20 HTML5 demos from the JS1K competition, and 4 Google Maps use cases. The performance is evaluated on two, four, and eight cores. The results clearly show that it is possible to successfully combine thread‐level speculation and just‐in‐time compilation. This makes it possible to take advantage of multicore architectures for web applications while hiding the details of parallel programming from the programmer. Further, our results show an average speedup for the thread‐level speculation and just‐in‐time compilation combination by a factor of almost 3 on four cores and over 4 on eight cores, without changing any of the JavaScript source code.<br/><br/>}},
  author       = {{Martinsen, Jan Kasper and Grahn, Håkan and Isberg, Anders}},
  issn         = {{1532-0626}},
  language     = {{eng}},
  number       = {{1}},
  publisher    = {{John Wiley & Sons Inc.}},
  series       = {{Concurrency and computation : practice and experience}},
  title        = {{Combining thread‐level speculation and just‐in‐time compilation in Google's V8 JavaScript engine}},
  url          = {{http://dx.doi.org/10.1002/cpe.3826}},
  doi          = {{10.1002/cpe.3826}},
  volume       = {{289}},
  year         = {{2016}},
}