search-icon
Workshop
:
A Unified Runtime for PGAS and Event-Driven Programming
Event Type
Workshop
Registration Categories
W
Tags
Accelerators
Exascale
Parallel Programming Languages, Libraries, and Models
TimeMonday, November 12th2:30pm - 3pm
LocationD166
DescriptionA 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
Back To Top Button