ISSN 1000-1239 CN 11-1777/TP

• Paper • Previous Articles     Next Articles

Transactional Memory System

Peng Lin, Xie Lunguo, and Zhang Xiaoqiang   

  1. (College of Computer Science, National University of Defense Technology, Changsha 410073)
  • Online:2009-08-15

Abstract: Exploring multi-core processors performance depends on the parallelism in programs. Shared memory model is widely adopted by multi-core processors, and coordinating access to shared variables among threads is the key and a very difficult problem as well. Lock mechanism is widely used for the synchronization between threads. However, conventional locking techniques in parallel systems have some common problems: priority inversion, convoying and deadlock. Transactional memory (TM) is proposed to make synchronization easy to realize and efficient, which adopts the transaction concept in database systems. Transactions in transactional memory with the atomicity, consistency and isolation properties provide a foundation to ensure that concurrent reads and writes of shared data do not produce inconsistent or incorrect results and execute atomically. Transactional memory attracts a lot of research interests now. Transactional memory research is still in progress and has not been systematized yet. The authors introduce the origin of transactional memory, and attempt to give a definition of transactional memory system. Transactional memory programming interface and its execution model are shown. TMs design space and its realization strategies are discussed and different techniques used in these aspects are compared. Transactional memory is not a parallel programming panacea. Several open issues are discussed then. Finally, a few open source research platforms are introduced.

Key words: transactional memory, multi-core processor, shared memory, parallel programming, synchronization