Skip to main content

A Case for Including Transactions in OpenMP II: Hardware Transactional Memory

  • Conference paper
Book cover OpenMP in a Heterogeneous World (IWOMP 2012)

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

Included in the following conference series:

Abstract

We present recent results using Hardware Transactional Memory (HTM) on IBM’s Blue Gene/Q system. By showing how this latest TM system can significantly reduce the complexity of shared memory programming while retaining efficiency, we continue to make our case that the OpenMP language specification should include transactional language constructs. Furthermore, we argue for its support as an advanced abstraction to support mutable shared state, thus expanding OpenMP synchronization capabilities. Our results demonstrate how TM can be used to simplify modular parallel programming in OpenMP while maintaining parallel performance. We show performance advantages in the BUSTM (Benchmark for UnStructured-mesh Transactional Memory) model using the transactional memory hardware implementation on Blue Gene/Q.

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. Bihari, B.L.: Applicability of Transactional Memory to Modern Codes. In: International Conference on Numerical Analysis and Applied Mathematics 2010 (ICNAAM 2010) Conference Proceedings, pp. 1764–1767. APS, Rodos (2010)

    Google Scholar 

  2. Bihari, B.: Transactional Memory for Unstructured Mesh Simulations. Journal of Scientific Computing (to appear, 2012)

    Google Scholar 

  3. Cascaval, C., Blundell, M.C., Michael, H.W., Wu Cain, P., Chiras, S., Chatterjee, S.: Software Transactional Memory: Why is it Only a Research Toy? ACM Queue 6(5), 46–58 (2008)

    Article  Google Scholar 

  4. Dice, D., Shalev, O., Shavit, N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  5. Haring, R., 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 

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

  7. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers (February 2008)

    Google Scholar 

  8. IBM. IBM XL C/C++ for Transactional Memory for AIX, V0.9 Language Extensions and Users Guide (May 2008), http://dl.alphaworks.ibm.com/technologies/xlcstm/xlcstm-whitepaper.pdf

  9. Intel. Intel C++ STM Compiler, Prototype Edition 2.0 (2008), http://softwarecommunity.intel.com/articles/eng/1460.htm/

  10. Michael, M.M., Scott, M.L.: Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, PODC 1996, pp. 267–275. ACM, New York (1996)

    Chapter  Google Scholar 

  11. Milovanović, M., Ferrer, R., Unsal, O.S., Cristal, A., Martorell, X., Ayguadé, E., Labarta, J., Valero, M.: Transactional Memory and OpenMP. In: Chapman, B., Zheng, W., Gao, G.R., Sato, M., Ayguadé, E., Wang, D. (eds.) IWOMP 2007. LNCS, vol. 4935, pp. 37–53. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

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

    Google Scholar 

  13. Rajwar, R., Goodman, J.R.: Speculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution. In: Proceedings of the 34th Annual ACM/IEEE International Symposium on Microarchitecture, MICRO 34, pp. 294–305. IEEE Computer Society, Washington, DC (2001)

    Chapter  Google Scholar 

  14. Schindewolf, M., Schulz, M., Gyllenhaal, J., Bihari, B., Wang, A., Karl, W.: What Scientific Applications Can Benefit from Hardware Transacional Memory? In: International Conference for High Performance Computing, Networking, Storage and Analysis (SC 2012), Salt Lake City, Utah (November 2012) (currently under review)

    Google Scholar 

  15. 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 (submitted, 2012)

    Google Scholar 

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

  17. Woongki, B., Minh, C.C., Trautmann, M., Kozyrakis, C., Olukotun, K.: The OpenTM Transactional Application Programming Interface. In: PACT 2007: Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques, pp. 376–587. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  18. Zyulkyarov, F., Gajinov, V., Unsal, O.S., Cristal, A., Ayguadé, E., Harris, T., Valero, M.: Atomic Quake: Using Transactional Memory in an Interactive Multiplayer Game Server. In: Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2009, pp. 25–34. ACM, New York (2009)

    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

Bihari, B.L., Wong, M., Wang, A., de Supinski, B.R., Chen, W. (2012). A Case for Including Transactions in OpenMP II: Hardware Transactional Memory. 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_4

Download citation

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

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

Publish with us

Policies and ethics