Abstract
Transactional Memory (TM) has received significant attention recently as a mechanism to reduce the complexity of shared memory programming. We explore the potential of TM to improve OpenMP applications. We combine a software TM (STM) system to support transactions with an OpenMP implementation to start thread teams and provide task and loop-level parallelization. We apply this system to two application scenarios that reflect realistic TM use cases. Our results with this system demonstrate that even with the relatively high overheads of STM, transactions can outperform OpenMP critical sections by 10%. Overall, our study demonstrates that extending OpenMP to include transactions would ease programming effort while allowing improved performance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bihari, B.L.: Experiments Using IBM’s Software Transactional Memory Compiler (May 2009), http://spscicomp.org/ScicomP15/slides/user/bihari.pdf
IBM. Concurrent Building Block (May 2008), http://sourceforge.net/projects/amino-cbbs/
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
Larus, J.R., Rajwar, R.: Transactional Memory (Synthesis Lectures on Computer Architecture). Morgan & Claypool Publishers, San Francisco (January 2007)
Milovanović, M., Ferrer, R., Unsal, O., 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.0 (May 2008)
Wong, M.: IBM XL C/C++ for Transactional Memory for AIX (August 2009), http://www-949.ibm.com/software/rational/cafe/blogs/ccpp-parallel-multicore/2009/08/11/ibms-alphaworks-software-transactional-memory-compiler
Woongki, B., Minh, C.C., Trautmann, M., Kozyrakis, C., Olukotun, K.: The OpenTM Transactional Application Programming Interface. In: PACT’07: Proceedings of the 16th International Conference on Parallel Architec-ture and Compilation Techniques, Washington, DC, USA, June 2007, pp. 376–587. IEEE Computer Society, Los Alamitos (2007)
Wu, P., Michael, M., von Praun, C., Nakaike, T., Bordawekar, R., Cain, H., Cascaval, C., Chatterjee, S., Chiras, S., Hou, R., Mergen, M., Shen, X., Spear, M., Wang, H.Y., Wang, K.: Compiler and Runtime Techniques for Software Transactional Memory Optimization. Journal of Concurrency and Computation: Practice and Experience, 7–23 (July 2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wong, M. et al. (2010). A Case for Including Transactions in OpenMP. In: Sato, M., Hanawa, T., Müller, M.S., Chapman, B.M., de Supinski, B.R. (eds) Beyond Loop Level Parallelism in OpenMP: Accelerators, Tasking and More. IWOMP 2010. Lecture Notes in Computer Science, vol 6132. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13217-9_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-13217-9_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13216-2
Online ISBN: 978-3-642-13217-9
eBook Packages: Computer ScienceComputer Science (R0)