Skip to main content

Efficient Multithreaded Context ID Allocation in MPI

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7490)

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.

Keywords

  • Message Passing Interface
  • Parent Communicator
  • Collective Operation
  • Prioritization Scheme
  • Deadlock Prevention

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

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.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (Canada)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. MPICH2 Project Website, http://www.mcs.anl.gov/research/projects/mpich2/

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    CrossRef  Google Scholar 

  5. Gropp, W., Thakur, R.: Thread-safety in an MPI implementation: Requirements and analysis. Parallel Computing 33(9), 595–604 (2007)

    CrossRef  Google Scholar 

  6. 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)

    CrossRef  Google Scholar 

  7. MPI Forum: MPI: A Message-Passing Interface Standard. Version 2.2 (September 4, 2009)

    Google Scholar 

  8. 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)

    CrossRef  MATH  Google Scholar 

  9. Tang, H., Yang, T.: Optimizing threaded MPI execution on SMP clusters. In: Proc. 15th ACM International Conference on Supercomputing, pp. 381–392 (June 2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)