2014 23rd International Conference on Parallel Architecture and Compilation (PACT) (2014)
Aug. 23, 2014 to Aug. 27, 2014
Alex Aiken , Stanford University, Stanford, CA
Michael Bauer , Stanford University, Stanford, CA
Sean Treichler , Stanford University, Stanford, CA
We present Realm, an event-based runtime system for heterogeneous, distributed memory machines. Realm is fully asynchronous: all runtime actions are non-blocking. Realm supports spawning computations, moving data, and reservations, a novel synchronization primitive. Asynchrony is exposed via a light-weight event system capable of operating without central management. We describe an implementation of Realm that relies on a novel generational event data structure for efficiently handling large numbers of events in a distributed address space. Microbenchmark experiments show our implementation of Realm approaches the underlying hardware performance limits. We measure the performance of three real-world applications on the Keeneland supercomputer. Our results demonstrate that Realm confers considerable latency hiding to clients, attaining significant speedups over traditional bulk-synchronous and independently optimized MPI codes.
Runtime, Synchronization, Hardware, Computational modeling, Programming, Java, Semantics
Alex Aiken, Michael Bauer, Sean Treichler, "Realm: An event-based low-level runtime for distributed memory architectures", 2014 23rd International Conference on Parallel Architecture and Compilation (PACT), vol. 00, no. , pp. 263-275, 2014, doi:10.1145/2628071.2628084