Abstract
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.
This work was supported in part by the Office of Advanced Scientific Computing Research, Office of Science, U.S. Department of Energy, under Contract #DE-AC02-06CH11357; by the DOE grant #DE-FG02-08ER25835; and by the National Science Foundation under grant #0702182.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Argonne National Laboratory: MPICH2, http://www.mcs.anl.gov/research/projects/mpich2
Castain, R., Woodall, T., Daniel, D., Squyres, J., Barrett, B., Fagg, G.: The Open Run-Time Environment (OpenRTE): A transparent multi-cluster environment for high-performance computing. In: Di Martino, B., Kranzlmüller, D., Dongarra, J. (eds.) EuroPVM/MPI 2005. LNCS, vol. 3666, pp. 225–232. Springer, Heidelberg (2005)
Gara, A., Blumrich, M., Chen, D., Chiu, G., Coteus, P., Giampapa, M., Haring, R., Heidelberger, P., Hoenicke, D., Kopcsay, G., Liebsch, T., Ohmacht, M., SteinmacherBurow, B., Takken, T., Vranas, P.: Overview of the Blue Gene/L system architecture. IBM Journal of Research and Development 49(2/3) (2005)
Huang, W., Santhanaraman, G., Jin, H., Gao, Q., Panda, D.: Design of high performance MVAPICH2: MPI2 over InfiniBand. In: Proceedings of the sixth IEEE International Symposium on Cluster Computing and the Grid, Singapore Management University, Singapore, May 16–19 (2006)
Hydra process management framework, http://wiki.mcs.anl.gov/mpich2/index.php/Hydra_Process_Management_Framework
Intel MPI, http://software.intel.com/en-us/intel-mpi-library/
Microsoft MPI: http://msdn.microsoft.com/en-us/library/bb524831VS.85.aspx
PBS: Portable batch system , http://www.openpbs.org
OSC Mpiexec, http://www.osc.edu/~djohnson/mpiexec
PMI-2 API , http://wiki.mcs.anl.gov/mpich2/index.php/PMI_v2_API
PMI-2 Wire Protocol , http://wiki.mcs.anl.gov/mpich2/index.php/PMI_v2_Wire_Protocol
SiCortex Inc., http://www.sicortex.com
Sridhar, J., Koop, M., Perkins, J., Panda, D.K.: ScELA: Scalable and Extensible Launching Architecture for Clusters. In: Sadayappan, P., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2008. LNCS, vol. 5374, pp. 323–335. Springer, Heidelberg (2008)
Sun Grid Engine , http://www.sun.com/software/sge/
Yoo, A.B., Jette, M.A., Grondona, M.: SLURM: Simple Linux utility for resource management. In: Feitelson, D.G., Rudolph, L., Schwiegelshohn, U. (eds.) JSSPP 2003. LNCS, vol. 2862, pp. 44–60. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Balaji, P. et al. (2010). PMI: A Scalable Parallel Process-Management Interface for Extreme-Scale Systems. In: Keller, R., Gabriel, E., Resch, M., Dongarra, J. (eds) Recent Advances in the Message Passing Interface. EuroMPI 2010. Lecture Notes in Computer Science, vol 6305. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15646-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-15646-5_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15645-8
Online ISBN: 978-3-642-15646-5
eBook Packages: Computer ScienceComputer Science (R0)