Skip to main content

An Evaluation of Thread-Safe and Contexts-Domains Features in Cray SHMEM

  • Conference paper
  • First Online:

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

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

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 EPUB and 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

Learn about institutional subscriptions

References

  1. Cray - Message Passing Toolkit. http://goo.gl/Cts1uh

  2. Cray-developed Aries Interconnect. http://goo.gl/Xf74rG

  3. Cray Global Arrays. http://goo.gl/sRKRu5

  4. OpenSHMEM specification version-1.3. http://goo.gl/YK2JKD

  5. OSU Micro-benchmarks. http://goo.gl/LgMc8e

  6. Almasi, G.: Encyclopedia of Parallel Computing. Ed. by Padua, D.A. (2011)

    Google Scholar 

  7. Carlson, W.W., Draper, J.M., Culler, D.E.: S-246, 187 Introduction to UPC and Language Specification

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  10. The MPI Forum. MPI: A Message Passing Interface (1993)

    Google Scholar 

  11. 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

    Chapter  Google Scholar 

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

    Google Scholar 

  13. Lewis, B., Berg, D.J.: Multithreaded Programming with Pthreads (1998)

    Google Scholar 

  14. Numrich, R.W., Reid, J.: Co-array fortran for parallel programming. SIGPLAN Fortran Forum 17(2) (1998)

    Google Scholar 

  15. OpenACC. OpenACC application program interface version 2.5, October 2015

    Google Scholar 

  16. OpenMP Architecture Review Board. OpenMP application program interface version 4.5, November 2015

    Google Scholar 

  17. ten Bruggencate, M., Roweth, D.: DMAPP: An API for One-Sided Programming Model on Baker Systems. Technical report, Cray Users Group (CUG), August 2010

    Google Scholar 

  18. 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

    Chapter  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Naveen Namashivayam .

Editor information

Editors and Affiliations

Rights and permissions

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

Publish with us

Policies and ethics