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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Bihari, B.: Transactional Memory for Unstructured Mesh Simulations. Journal of Scientific Computing (to appear, 2012)
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)
Dice, D., Shalev, O., Shavit, N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)
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)
Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural Support for Lock-Free Data Structures. SIGARCH Comput. Archit. News 51(2), 289–300 (1993)
Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers (February 2008)
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
Intel. Intel C++ STM Compiler, Prototype Edition 2.0 (2008), http://softwarecommunity.intel.com/articles/eng/1460.htm/
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)
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)
OpenMP ARB. OpenMP Application Program Interface, v. 3.1 (July 2011)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)