MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Transactional Memory: Architectural Support for Lock-Free Data Structures (1993) [350 citations — 8 self]

by Maurice Herlihy ,  J. Eliot B. Moss ,  J. Eliot ,  B. Moss
in Proceedings of the 20th Annual International Symposium on Computer Architecture
Add To MetaCart

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 bench...

Citations

815 How to make a multiprocessor computer that correctly executes multiprocess programs – Lamport - 1979
689 Improving direct-mapped cache performance by the addition of a small fully associative cache and prefetch bu ers – Jouppi - 1990
607 Revision to ‘‘Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors – GHARACHORLOO, GUPTA, et al. - 1993
372 Algorithms for Scalable Synchronization on SharedMemory Multiprocessors – MELLOR-CRUMMEY, SCOTT - 1991
310 Ethernet: Distributed Packet Switching for Local Computer Networks – Metcalfe, Boggs - 1976
256 Notes on Database Operating Systems – Gray - 1978
254 A methodology for implementing highly concurrent data objects – Herlihy - 1993
218 PROTEUS : A high-performance parallel-architecture simulator – Brewer, Dellarocas, et al. - 1991
193 The performance of spin lock alternatives for shared-memory multiprocessors – Anderson - 1990
192 Memory access buffering in multiprocessors – Dubois, Scheurich, et al. - 1986
183 LimitLESS directories: a scalable cache coherence scheme – Chaiken, Kubiatowics, et al. - 1991
148 Cache Consistency and Sequential Consistency – GOODMAN - 1989
147 Using Cache Memory to Reduce Processor-Memory Traffic – Goodman - 1983
140 Performance Evaluation of Memory Consistency Models for Shared-Memory Multiprocessors – GHARACHORLOO, GUPTA, et al. - 1991
126 Efficient synchronization primitives for large-scale cache-coherent multiprocessors – Goodman, Vernon, et al. - 1989
102 The expandable split window paradigm for exploiting fine-grained parallelism – Franklin, Sohi - 1992
93 Alpha Architecture Reference Manual – SITES, EDITOR - 1992
90 Synchronization Algorithms for Shared-Memory Multiprocessors – Graunke, Thakkar - 1990
81 801 Storage: Architecture and programming – Chang, Mergen - 1988
81 Alock-free multiprocessor os kernel – Massalin, Pu - 1991
74 An Architecture for Mostly Functional Languages – KNIGHT - 1986
67 Dynamic decentralized cache schemes for MIMD parallel processors – Rudolph, Segall - 1984
51 Memory Access Dependencies in Shared-Memory Multiprocessors – DUBOIS, SCHEURICH - 1990
38 A new approach to exclusive data access in shared memory multiprocessors – JENSEN, HAGENSEN, et al. - 1987
36 et al. The MIT Alewife machine: A large-scale distributed memory multiprocessor – Agarwal - 1991
21 Detecting Violations of Sequential Consistency – GHARACHORLOO, GIBBONS - 1991
16 Practical Considerations for Lock-Free Concurrent Objects – Bershad - 1991
15 Testing and verifying concurrent objects – Wing, Gong - 1993
14 Performance Issues in Non-blocking Synchronization on Shared-Memory Multiprocessors – Allemany, Felten - 1992
1 Practical fetch-and-phi algorithms – Mellor-Crummey - 1987