PMI: A Scalable Parallel Process-Management Interface for Extreme-Scale Systems

TitlePMI: A Scalable Parallel Process-Management Interface for Extreme-Scale Systems
Publication TypeConference Paper
Year of Publication2009
AuthorsBalaji, P, Buntinas, D, Goodell, D, Gropp, WD, Krishna, J, Lusk, EL, Thakur, R
Conference Name17th EuroMPI Conference, Lecture Notes in Computer Science, Springer
Date Published11/2009
Conference LocationStuttgart, Germany, 2010

Parallel programming models on large-scale systems require a scalable system for managing the processes that make up the execution of a parallel program. The process-management system must be able to launch millions of processes quickly when starting a parallel program and must provide mechanisms for the processes to exchange the information needed to enable them communicate with each other. MPICH2
and its derivatives achieve this functionality through a carefully defined interface, called PMI, that allows different process managers to interact with the MPI library in a standardized way. In this paper, we describe the features and capabilities of PMI. We describe both PMI-1, the current generation of PMI used in MPICH2 and all its derivatives, as well as PMI-2, the second-generation of PMI that eliminates various shortcomings in PMI-1. Together with the interface itself, we also describe a reference implementation for both PMI-1 and PMI-2 in a new process management framework within MPICH2, called Hydra, and compare their performance in running MPI jobs with thousands of processes.