Skip to main content

On the Algorithmic Aspects of Using OpenMP Synchronization Mechanisms: The Effects of Transactional Memory

  • Conference paper
Using and Improving OpenMP for Devices, Tasks, and More (IWOMP 2014)

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

Included in the following conference series:

Abstract

In this paper we analyze the effects of using different OpenMP synchronization mechanisms in iterative mesh optimization algorithms run on the IBM Blue Gene/Q system. We perform a systematic study of a threaded Laplacian mesh smoothing method on Cartesian meshes of different sizes that have been initially perturbed by a factor that is random, but within a controlled range. We consider three different run modes, two of which are OpenMP synchronization mechanisms: (hardware) transactional memory (TM), OpenMP critical, and “none”. We find that TM typically outperforms the other two modes in terms of its convergence characteristics. Because of the algorithmic simplicity and light operation count, the raw runtime performance was not our focus in this work; however, we present some results on TM scaling. We also show the TM rollback and conflict probabilities, and conclude that mesh optimization codes are good candidates for using TM when the more general “time-to-convergence” criterion is considered.

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. Gartner Hype Cycle (May 2014), http://www.gartner.com/technology/research/methodologies/hype-cycle.jsp

  2. Bihari, B.L.: Applicability of transactional memory to modern codes. In: Conference Proceedings of International Conference on Numerical Analysis and Applied Mathematics (ICNAAM 2010), Rodos, Greece, pp. 1764–1767. APS (2010)

    Google Scholar 

  3. Bihari, B.L.: Transactional Memory for Unstructured Mesh Simulations. J. Sci. Comput. 54, 311–332 (2012)

    Article  MathSciNet  Google Scholar 

  4. Bihari, B.L., Wong, M., Wang, A., de Supinski, B.R., Chen, W.: A Case for Including Transactions in OpenMP II: Hardware Transactional Memory. In: Chapman, B.M., Massaioli, F., Müller, M.S., Rorro, M. (eds.) IWOMP 2012. LNCS, vol. 7312, pp. 44–58. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  5. GNU. TM in GCC (May 2014), https://gcc.gnu.org/wiki/TransactionalMemory

  6. IBM Compiler Group. IBM XL C/C++ for Blue Gene/Q, V12.1 Compiler Reference (2012)

    Google Scholar 

  7. TM Specification Drafting Group (May 2014), https://sites.google.com/site/tmforcplusplus/ , https://sites.google.com/site/tmforcplusplus/

  8. Ruud Haring and the IBM BlueGene Team. The IBM Blue Gene/Q Compute Chip. In: Hot Chips 24: A Symposium on High Performance Chips, Palo Alto, CA (2011)

    Google Scholar 

  9. Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. SIGARCH Comput. Archit. News 51(2), 289–300 (1993)

    Article  Google Scholar 

  10. Intel. Intel C++ STM Compiler, Prototype Edition (May 2014), https://software.intel.com/en-us/articles/intel-c-stm-compiler-prototype-edition

  11. Knupp, P.: Hexahedral and Tetrahedral Mesh Shape Optimization. Intl. J. Numer. Meth. Engr. 58, 319–332 (2003)

    Article  MATH  Google Scholar 

  12. Knupp, P.: Introducing the Target-matrix Paradigm for Mesh Optimization via Node-Movement. In: Proceedings of the 19th International Meshing Roundtable, pp. 67–83. Springer (2010)

    Google Scholar 

  13. Larus, J.R., Kozyrakis, C.: Transactional memory: Is TM the answer for improving parallel programming? Communications of the ACM 51(7), 80–88 (2008)

    Article  Google Scholar 

  14. Haskell Community Page. Software Transactional Memory (May 2014), http://www.haskell.org/haskellwiki/Software_transactional_memory

  15. Schindewolf, M., Gyllenhaal, J., Bihari, B.L., Wang, A., Schulz, M., Karl, W.: What Scientific Applications Can Benefit from Hardware Transacional Memory? In: Int. Conf. for High Perf. Computing, Networking, Storage and Analysis, SC 2012 (2012)

    Google Scholar 

  16. Wang, A., Gaudet, M., Wu, P., Ohmacht, M., Amaral, J.N., Barton, C., Silvera, R., MIchael, M.: Evaluation of Blue Gene/Q Hardware Support for Transactional Memories. In: PACT (2012)

    Google Scholar 

  17. Wong, M.: IBM XL C/C++ for Transactional Memory for AIX. 2008 (August 2009), http://www-949.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore/2009/08/11/ibms-alphaworks-software-transactional-memory-compiler

  18. Wong, M.: C++14: The New Standard, Through the Looking Glass: The View from the Feb 2014 C++ Standard meeting (May 2014), http://tinyurl.com/mzs22qw

  19. Wong, M., Ayguade, E., Gottschlich, J., Luchangco, V., de Supinski, B.R., Bihari, B.L.: Towards Transactional Memory for OpenMP. In: IWOMP 2014 Conference Proceedings, Salvador, Brazil (to appear June 2014)

    Google Scholar 

  20. Wong, M., Bihari, B.L., de Supinski, B.R., Wu, P., Michael, M., Liu, Y., Chen, W.: A case for including transactions in OpenMP. In: Sato, M., Hanawa, T., Müller, M.S., Chapman, B.M., de Supinski, B.R. (eds.) IWOMP 2010. LNCS, vol. 6132, pp. 149–160. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  21. Yoo, R., Hughes, C., Lai, K., Rajwar, R.: Performance Evaluation of Intel Transactional Synhcornization Extensions for High-Performance Computing. In: Int. Conf. for High Perf. Computing, Networking, Storage and Analysis, SC 2013 (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Bihari, B.L., Wong, M., de Supinski, B.R., Diachin, L. (2014). On the Algorithmic Aspects of Using OpenMP Synchronization Mechanisms: The Effects of Transactional Memory. In: DeRose, L., de Supinski, B.R., Olivier, S.L., Chapman, B.M., Müller, M.S. (eds) Using and Improving OpenMP for Devices, Tasks, and More. IWOMP 2014. Lecture Notes in Computer Science, vol 8766. Springer, Cham. https://doi.org/10.1007/978-3-319-11454-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11454-5_9

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11453-8

  • Online ISBN: 978-3-319-11454-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics