Sciweavers

IEEEPACT
2009
IEEE

Adaptive Locks: Combining Transactions and Locks for Efficient Concurrency

13 years 2 months ago
Adaptive Locks: Combining Transactions and Locks for Efficient Concurrency
Transactional memory is being advanced as an alternative to traditional lock-based synchronization for concurrent programming. Transactional memory simplifies the programming model and maximizes concurrency. At the same time, transactions can suffer from interference that causes them to often abort, from heavy overheads for memory accesses, and from expressiveness limitations (e.g., for I/O operations). In this paper we propose an adaptive locking technique that dynamically observes whether a critical section would be best executed transactionally or while holding a mutex lock. The critical new elements of our approach include the adaptivity logic and cost-benefit analysis, a low-overhead implementation of statistics collection and adaptive locking in a full C compiler, and an exposition of the effects on the programming model. In experiments with both micro- and macro-benchmarks we found adaptive locks to consistently match or outperform the better of the two component mechanisms (mu...
Takayuki Usui, Reimer Behrends, Jacob Evans, Yanni
Added 19 Feb 2011
Updated 19 Feb 2011
Type Journal
Year 2009
Where IEEEPACT
Authors Takayuki Usui, Reimer Behrends, Jacob Evans, Yannis Smaragdakis
Comments (0)