2007 IEEE 13th International Symposium on High Performance Computer Architecture
A Scalable, Non-blocking Approach to Transactional Memory
Scottsdale, AZ, USA
February 10-February 14
ISBN: 1-4244-0804-0
Hassan Chafi, Computer Systems Laboratory, Stanford University. hchafi@stanford.edu
Jared Casper, Computer Systems Laboratory, Stanford University. jaredc@stanford.edu
Austen McDonald, Computer Systems Laboratory, Stanford University. austenmc@stanford.edu
Chi Cao Minh, Computer Systems Laboratory, Stanford University. caominh@stanford.edu
Woongki Baek, Computer Systems Laboratory, Stanford University. wbaek@stanford.edu
Christos Kozyrakis, Computer Systems Laboratory, Stanford University. kozyrakis@stanford.edu
Kunle Olukotun, Computer Systems Laboratory, Stanford University. kunle@stanford.edu
Transactional Memory (TM) provides mechanisms that promise to simplify parallel programming by eliminating the need for locks and their associated problems (dead-lock, 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 processors.
Citation:
Hassan Chafi, Jared Casper, Brian D. Carlstrom, Austen McDonald, Chi Cao Minh, Woongki Baek, Christos Kozyrakis, Kunle Olukotun, "A Scalable, Non-blocking Approach to Transactional Memory," hpca, pp.97-108, 2007 IEEE 13th International Symposium on High Performance Computer Architecture, 2007