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 inttoduces 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.
Transactional memory was first proposed by Herlihy and Moss REF as a hardware architecture intended to make lock-free synchronization as efficient (and easy to use) as conventional techniques based on mutual exclusion.
Transactional Memory: Architectural Support For Lock-free Data Structures
Proceedings of the 20th Annual International Symposium on Computer Architecture
Proceedings of the 20th Annual International Symposium on Computer Architecture
Computer Science