OpenMP Application in TM-based Parallel Program

To solve the synchronization problems in the parallel programming, such as dead lock, priority inversion and convoy, the concept of transactional memory(TM) had been introduced. In this paper, some basic concepts about TM are presented at first, and several key implementation technologies are analyzed. Then some typical TM systems are introduced in detail. Finally, the examples using Open TM or Intel C++ STM Compiler Prototype Edition which are the extensions of Open are given.

[1]  Keir Fraser,et al.  Language support for lightweight transactions , 2014, SIGP.

[2]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[3]  Kunle Olukotun,et al.  Transactional memory coherence and consistency , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[4]  Bratin Saha,et al.  McRT-STM: a high performance software transactional memory system for a multi-core runtime , 2006, PPoPP '06.

[5]  Brad Calder,et al.  Value profiling , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[6]  James R. Larus,et al.  Transactional Memory , 2006, Transactional Memory.

[7]  Kunle Olukotun,et al.  The OpenTM Transactional Application Programming Interface , 2007, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007).

[8]  Mark Moir,et al.  The adaptive transactional memory test platform: a tool for experimenting with transactional code for rock (poster) , 2008, SPAA '08.