Skip to content

Remove persistent communication from MPI alltogether #976

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
softwaretraff opened this issue Mar 7, 2025 · 0 comments
Open

Remove persistent communication from MPI alltogether #976

softwaretraff opened this issue Mar 7, 2025 · 0 comments

Comments

@softwaretraff
Copy link

Problem

The MPI standard has awkwardly defined, incomplete, and very restrictive persistent point-to-point communication, later extended to also persistent collective communication. All with a considerable overhead in number of interface functions and some implementation overhead.

These features are arguably not used in any essential way in applications, and the demonstrated and published performance benefits have been limited. Forms of persistence can be implemented without explicit support from the standard, perhaps with some hints/assertions on communicators, that is, persistence can largely be considered an implementation issue with no (little) need for standardization support. The proposal is to completely remove persistence from the MPI standard.

For backup and different arguments, see the paper

Jesper Larsson Träff, Ioannis Vardas, Sascha Hunold:
Modes, Persistence and Orthogonality: Blowing MPI Up. [SC Workshops 2024]: 404-413

that argues that at least the persistent function specifications can safely be removed.

Proposal

Remove the current form of persistence from the MPI standard.

Changes to the Text

All text on persistence has to be removed

Impact on Implementations

A large number of current interfaces will not have to be supported. Internal savings might be worthwhile

Impact on Users

Only on those few that do use persistence.

References and Pull Requests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant