Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming 2016
DOI: 10.1145/2851141.2851146
|View full text |Cite
|
Sign up to set email alerts
|

Optimistic concurrency with OPTIK

Abstract: We introduce OPTIK, a new practical design pattern for designing and implementing fast and scalable concurrent data structures. OPTIK relies on the commonly-used technique of version numbers for detecting conflicting concurrent operations. We show how to implement the OPTIK pattern using the novel concept of OPTIK locks. These locks enable the use of version numbers for implementing very efficient optimistic concurrent data structures. Existing state-of-the-art lock-based data structures acquire the lock and t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2017
2017
2021
2021

Publication Types

Select...
3
1
1

Relationship

1
4

Authors

Journals

citations
Cited by 18 publications
(1 citation statement)
references
References 38 publications
(46 reference statements)
0
1
0
Order By: Relevance
“…First, a thread trying to become a combiner has to contend for an additional global lock. Second, inserting a node into the list head has to make a version check, 40,41 which can incur significant cache coherence traffic. Finally, it spends extra cost on traversing the whole list to remove request nodes that have not been used to execute critical sections in a long time.…”
Section: Discussionmentioning
confidence: 99%
“…First, a thread trying to become a combiner has to contend for an additional global lock. Second, inserting a node into the list head has to make a version check, 40,41 which can incur significant cache coherence traffic. Finally, it spends extra cost on traversing the whole list to remove request nodes that have not been used to execute critical sections in a long time.…”
Section: Discussionmentioning
confidence: 99%