<span class="var-sub_title">A Unified Runtime for PGAS and Event-Driven Programming</span> SC18 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

ESPM2 2018: Fourth International Workshop on Extreme Scale Programming Models and Middleware

A Unified Runtime for PGAS and Event-Driven Programming

Abstract: A well-recognized characteristic of extreme scale systems is that their computation bandwidths far exceed their communication bandwidths. PGAS runtimes have proven to be effective in enabling efficient use of communication bandwidth, due to their efficient support for short nonblocking one-sided messages. However, they were not designed for exploiting the massive levels of intra-node parallelism found in extreme scale systems.

In this paper, we explore the premise that event-driven intra-node runtimes could be promising candidates for integration with PGAS runtimes, due to their ability to overlap computation with long-latency operations. For this, we use OpenSHMEM as an exemplar of PGAS runtimes, and Node.js as an exemplar of event-driven runtimes. While Node.js may seem an unusual choice for high-performance computing, its prominent role as an event-driven runtime for server-side Javascript is a good match for what we need for optimizing the use of communication bandwidth. Availability of excess computation bandwidth in extreme scale systems can help mitigate the local computation overheads of Javascript. Further, since the Node.js environment is single-threaded, we get an automatic guarantee that no data races will occur on Javascript objects, a guarantee that we cannot get with C++.

Our integration of OpenSHMEM and Node.js makes it possible to expose nonblocking PGAS operations as JavaScript constructs that can seamlessly be used with the JavaScript asynchronous mechanisms, such as those based on promises. We believe that the exploration and preliminary results in this paper offer a new direction for future research on building high productivity runtimes for extreme scale systems.

Archive Materials

Back to ESPM2 2018: Fourth International Workshop on Extreme Scale Programming Models and Middleware Archive Listing

Back to Full Workshop Archive Listing