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.
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
Message Passing Interface Forum: MPI: A Message Passing Interface Standard (March 1994)
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)
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)
OpenMP Architectural Board: OpenMP Application Program Interface (version 3.0) (May 2008)
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)
Dongarra, J., Beckman, P., et al.: The International Exascale Software Project Roadmap (2011)
Drepper, U.: ELF Handling for Thread-Local Storage (2005)
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)
Photran: An Integrated Development Environment for Fortran, http://www.eclipse.org/photran
Feautrier, P.: Array Expansion. In: Proceedings of the 2nd International Conference on Supercomputing, ICS 1988, pp. 429–441. ACM, New York (1988)
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)
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)
IMB: Intel MPI Benchmarks, http://software.intel.com/en-us/articles/intel-mpi-benchmarks/
Jin, H., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and Its Performance. Technical Report: NAS-99-011
Bull, J.M., O’Neill, D.: A Microbenchmark Suite for OpenMP 2.0. SIGARCH Comput. Archit. News 29(5), 41–48 (2001)
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
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)