Skip to main navigation Skip to search Skip to main content

GEMs: shared-memory parallel programming for Node.js

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

JavaScript is the most popular programming language for client-side Web applications, and Node.js has popularized the language for server-side computing, too. In this domain, the minimal support for parallel programming remains however a major limitation. In this paper we introduce a novel parallel programming abstraction called Generic Messages (GEMs). GEMs allow one to combine message passing and shared-memory parallelism, extending the classes of parallel applications that can be built with Node.js. GEMs have customizable semantics and enable several forms of thread safety, isolation, and concurrency control. GEMs are designed as convenient JavaScript abstractions that expose high-level and safe parallelism models to the developer. Experiments show that GEMs outperform equivalent Node.js applications thanks to their usage of shared memory.
Original languageEnglish
Pages (from-to)531-547
Number of pages17
JournalACM SIGPLAN Notices
Volume51
Issue number10
Early online date19 Oct 2016
DOIs
Publication statusPublished - 2016
Externally publishedYes

Fingerprint

Dive into the research topics of 'GEMs: shared-memory parallel programming for Node.js'. Together they form a unique fingerprint.
  • GEMS: Shared-memory parallel programming for Node.js

    Bonetta, D., Salucci, L., Marr, S. & Binder, W., 2016, OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. Association for Computing Machinery, p. 531-547 17 p.

    Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Cite this