The Scalable Process Topology Interface of MPI 2.2
|Title||The Scalable Process Topology Interface of MPI 2.2|
|Publication Type||Journal Article|
|Year of Publication||2010|
|Authors||Hoefler, T, Rabenseifner, R, Ritzdorf, H, de Supinski, BR, Thakur, R, Traff, JL|
|Journal||Concurrency and Computation: Practice and Experience|
The Message-Passing Interface (MPI) standard provides basic means for adaptations of the mapping of MPI process ranks to processing elements to better match the communication characteristics of applications to the capabilities of the underlying systems. The MPI process topology mechanism enables theMPI implementation to rerank processes by creating a new communicator that reflects user-supplied information about the application communication pattern. With the newly released MPI 2.2 version of the MPI standard, the process topology mechanism has been enhanced with new interfaces for scalable and informative user-specification of communication patterns. Applications with relatively static communication patterns are encouraged to take advantage of the mechanism whenever convenient by specifying their communication pattern to the MPI library. Reference implementations of the new mechanism can be expected to be readily available (and come at essentially no cost), but nontrivial implementations pose challenging problems for the MPI implementer. This paper is first and foremost addressed to application programmers wanting to use the new process topology interfaces. It explains the use and the motivation for the enhanced interfaces and the advantages gained even with a straightforward implementation. For the MPI implementer, the paper summarizes main issues in the efficient implementation of the interface and explains the optimization problems that need to be (approximately) solved by a good MPI library.