2010
DOI: 10.1016/j.jpdc.2010.02.006
|View full text |Cite
|
Sign up to set email alerts
|

Adaptive locks: Combining transactions and locks for efficient concurrency

Abstract: 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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2011
2011
2017
2017

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 21 publications
(10 citation statements)
references
References 58 publications
0
10
0
Order By: Relevance
“…We have also discussed a practical application (and the primary motivator) for the STM design: software lock elision for x86 machine code. Other solutions for software lock elision are either limited to Java [23], C++ [20] or impose a locking construct with entirely new semantics [21] on programs. The only other software transactional memory designed for direct use with x86 machine code [16] does not support the x86 memory consistency model and therefore fails simple tests such as privatisation.…”
Section: Resultsmentioning
confidence: 99%
“…We have also discussed a practical application (and the primary motivator) for the STM design: software lock elision for x86 machine code. Other solutions for software lock elision are either limited to Java [23], C++ [20] or impose a locking construct with entirely new semantics [21] on programs. The only other software transactional memory designed for direct use with x86 machine code [16] does not support the x86 memory consistency model and therefore fails simple tests such as privatisation.…”
Section: Resultsmentioning
confidence: 99%
“…• It does not switch synchronization mechanisms during the application's execution as Adaptive Locks [19] does. • It does not allow the programmer to specify different synchronization mechanisms for different critical sections in the same program.…”
Section: E Static and Uniform Selectionmentioning
confidence: 99%
“…Adaptive Locks [19] is a synchronization mechanism that combines locks and transactions in C. It dynamically switches the mechanism used to whichever is more appropriate, a lock and an STM. Its critical section is described by using an atomic block, which is extended syntax of C, with a special lock variable.…”
Section: A Approaches To Synchronizationmentioning
confidence: 99%
“…The same principle has been used recently by Di Natale et al in [20] where an optimization problem is formulated to decrease the time delay and the memory requirement for tasks executed in a single processor. Finally an adaptive mechanism has been proposed by Usui et al in [21] that combine both lock-based and lock-free approaches. During runtime, the mechanism decides which approach should be used (lock-free or lock-based) to increase the efficiency of the system, however, this work does not provide any real-time guarantees.…”
Section: The Approachmentioning
confidence: 99%