2011
DOI: 10.1007/978-3-642-25873-2_37
|View full text |Cite
|
Sign up to set email alerts
|

A Dynamic Elimination-Combining Stack Algorithm

Abstract: Abstract. Two key synchronization paradigms for the construction of scalable concurrent data-structures are software combining and elimination. Elimination-based concurrent data-structures allow operations with reverse semantics (such as push and pop stack operations) to "collide" and exchange values without having to access a central location. Software combining, on the other hand, is effective when colliding operations have identical semantics: when a pair of threads performing operations with identical sema… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
8
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 12 publications
(8 citation statements)
references
References 12 publications
(26 reference statements)
0
8
0
Order By: Relevance
“…Concurrent stacks suffer from their inherent single point access bottleneck. In the quest to improve performance scalability, disjoint access strategies have been proposed for designing concurrent stacks including; elimination trees [1,9], combining funnels [10] and elimination back-off [3,5]. Elimination back-off implements a collision array in which pop operations try to collide and cancel with concurrent push operations.…”
Section: Related Workmentioning
confidence: 99%
“…Concurrent stacks suffer from their inherent single point access bottleneck. In the quest to improve performance scalability, disjoint access strategies have been proposed for designing concurrent stacks including; elimination trees [1,9], combining funnels [10] and elimination back-off [3,5]. Elimination back-off implements a collision array in which pop operations try to collide and cancel with concurrent push operations.…”
Section: Related Workmentioning
confidence: 99%
“…Our experiments compare the performance and scalability of the TS stack with two high-performance concurrent stacks: the Treiber stack [22] because it is the de-facto standard lock-free stack implementation; and the elimination-backo (EB) stack [9] because it is the fastest concurrent stack we are aware of. 3 We configured the Treiber and EB stacks to perform as well as possible on our test machines: see below for the parameters used.…”
Section: Performance Analysismentioning
confidence: 99%
“…Of course, other high-performance stacks exist. We decided against benchmarking the DECS stack[3] because (1) no implementation is available for our platform and (2) according to their experiments, in peak performance it is no better than a Flat Combining stack. We decided against benchmarking the Flat Combining stack because the EB stack outperforms it when configured to access the backo array before the stack itself.…”
mentioning
confidence: 99%
“…The necessity of reducing contention at the synchronisation access points, and consequently improving scalability, is and has been a major focus for concurrent data structure researchers. Techniques like; elimination [1,19,31], combining [32], dynamic elimination-combining [6] and back-off strategies have been proposed as ways to improve scalability. To address, in a more significant way, the challenge of scalability bottlenecks of concurrent data structures, it has been proposed that the semantic legal behaviour of data structures should be extended [29].…”
Section: Introductionmentioning
confidence: 99%