Self-consistent MPI Performance Requirements

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.

[1]  Joachim Worringen Automated Performance Comparison , 2006, PVM/MPI.

[2]  Allen D. Malony,et al.  Computational Quality of Service for Scientific CCA Applications: Composition, Substitution, and Reconfiguration , 2006 .

[3]  Jesper Larsson Träff,et al.  SKaMPI: a comprehensive benchmark for public benchmarking of MPI , 2002, Sci. Program..

[4]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[5]  Jack Dongarra,et al.  MPI - The Complete Reference: Volume 1, The MPI Core , 1998 .

[6]  Jack Dongarra,et al.  Recent Advances in Parallel Virtual Machine and Message Passing Interface, 13th European PVM/MPI User's Group Meeting, Bonn, Germany, September 17-20, 2006, Proceedings , 2006, PVM/MPI.

[7]  Boyana Norris,et al.  Computational Quality of Service in Parallel CFD , 2006 .

[8]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[9]  Ralf H. Reussner,et al.  SKaMPI: A Detailed, Accurate MPI Benchmark , 1998, PVM/MPI.

[10]  Robert A. van de Geijn,et al.  Building a high-performance collective communication library , 1994, Proceedings of Supercomputing '94.

[11]  William Gropp,et al.  Mpi - The Complete Reference: Volume 2, the Mpi Extensions , 1998 .

[12]  Ramesh Subramonian,et al.  LogP: a practical model of parallel computation , 1996, CACM.

[13]  Jesper Larsson Träff,et al.  Efficient Allgather for Regular SMP-Clusters , 2006, PVM/MPI.

[14]  Werner Augustin,et al.  Usefulness and Usage of SKaMPI-Bench , 2003, PVM/MPI.

[15]  Joachim Worringen Experiment Management and Analysis with perfbase , 2005, 2005 IEEE International Conference on Cluster Computing.

[16]  Jack Dongarra,et al.  Recent Advances in Parallel Virtual Machine and Message Passing Interface, 15th European PVM/MPI Users' Group Meeting, Dublin, Ireland, September 7-10, 2008. Proceedings , 2008, PVM/MPI.

[17]  Marc Snir,et al.  The MPI core , 1998 .

[18]  Rajeev Thakur,et al.  Improving the Performance of Collective Operations in MPICH , 2003, PVM/MPI.

[19]  Rajeev Thakur,et al.  Optimization of Collective Communication Operations in MPICH , 2005, Int. J. High Perform. Comput. Appl..