Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
ParallelJS: an execution framework for JavaScript on heterogeneous systems
Wang J., Rubin N., Yalamanchili S.  GPGPU-7 (Proceedings of the 7th Workshop on General Purpose Processing Using GPUs, Salt Lake City, UT, Mar 1, 2014)72-80.2014.Type:Proceedings
Date Reviewed: Apr 17 2014

The authors created a library, ParallelJS, which runs JavaScript functions in parallel on heterogeneous systems of standard central processing units (CPUs) and NVIDIA graphics processing units (GPUs). For certain test algorithms, the authors reported a 28x speedup; other algorithms were a little slower than nonparallel implementations. Their library hides the details of parallel execution and falls back automatically to single-threaded CPU execution if GPUs are not available or the functions don’t meet behavior restrictions. Furthermore, it does not require additional language bindings. These project aspects all enhance usability. Given the current surge in JavaScript use, an easy-to-use library for parallelism is very timely.

The good news is that the authors describe a toolchain and compilation flow that uses easily available open-source components such as Firefox and NVIDIA’s NVVM compiler. The bad news is that none of their code is made available for verification or extension. Oddly enough, there are already two other “parallel JS” libraries on the web, both of which are available as open-source downloads: parallel.js (https://www.npmjs.org/package/paralleljs) and ParallelJS [1]. These other projects do not run on GPUs, however, and the authors of this paper don’t mention them.

It’s a shame that the code behind this paper isn’t available. This is not the first project with unpublished code, but for some reason this one really provoked me. The purpose of scientific publishing is to advance the state of the art and to verify results. With this project, like many others before it, no verification is possible. Advances based on these ideas require other researchers to reinvent the code, instead of picking it up and moving it forward. Making algorithms 28 times faster with an easy-to-use library is a remarkable claim. I guess we just have to take their word for it.

Reviewer:  Bayard Kohlhepp Review #: CR142192 (1407-0560)
1) Matsakis, N. Baby steps: a blog about programming, and tiny ways to improve it. http://smallcultfollowing.com/babysteps/blog/2013/03/20/parallel-js-lands/.
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Language Classifications (D.3.2 )
 
 
Parallel Architectures (C.1.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Language Classifications": Date
Distributed and abstract types in Emerald
Black A., Hutchinson N., Jul E., Levy H., Carter L. IEEE Transactions on Software Engineering 13(1): 65-76, 1987. Type: Article
Jul 1 1988
Microcomputer programming languages
Hsu J., Carmel, IN, 1986. Type: Book (9789780810462885)
Jun 1 1988
A theory for nondeterminism, parallelism, communication, and concurrency
Broy M. Theoretical Computer Science 45(1): 1-61, 1986. Type: Article
Jul 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy