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

  • Barna L. Bihari
  • Michael Wong
  • Amy Wang
  • Bronis R. de Supinski
  • Wang Chen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7312)


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.


Critical Section Mutual Exclusion Unstructured Mesh Tetrahedral Mesh Transactional Memory 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    Bihari, B.: Transactional Memory for Unstructured Mesh Simulations. Journal of Scientific Computing (to appear, 2012)Google Scholar
  3. 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)CrossRefGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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. 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)CrossRefGoogle Scholar
  7. 7.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers (February 2008)Google Scholar
  8. 8.
    IBM. IBM XL C/C++ for Transactional Memory for AIX, V0.9 Language Extensions and Users Guide (May 2008),
  9. 9.
    Intel. Intel C++ STM Compiler, Prototype Edition 2.0 (2008),
  10. 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)CrossRefGoogle Scholar
  11. 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)CrossRefGoogle Scholar
  12. 12.
    OpenMP ARB. OpenMP Application Program Interface, v. 3.1 (July 2011)Google Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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. 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. 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)CrossRefGoogle Scholar
  17. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Barna L. Bihari
    • 1
  • Michael Wong
    • 2
  • Amy Wang
    • 2
  • Bronis R. de Supinski
    • 1
  • Wang Chen
    • 2
  1. 1.Lawrence Livermore National LaboratoryUSA
  2. 2.IBM CorporationCanada

Personalised recommendations