![]() |
![]() |
|||||||||
|
Title
Hybrid Transactional Memory. Authors Sanjeev Kumar, Michael Chu, Christopher J. Hughes, Partha Kundu, Anthony Nguyen. Publication In the Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), New York, USA, March 2006.
Downloads Abstract
High performance parallel programs are currently difficult to write
and debug. One major source of difficulty is protecting concurrent
accesses to shared data with an appropriate synchronization mechanism.
Locks are the most common mechanism but they have a
number of disadvantages, including possibly unnecessary serialization,
and possible deadlock. Transactional memory is an alternative
mechanism that makes parallel programming easier. With transactional
memory, a transaction provides atomic and serializable operations
on an arbitrary set of memory locations. When a transaction
commits, all operations within the transaction become visible to
other threads. When it aborts, all operations in the transaction are
rolled back.
Transactional memory can be implemented in either hardware or software. A straightforward hardware approach can have high performance, but imposes strict limits on the amount of data updated in each transaction. A software approach removes these limits, but incurs high overhead. We propose a novel hybrid hardwaresoftware transactional memory scheme that approaches the performance of a hardware scheme when resources are not exhausted and gracefully falls back to a software scheme otherwise.
|
||||||||||
![]() |
![]() |
|||||||||