Presentation
Modes, Persistence and Orthogonality: Blowing MPI Up
DescriptionThe MPI specification provides a restricted form of persistence in point-to-point and collective communication operations that purportedly enables libraries to amortize precomputation and setup costs over longer sequences of identical communication operations. Because of the way that MPI has chosen to represent semantics and modes of communication, further additions and modifications to the MPI specification often came and come at the cost of a (combinatorial) blow-up in the number of interface functions.
We discuss how to exploit orthogonality and separation of concerns more thoroughly to prevent the proliferation of concrete interface functions while still providing essentially the same persistence as current MPI and without any additional burden on library implementers. We introduce new variants of persistence, which we call pairwise and relaxed persistence. Our concrete proposals contribute to the discussion about why MPI is so huge and what could or should be done about that.
We discuss how to exploit orthogonality and separation of concerns more thoroughly to prevent the proliferation of concrete interface functions while still providing essentially the same persistence as current MPI and without any additional burden on library implementers. We introduce new variants of persistence, which we call pairwise and relaxed persistence. Our concrete proposals contribute to the discussion about why MPI is so huge and what could or should be done about that.