Proceedings of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures 2011
DOI: 10.1145/1989493.1989549
|View full text |Cite
|
Sign up to set email alerts
|

A highly-efficient wait-free universal construction

Abstract: We present a new simple wait-free universal construction, called Sim, that uses just a Fetch&Add and an LL/SC object and performs a constant number of shared memory accesses. We have implemented Sim in a real shared-memory machine. In theory terms, our practical version of Sim, called P-Sim, has worse complexity than its theoretical analog; in practice though, we experimentally show that P-Sim outperforms several state-of-the-art lock-based and lock-free techniques, and this given that it is wait-free, i.e., t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
113
0

Year Published

2013
2013
2024
2024

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 103 publications
(115 citation statements)
references
References 29 publications
1
113
0
Order By: Relevance
“…Nevertheless, despite the significant amount of research dedicated to the design of wait-free CSDSs [2,16,27,37,38,57,58], these algorithms exhibit low throughput, roughly half of that of a state-of-the-art blocking or lock-free search data structure (as we show experimentally in the paper). Essentially, the reason for the difference in throughput between wait-free algorithms on the one hand, and lock-free and blocking algorithms one the other hand, is related to the amount of concurrency-related information that needs to be associated with the data.…”
Section: Introductionmentioning
confidence: 91%
“…Nevertheless, despite the significant amount of research dedicated to the design of wait-free CSDSs [2,16,27,37,38,57,58], these algorithms exhibit low throughput, roughly half of that of a state-of-the-art blocking or lock-free search data structure (as we show experimentally in the paper). Essentially, the reason for the difference in throughput between wait-free algorithms on the one hand, and lock-free and blocking algorithms one the other hand, is related to the amount of concurrency-related information that needs to be associated with the data.…”
Section: Introductionmentioning
confidence: 91%
“…Several papers discuss how to build correct and high-performant single-producer single-consumer queues using arrays [11,14,15] and linked lists [12,16,17].…”
Section: Queue Segmentsmentioning
confidence: 99%
“…As a running example, we use the lock-free linked-list based queue by Michael and Scott [22], since it is a classic, simple construction that can be efficiently implemented in several platforms. More complex designs deploying flat-combining techniques [11], or allowing modify operations to spuriously fail [23], show interesting directions for future work.…”
Section: B Iterating Concurrent Queuesmentioning
confidence: 99%