2012
DOI: 10.1007/978-3-642-33651-5_21
|View full text |Cite
|
Sign up to set email alerts
|

Pessimistic Software Lock-Elision

Abstract: Abstract. Read-write locks are one of the most prevalent lock forms in concurrent applications because they allow read accesses to locked code to proceed in parallel. However, they do not offer any parallelism between reads and writes. This paper introduces pessimistic lock-elision (PLE), a new approach for nonspeculatively replacing read-write locks with pessimistic (i.e. non-aborting) software transactional code that allows read-write concurrency even for contended code and even if the code includes system c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
21
0

Year Published

2014
2014
2016
2016

Publication Types

Select...
6
3

Relationship

3
6

Authors

Journals

citations
Cited by 23 publications
(21 citation statements)
references
References 12 publications
0
21
0
Order By: Relevance
“…This has two disadvantages: (1) wasting time when arriving while the lock is taken (as our experiments on STAMP show, this is significant), and (2) the lock no longer guarantees starvation-freedom and loses its fairness. 1 shared variable: Roy et al [23] and Afek et al [5] implement lock elision completely in software, using specialized software transactional memory algorithms. These implementations instrument the critical sections to track read and written memory locations.…”
Section: Related Workmentioning
confidence: 99%
“…This has two disadvantages: (1) wasting time when arriving while the lock is taken (as our experiments on STAMP show, this is significant), and (2) the lock no longer guarantees starvation-freedom and loses its fairness. 1 shared variable: Roy et al [23] and Afek et al [5] implement lock elision completely in software, using specialized software transactional memory algorithms. These implementations instrument the critical sections to track read and written memory locations.…”
Section: Related Workmentioning
confidence: 99%
“…In a nutshell, RLU works as follows. We keep the overall RCU barrier mechanism with updaters waiting until all pre-existing readers have finished their operations, but replace the hand-crafted copy creation and installation with a clock-based logging mechanism inspired by the ones used in software transactional memory systems [1,8,33]. The biggest limitation of RCU is that it cannot support multiple updates to the data structure because it critically relies on a single atomic pointer swing.…”
Section: Introductionmentioning
confidence: 99%
“…It is therefore not surprising that many approaches do not allow write-write concurrency; these include the readcopy-update (RCU) approach [18], flat-combining [12], coarse-grained readerswriter locking [8], and pessimistic software lock-elision [1]. It has been shown that such methodologies can perform better than ones that allow write-write concurrency, both when there are very few updates relative to queries [18] and when writes contend heavily [12].…”
Section: Introductionmentioning
confidence: 99%
“…The implementation itself may rely on known techniques such as locking, RCU [18], pessimistic lock-elision [1], or any combinations of those, such as RCU combined with fine-grained locking [2]. There are several techniques, such as flat-combining [12] and read-write locking [8], that can naturally expand such an implementation to support also write-write concurrency by adding synchronization among update operations.…”
Section: Introductionmentioning
confidence: 99%