Extending the Message Passing Interface (MPI) with User-Level Schedules
Derek Schafer, Sheikh Ghafoor, Daniel Holmes, Martin Ruefenacht,, Anthony Skjellum

TL;DR
This paper proposes a new user-level scheduling API for MPI that enhances composability, performance, and extensibility of collective communication, enabling custom sequences of operations integrated with MPI's progress and notification mechanisms.
Contribution
It introduces a standardized API for MPI schedules, allowing user-defined, persistent collective operations to be composed and integrated with MPI's progress engine.
Findings
Early performance results show promising overlap potential.
Schedules can be composed with user-defined operations.
Potential to introduce event-driven programming into MPI.
Abstract
Composability is one of seven reasons for the long-standing and continuing success of MPI. Extending MPI by composing its operations with user-level operations provides useful integration with the progress engine and completion notification methods of MPI. However, the existing extensibility mechanism in MPI (generalized requests) is not widely utilized and has significant drawbacks. MPI can be generalized via scheduled communication primitives, for example, by utilizing implementation techniques from existing MPI-3 nonblocking collectives and from forthcoming MPI-4 persistent and partitioned APIs. Non-trivial schedules are used internally in some MPI libraries; but, they are not accessible to end-users. Message-based communication patterns can be built as libraries on top of MPI. Such libraries can have comparable implementation maturity and potentially higher performance than MPI…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Real-Time Systems Scheduling
