Abstract
MPI communicators abstract communication operations across application modules, facilitating seamless composition of different libraries. In addition, communicators provide the ability to form groups of processes and establish multiple levels of parallelism. Traditionally, communicators have been collectively created in the context of the parent communicator. The recent thrust toward systems at petascale and beyond has brought forth new application use cases, including fault tolerance and load balancing, that highlight the ability to construct an MPI communicator in the context of its new process group as a key capability. However, it has long been believed that MPI is not capable of allowing the user to form a new communicator in this way. We present a new algorithm that allows the user to create such flexible process groups using only the functionality given in the current MPI standard. We explore performance implications of this technique and demonstrate its utility for load balancing in the context of a Markov chain Monte Carlo computation. In comparison with a traditional collective approach, noncollective communicator creation enables a 30% improvement in execution time through asynchronous load balancing.
This work was supported through a resource grant from the Argonne Leadership Computing Facility (ALCF) and by the U.S. Department of Energy under contracts DE-AC02-06CH11357, DE-AC05-00OR22725, and DE-ACO6-76RL01830.
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
MPICH2 Project Website (June 2011), http://www.mcs.anl.gov/research/projects/mpich2/
Dickson, A., Maienschein-Cline, M., Tovo-Dwyer, A., Hammond, J.R., Dinner, A.R.: Flow-dependent unfolding and refolding of an RNA by nonequilibrium umbrella sampling. ArXiv e-prints (1104.5180), cond–mat.stat–mech (April 2011)
Graham, R.L., Keller, R.: Dynamic communicators in MPI. In: Ropo, M., Westerholm, J., Dongarra, J. (eds.) PVM/MPI. LNCS, vol. 5759, pp. 116–123. Springer, Heidelberg (2009)
Gropp, W.D., Lusk, E.: Fault tolerance in MPI programs. International Journal of High Performance Computer Applications 18(3), 363–372 (2004)
Kamiya, M., Hirata, S., Valiev, M.: Fast electron correlation methods for molecular clusters without basis set superposition errors. The Journal of Chemical Physics 128(7), 74103 (2008)
MPI Forum: MPI: A Message-Passing Interface Standard. Version 2.2 (September 4, 2009)
Nieplocha, J., Carpenter, B.: ARMCI: A portable remote memory copy library for distributed array libraries and compiler run-time systems. In: Rolim, J.D.P. (ed.) IPPS-WS 1999 and SPDP-WS 1999. LNCS, vol. 1586, pp. 533–546. Springer, Heidelberg (1999), doi:10.1007/BFb0097937
Nieplocha, J., Krishamoorthy, S., Valiev, M., Krishnan, M., Palmer, B., Sadayappan, P.: Integrated data and task management for scientific applications. In: Bubak, M., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2008, Part I. LNCS, vol. 5101, pp. 20–31. Springer, Heidelberg (2008)
Nieplocha, J., Palmer, B., Tipparaju, V., Krishnan, M., Trease, H., Aprà , E.: Advances, applications and performance of the global arrays shared memory programming toolkit. Int. J. High Perform. Comput. Appl. 20(2), 203–231 (2006)
Schenter, G.K., Kathmann, S.M., Garrett, B.C.: Dynamical nucleation theory: A new molecular approach to vapor-liquid nucleation. Physical Review Letters 82(17), 3484 (1999)
Windus, T.L., Kathmann, S.M., Crosby, L.D.: High performance computations using dynamical nucleation theory. Journal of Physics: Conference Series 125(1), 12017 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dinan, J. et al. (2011). Noncollective Communicator Creation in MPI. In: Cotronis, Y., Danalis, A., Nikolopoulos, D.S., Dongarra, J. (eds) Recent Advances in the Message Passing Interface. EuroMPI 2011. Lecture Notes in Computer Science, vol 6960. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24449-0_32
Download citation
DOI: https://doi.org/10.1007/978-3-642-24449-0_32
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24448-3
Online ISBN: 978-3-642-24449-0
eBook Packages: Computer ScienceComputer Science (R0)