Abstract
There is increasing use of multithreading in High Performance Computing (HPC) programs in order to maximize the use of hardware resources of multi-core compute nodes. The latest version of the OpenSHMEM API Specification does not standardize the interaction between threads and OpenSHMEM routines in multithreaded applications. In this paper, we evaluate two proposals that have been put forward to try to address this deficiency: “Thread-Safe” and “Contexts-Domains”. Both of these proposals have been implemented, at least in part, in Cray SHMEM, a vendor-specific OpenSHMEM implementation from Cray Inc. We provide a design overview of the two proposals and give some experimental results showing significant performance benefits of each. To the best of our knowledge, this is the first paper to compare and contrast these two proposals.
D. Knaak and B. Cernohous—Contributed equally to this work.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Cray - Message Passing Toolkit. http://goo.gl/Cts1uh
Cray-developed Aries Interconnect. http://goo.gl/Xf74rG
Cray Global Arrays. http://goo.gl/sRKRu5
OpenSHMEM specification version-1.3. http://goo.gl/YK2JKD
OSU Micro-benchmarks. http://goo.gl/LgMc8e
Almasi, G.: Encyclopedia of Parallel Computing. Ed. by Padua, D.A. (2011)
Carlson, W.W., Draper, J.M., Culler, D.E.: S-246, 187 Introduction to UPC and Language Specification
Chapman, B., Curtis, T., Pophale, S., Poole, S., Kuehn, J., Koelbel, C., Smith, L.: Introducing OpenSHMEM: SHMEM for the PGAS community. In: Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model, PGAS 2010 (2010)
Dinan, J., Flajslik, M.: Contexts: a mechanism for high throughput communication in OpenSHMEM. In: Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models, PGAS 2014, pp. 10:1–10:9 (2014)
The MPI Forum. MPI: A Message Passing Interface (1993)
Knaak, D., Namashivayam, N.: Proposing OpenSHMEM extensions towards a future for hybrid programming and heterogeneous computing. In: Gorentla Venkata, M., Shamis, P., Imam, N., Lopez, M.G. (eds.) OpenSHMEM 2014. LNCS, vol. 9397, pp. 53–68. Springer, Heidelberg (2015). doi:10.1007/978-3-319-26428-8_4
Kumar, S., Mamidala, A.R., Faraj, D.A., Smith, B., Blocksome, M., Cernohous, B., Miller, D., Parker, J., Ratterman, J., Heidelberger, P., Chen, D., Steinmacher-Burrow, B.: PAMI: A Parallel Active Message Interface for the Blue Gene/Q Supercomputer. In: IEEE 26th International Parallel Distributed Processing Symposium (IPDPS) 2012, pp. 763–773 (2012)
Lewis, B., Berg, D.J.: Multithreaded Programming with Pthreads (1998)
Numrich, R.W., Reid, J.: Co-array fortran for parallel programming. SIGPLAN Fortran Forum 17(2) (1998)
OpenACC. OpenACC application program interface version 2.5, October 2015
OpenMP Architecture Review Board. OpenMP application program interface version 4.5, November 2015
ten Bruggencate, M., Roweth, D.: DMAPP: An API for One-Sided Programming Model on Baker Systems. Technical report, Cray Users Group (CUG), August 2010
ten Bruggencate, M., Roweth, D., Oyanagi, S.: Thread-safe SHMEM extensions. In: Poole, S., Hernandez, O., Shamis, P. (eds.) OpenSHMEM 2014. LNCS, vol. 8356, pp. 178–185. Springer, Heidelberg (2014). doi:10.1007/978-3-319-05215-1_13
Acknowledgments
The authors wish to acknowledge Cray Inc., employees who worked on design and implementation of thread-safe extensions to OpenSHMEM: Monika ten Bruggencate, Kim McMahon, and Steve Oyanagi. Special thanks to James Dinan (Intel) for all discussions on Context proposal. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of Cray Inc.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Namashivayam, N., Knaak, D., Cernohous, B., Radcliffe, N., Pagel, M. (2016). An Evaluation of Thread-Safe and Contexts-Domains Features in Cray SHMEM. In: Gorentla Venkata, M., Imam, N., Pophale, S., Mintz, T. (eds) OpenSHMEM and Related Technologies. Enhancing OpenSHMEM for Hybrid Environments. OpenSHMEM 2016. Lecture Notes in Computer Science(), vol 10007. Springer, Cham. https://doi.org/10.1007/978-3-319-50995-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-50995-2_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-50994-5
Online ISBN: 978-3-319-50995-2
eBook Packages: Computer ScienceComputer Science (R0)