|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Woongki Baek, Chi Cao Minh, Martin Trautmann, Christos Kozyrakis, Kunle Olukotun, "The OpenTM Transactional Application Programming Interface," Parallel Architectures and Compilation Techniques, International Conference on, pp. 376-387, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007), 2007. | |||
| BibTex | x | ||
| @article{ 10.1109/PACT.2007.74, author = {Woongki Baek and Chi Cao Minh and Martin Trautmann and Christos Kozyrakis and Kunle Olukotun}, title = {The OpenTM Transactional Application Programming Interface}, journal ={Parallel Architectures and Compilation Techniques, International Conference on}, volume = {0}, year = {2007}, issn = {1089-795X}, pages = {376-387}, doi = {http://doi.ieeecomputersociety.org/10.1109/PACT.2007.74}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - Parallel Architectures and Compilation Techniques, International Conference on TI - The OpenTM Transactional Application Programming Interface SN - 1089-795X SP376 EP387 A1 - Woongki Baek, A1 - Chi Cao Minh, A1 - Martin Trautmann, A1 - Christos Kozyrakis, A1 - Kunle Olukotun, PY - 2007 KW - null VL - 0 JA - Parallel Architectures and Compilation Techniques, International Conference on ER - | |||
This paper presents OpenTM, an application programming interface (API) for parallel programming with transactions. OpenTM extends OpenMP, a widely used API for shared-memory parallel programming, with a set of compiler directives to express non-blocking synchronization and speculative parallelization based on memory transactions. We also present a portable OpenTM implementation that produces code for hardware, software, and hybrid TM systems. The implementation builds upon the OpenMP support in the GCC compiler and includes a runtime for the C programming language.
We evaluate the performance and programmability features of OpenTM. We show that it delivers the performance of fine-grain locks at the programming simplicity of coarsegrain locks. Compared to transactional programming with lower-level interfaces, it removes the burden of manual annotations for accesses to shared variables and enables easy changes of the scheduling and contention management policies. Overall, OpenTM provides a practical and efficient TM programming environment within the familiar scope of OpenMP.
