Callback-based completion notification using MPI Continuations

TitleCallback-based completion notification using MPI Continuations
Publication TypeJournal Article
Year of Publication2021
AuthorsSchuchart, J., P. Samfass, C. Niethammer, J. Gracia, and G. Bosilca
JournalParallel Computing
Date PublishedJan-05-2021
KeywordsMPI, MPI Continuations, OmpSs, OpenMP, parsec, TAMPI, Task-based programming models

Asynchronous programming models (APM) are gaining more and more traction, allowing applications to expose the available concurrency to a runtime system tasked with coordinating the execution. While MPI has long provided support for multi-threaded communication and nonblocking operations, it falls short of adequately supporting APMs as correctly and efficiently handling MPI communication in different models is still a challenge. We have previously proposed an extension to the MPI standard providing operation completion notifications using callbacks, so-called MPI Continuations. This interface is flexible enough to accommodate a wide range of different APMs.

In this paper, we present an extension to the previously described interface that allows for finer control of the behavior of the MPI Continuations interface. We then present some of our first experiences in using the interface in the context of different applications, including the NAS parallel benchmarks, the PaRSEC task-based runtime system, and a load-balancing scheme within an adaptive mesh refinement solver called ExaHyPE. We show that the interface, implemented inside Open MPI, enables low-latency, high-throughput completion notifications that outperform solutions implemented in the application space.

Short TitleParallel Computing
External Publication Flag: