Enabling Highly-Scalable Remote Memory Access Programming with MPI-3 One Side
Modern interconnects offer remote direct memory access (RDMA) features. However, most applications rely on explicit message passing for communications notwithstanding their unwanted overheads. The MPI-3.0 standard defines a programming interface for exploiting RDMA networks directly, however, its scalability and practicability has to be demonstrated in practice. In this work, we develop scalable bufferless protocols that implement the MPI-3.0 specification for one-sided communication.
Our protocols support scaling to millions of cores with negligible memory consumption while providing highest performance and minimal overheads. To help programmers, we provide a spectrum of performance models for all critical functions and demonstrate the usability of our library and models with several application studies with up to half a million processes. We show that our design is comparable to, or better than UPC and CAF in terms of latency, bandwidth, and message rate. We also demonstrate application performance improvements with comparable programming complexity