Transactional memory
- 1 May 1993
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 21 (2) , 289-300
- https://doi.org/10.1145/173682.165164
Abstract
A shared data structure is lock-free if its operations do not require mutual exclusion. If one process is interrupted in the middle of an operation, other processes will not be prevented from operating on that object. In highly concurrent systems, lock-free data structures avoid common problems associated with conventional locking techniques, including priority inversion, convoying, and difficulty of avoiding deadlock. This paper introduces transactional memory , a new multiprocessor architecture intended to make lock-free synchronization as efficient (and easy to use) as conventional techniques based on mutual exclusion. Transactional memory allows programmers to define customized read-modify-write operations that apply to multiple, independently-chosen words of memory. It is implemented by straightforward extensions to any multiprocessor cache-coherence protocol. Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.Keywords
This publication has 19 references indexed in Scilit:
- Testing and Verifying Concurrent ObjectsJournal of Parallel and Distributed Computing, 1993
- Algorithms for scalable synchronization on shared-memory multiprocessorsACM Transactions on Computer Systems, 1991
- Detecting violations of sequential consistencyPublished by Association for Computing Machinery (ACM) ,1991
- Memory access dependencies in shared-memory multiprocessorsIEEE Transactions on Software Engineering, 1990
- Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffersACM SIGARCH Computer Architecture News, 1990
- A methodology for implementing highly concurrent data structuresPublished by Association for Computing Machinery (ACM) ,1990
- The performance of spin lock alternatives for shared-memory multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1990
- Efficient synchronization primitives for large-scale cache-coherent multiprocessorsPublished by Association for Computing Machinery (ACM) ,1989
- 801 storage: architecture and programmingACM Transactions on Computer Systems, 1988
- EthernetCommunications of the ACM, 1976