A Scalable, Non-blocking Approach to Transactional Memory
Top Cited Papers
- 1 January 2007
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 15300897,p. 97-108
- https://doi.org/10.1109/hpca.2007.346189
Abstract
Transactional memory (TM) provides mechanisms that promise to simplify parallel programming by eliminating the need for locks and their associated problems (deadlock, livelock, priority inversion, convoying). For TM to be adopted in the long term, not only does it need to deliver on these promises, but it needs to scale to a high number of processors. To date, proposals for scalable TM have relegated livelock issues to user-level contention managers. This paper presents the first scalable TM implementation for directory-based distributed shared memory systems that is livelock free without the need for user-level intervention. The design is a scalable implementation of optimistic concurrency control that supports parallel commits with a two-phase commit protocol, uses write-back caches, and filters coherence messages. The scalable design is based on transactional coherence and consistency (TCC), which supports continuous transactions and fault isolation. A performance evaluation of the design using both scientific and enterprise benchmarks demonstrates that the directory-based TCC design scales efficiently for NUMA systems up to 64 processorsKeywords
This publication has 27 references indexed in Scilit:
- TAPEPublished by Association for Computing Machinery (ACM) ,2005
- Programming with transactional coherence and consistency (TCC)Published by Association for Computing Machinery (ACM) ,2004
- Language support for lightweight transactionsPublished by Association for Computing Machinery (ACM) ,2003
- Token coherenceACM SIGARCH Computer Architecture News, 2003
- Speculative synchronizationPublished by Association for Computing Machinery (ACM) ,2002
- Transactional lock-free execution of lock-based programsPublished by Association for Computing Machinery (ACM) ,2002
- A chip-multiprocessor architecture with speculative multithreadingIEEE Transactions on Computers, 1999
- Data speculation support for a chip multiprocessorPublished by Association for Computing Machinery (ACM) ,1998
- An architecture for mostly functional languagesPublished by Association for Computing Machinery (ACM) ,1986
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981