Self-Consistent MPI Performance Requirements

Jesper Larsson Traff
Seminar

The MPI Standard does not make any performance guarantees, but users
expect (and like) MPI implementations to deliver good performance. A
common-sense expectation of performance is that an MPI function
should perform no worse than a combination of other MPI functions that
can implement the same functionality. In this paper, we formulate some
performance requirements and conditions that good MPI implementations
can be expected to fulfill by relating aspects of the MPI standard to
each other. Such a performance formulation could be used by benchmarks
and tools, such as SKaMPI and Perfbase, to automatically verify
whether a given MPI implementation fulfills basic performance
requirements. We present examples where some of these requirements are
not satisfied, demonstrating that there remains room for improvement in
MPI implementations.