Skip to main content

The Design of OpenMP Thread Affinity

  • Conference paper

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

Abstract

Exascale machines will employ significantly more threads than today, but even on current architectures controlling thread affinity is crucial to fuel all the cores and to maintain data affinity, but both MPI and OpenMP lack a solution to this problem. In this work, we present a thread affinity model for OpenMP, which will be shown to work well with hybrid use cases, too. It maintains a separation of platform-specific data and algorithm-specific properties, thus offering deterministic behavior and simplicity in use.

Keywords

  • Execution Environment
  • Parallel Region
  • Work Thread
  • Parallel Construct
  • Master Thread

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 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. OpenMP Pragma and Region Instrumentor (OPARI)

    Google Scholar 

  2. Broquedis, F., Clet-Ortega, J., Moreaud, S., Furmento, N., Goglin, B., Mercier, G., Thibault, S., Namyst, R.: hwloc: A generic framework for managing hardware affinities in hpc applications. In: 2010 18th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 180–186 (February 2010)

    Google Scholar 

  3. Terboven, C., an Mey, D., Schmidl, D., Jin, H., Wagner, M.: Data and Thread Affinity in OpenMP Programs. In: Proceedings of the 2008 Workshop on Memory Access on Future Processors: a Solved Problem?, MAW 2008, pp. 377–384. ACM International Conference on Computing Frontiers (2008)

    Google Scholar 

  4. Schmidl, D., Terboven, C., an Mey, D., Bücker, M.: Binding Nested OpenMP Programs on Hierarchical Memory Architectures. In: Sato, M., Hanawa, T., Müller, M.S., Chapman, B.M., de Supinski, B.R. (eds.) IWOMP 2010. LNCS, vol. 6132, pp. 29–42. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  5. GNU. GNU libgomp (2012)

    Google Scholar 

  6. IBM. IBM C/C++ Version 11.1 and FORTRAN Version 13.1 (2009)

    Google Scholar 

  7. Intel. Intel C++ Compiler XE 12.0 User and Reference Guide (2010)

    Google Scholar 

  8. OpenMP ARB. OpenMP Application Program Interface, v. 3.1 (July 2011)

    Google Scholar 

  9. Oracle Solaris Studio 12.2: OpenMP API User’s Guide. Oracle (2012)

    Google Scholar 

  10. Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI-The Complete Reference, 2nd (revised) edn. The MPI Core, vol. 1. MIT Press, Cambridge (1998)

    Google Scholar 

  11. The Portland Group. PGI Compiler User’s Guide (2011)

    Google Scholar 

  12. Huang, L., Jin, H., Yi, L., Chapman, B.: Enabling locality-aware computations in OpenMP. Sci. Program. 18(3-4), 169–181 (2010)

    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

Eichenberger, A.E., Terboven, C., Wong, M., an Mey, D. (2012). The Design of OpenMP Thread Affinity. In: Chapman, B.M., Massaioli, F., Müller, M.S., Rorro, M. (eds) OpenMP in a Heterogeneous World. IWOMP 2012. Lecture Notes in Computer Science, vol 7312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30961-8_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30961-8_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30960-1

  • Online ISBN: 978-3-642-30961-8

  • eBook Packages: Computer ScienceComputer Science (R0)