Skip to main content

Thread-Local Storage Extension to Support Thread-Based MPI/OpenMP Applications

  • Conference paper
Book cover OpenMP in the Petascale Era (IWOMP 2011)

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

Included in the following conference series:

Abstract

With the advent of the multicore era, the architecture of supercomputers in HPC (High-Performance Computing) is evolving to integrate larger computational nodes with an increasing number of cores. This change contributes to evolve the parallel programming models currently used by scientific applications. Multiple approaches advocate for the use of thread-based programming models. One direction is the exploitation of the thread-based MPI programming model mixed with OpenMP leading to hybrid applications. But mixing parallel programming models involves a fine management of data placement and visibility. Indeed, every model includes extensions to privatize some variable declarations, i.e., to create a small amount of storage only accessible by one task or thread. This article proposes an extension to the Thread-Local Storage (TLS) mechanism to support data placement in the thread-based MPI model and the data visibility with nested hybrid MPI/OpenMP applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Message Passing Interface Forum: MPI: A Message Passing Interface Standard (March 1994)

    Google Scholar 

  2. Huang, C., Lawlor, O., Kalé, L.V.: Adaptive MPI. In: Proceedings of the 16th International Workshop on Languages and Compilers for Parallel Computing, LCPC (October 2004)

    Google Scholar 

  3. Pérache, M., Carribault, P., Jourdren, H.: MPC-MPI An MPI Implementation Reducing the Overall Memory Consumption. In: Proceedings of the 16th European PVM/MPI Users’ Group Meeting, EuroPVM/MPI (September 2009)

    Google Scholar 

  4. OpenMP Architectural Board: OpenMP Application Program Interface (version 3.0) (May 2008)

    Google Scholar 

  5. Martorell, X., Gonzàlez, M., Duran, A., Balart, J., Ferrer, R., Ayguadé, E., Labarta, J.: Techniques Supporting Threadprivate in OpenMP. In: Proceedings of the 20th International Parallel and Distributed Processing Symposium (IPDPS). IEEE, Los Alamitos (2006)

    Google Scholar 

  6. Dongarra, J., Beckman, P., et al.: The International Exascale Software Project Roadmap (2011)

    Google Scholar 

  7. Drepper, U.: ELF Handling for Thread-Local Storage (2005)

    Google Scholar 

  8. Negara, S., Zheng, G., Pan, K.-C., Negara, N., Johnson, R.E., Kale, L.V., Ricker, P.M.: Automatic MPI to AMPI Program Transformation using Photran. In: 3rd Workshop on Productivity and Performance (PROPER 2010), Ischia/Naples/Italy, vol. (10-14) (August 2010)

    Google Scholar 

  9. Photran: An Integrated Development Environment for Fortran, http://www.eclipse.org/photran

  10. Feautrier, P.: Array Expansion. In: Proceedings of the 2nd International Conference on Supercomputing, ICS 1988, pp. 429–441. ACM, New York (1988)

    Google Scholar 

  11. Pérache, M., Jourdren, H., Namyst, R.: MPC: A Unified Parallel Runtime for Clusters of NUMA Machines. In: Proceedings of the 14th International Euro-Par Conference (August 2008)

    Google Scholar 

  12. Carribault, P., Pérache, M., Jourdren, H.: Enabling low-overhead hybrid mPI/OpenMP parallelism with MPC. In: Sato, M., Hanawa, T., Müller, M.S., Chapman, B.M., de Supinski, B.R. (eds.) IWOMP 2010. LNCS, vol. 6132, pp. 1–14. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  13. IMB: Intel MPI Benchmarks, http://software.intel.com/en-us/articles/intel-mpi-benchmarks/

  14. Jin, H., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and Its Performance. Technical Report: NAS-99-011

    Google Scholar 

  15. Bull, J.M., O’Neill, D.: A Microbenchmark Suite for OpenMP 2.0. SIGARCH Comput. Archit. News 29(5), 41–48 (2001)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Carribault, P., Pérache, M., Jourdren, H. (2011). Thread-Local Storage Extension to Support Thread-Based MPI/OpenMP Applications. In: Chapman, B.M., Gropp, W.D., Kumaran, K., Müller, M.S. (eds) OpenMP in the Petascale Era. IWOMP 2011. Lecture Notes in Computer Science, vol 6665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21487-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21487-5_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21486-8

  • Online ISBN: 978-3-642-21487-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics