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 {\it 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.
Thu 3 NovDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | Language Design and Programming Models IIOOPSLA at Matterhorn 2 Chair(s): Olivier Tardieu IBM Research | ||
10:30 25mTalk | Automatic Enforcement of Expressive Security Policies using Enclaves OOPSLA DOI | ||
10:55 25mTalk | Chain: Tasks and Channels for Reliable Intermittent Programs OOPSLA DOI Pre-print | ||
11:20 25mTalk | GEMs: Shared-Memory Parallel Programming for Node.js OOPSLA Daniele Bonetta Oracle Labs, Luca Salucci Università della Svizzera italiana (USI), Stefan Marr Johannes Kepler University Linz, Walter Binder University of Lugano DOI | ||
11:45 25mTalk | OrcO: A Concurrency-First Approach to Objects OOPSLA Arthur Michener Peters The University of Texas at Austin, Texas, USA, David Kitchin Google, Inc., John A. Thywissen The University of Texas at Austin, William Cook UT Austin DOI Pre-print |