Abstract
An important aspect of support for multithreaded MPI executions is the management of communication context identifiers (IDs), which are used to associate MPI communication operations with a communicator. New communicator creation functionality in MPIĀ 3.0 adds complexity to this core resource management problem. We present an efficient algorithm for multithreaded context ID allocation that builds on an existing production algorithm developed to support MPI 2.2. Through this work, we have discovered a subtle concurrency bug in the existing algorithm that can result in deadlock. We correct this bug and develop methods to overcome the performance impact of deadlock prevention. We evaluate the performance of the new algorithm and prove that it is free from deadlock.
This work was supported in part by the U.S. Department of Energy under contract DE-AC02-06CH11357 and the Advanced Scientific Computing Research program, Office of Science, U.S. Department of Energy award DE-FG02-08ER25835.
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, http://www.mcs.anl.gov/research/projects/mpich2/
Arafat, M.H., Dinan, J., Krishnamoorthy, S., Windus, T., Sadayappan, P.: Load balancing of dynamical nucleation theory Monte Carlo simulations through resource sharing barriers. In: Proc. 26th Intl. Par. and Distrib. Processing Symp. (May 2012)
Dinan, J., Krishnamoorthy, S., Balaji, P., Hammond, J.R., Krishnan, M., Tipparaju, V., Vishnu, A.: Noncollective communicator creation in MPI. In: Recent Adv. in the Message Passing Interface - 18th European MPI Usersā Group Mtg. (2011)
Gabriel, E., Fagg, G.E., Bosilca, G., Angskun, T., Dongarra, J., Squyres, J.M., Sahay, V., Kambadur, P., Barrett, B., Lumsdaine, A., Castain, R.H., Daniel, D.J., Graham, R.L., Woodall, T.S.: Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation. In: KranzlmĆ¼ller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol.Ā 3241, pp. 97ā104. Springer, Heidelberg (2004)
Gropp, W., Thakur, R.: Thread-safety in an MPI implementation: Requirements and analysis. Parallel ComputingĀ 33(9), 595ā604 (2007)
Kamal, H., Mirtaheri, S.M., Wagner, A.: Scalability of communicators and groups in MPI. In: Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing, pp. 264ā275. ACM, New York (2010)
MPI Forum: MPI: A Message-Passing Interface Standard. Version 2.2 (September 4, 2009)
Protopopov, B.V., Skjellum, A.: A multithreaded message passing interface (MPI) architecture: Performance and program issues. Journal of Parallel and Distributed ComputingĀ 61(4), 449ā466 (2001)
Tang, H., Yang, T.: Optimizing threaded MPI execution on SMP clusters. In: Proc. 15th ACM International Conference on Supercomputing, pp. 381ā392 (June 2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
Ā© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dinan, J., Goodell, D., Gropp, W., Thakur, R., Balaji, P. (2012). Efficient Multithreaded Context ID Allocation in MPI. In: TrƤff, J.L., Benkner, S., Dongarra, J.J. (eds) Recent Advances in the Message Passing Interface. EuroMPI 2012. Lecture Notes in Computer Science, vol 7490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33518-1_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-33518-1_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33517-4
Online ISBN: 978-3-642-33518-1
eBook Packages: Computer ScienceComputer Science (R0)