River Trail (JavaScript engine)

River Trail (JavaScript engine)
Developer(s) Intel
Website github.com/IntelLabs/RiverTrail

River Trail (also known as Parallel Javascript) is an open source software engine designed by Intel for executing JavaScript code using parallel computing on multi-core processors.

River Trail was announced at the Intel Developer Forum in September 2011, and demonstrated using a Firefox extension developed by Intel. Brendan Eich, the original author of JavaScript, promised that he would promote River Trail within Ecma International, saying "The demo shows a 15x speedup over serial JavaScript. It lights up the ridiculously parallel hardware in modern CPUs and GPUs, for audio, video, image processing, automated voice response, computer vision, 3D gaming, etc. – all written in memory-safe, clean, functional JavaScript, without threads and their data races and deadlocks."[1] Because River Trail leverages Intel's OpenCL SDK[2] it can exploit multiple CPU cores as well as data parallel instructions (ex. AVX, SSE) and the speedup can be greater than the CPU core count would imply.

A native implementation of River Trail in Firefox's SpiderMonkey JavaScript engine was announced in September 2012[3] and was added to nightly Firefox builds in April 2013.[4] By January 2015, the code had been removed from Firefox.[5]

Operation

To use the engine scripts uses a special API, based on three pillars: a type called ParallelArray, several methods of Prototype of ParallelArray, and elementary functions.[6]

References

  1. Cade Metz (17 September 2011). "Intel extends JavaScript for parallel programming". The Register. Retrieved 2013-04-10.
  2. Hillar, Gaston (29 September 2011). "Introducing Intel Labs' River Trail". Dr. Dobb's. Retrieved 29 January 2014.
  3. Gareth Halfacree (13 September 2012). "Intel boosts JavaScript with River Trail release". bit-tech. Retrieved 2013-04-10.
  4. "Bug 829602 - ParallelDo intrinsic and self-hosted ParallelArray". Mozilla Foundation. Retrieved 2013-04-10.
  5. "Bug 801869 - (PJS) PJS: Efficient threaded runtime for data-parallel JavaScript". Bugzilla@Mozilla. Mozilla Foundation. 2015-01-19. Retrieved 2015-04-23.
  6. Three pillars of the API, retrieved 2011-09-14

External links