2005
DOI: 10.1007/s00446-005-0144-5
|View full text |Cite
|
Sign up to set email alerts
|

A dynamic-sized nonblocking work stealing deque

Abstract: The non-blocking work-stealing algorithm of Arora, Blumofe, and Plaxton (hencheforth ABP workstealing) is on its way to becoming the multiprocessor load balancing technology of choice in both industry and academia. This highly efficient scheme is based on a collection of array-based double-ended queues (deques) with low cost synchronization among local and stealing processes. Unfortunately, the algorithm's synchronization protocol is strongly based on the use of fixed size arrays, which are prone to overflows,… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
30
1
1

Year Published

2011
2011
2018
2018

Publication Types

Select...
3
2
2

Relationship

1
6

Authors

Journals

citations
Cited by 40 publications
(32 citation statements)
references
References 15 publications
0
30
1
1
Order By: Relevance
“…Arora et al [2] presented an efficient and lock-free work-stealing deque based on arrays. It was later improved to handle dynamic sizes by Hendler et al [16] that used a doubly-linked list of arrays, where each array can be dynamically allocated. In resemblance to [2][16], the new algorithm assign each thread its own data structure, uses arrays as the basic representation for storing items, and CAS is only used for updates that can be concurrently updated by several threads.…”
Section: Related Work Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Arora et al [2] presented an efficient and lock-free work-stealing deque based on arrays. It was later improved to handle dynamic sizes by Hendler et al [16] that used a doubly-linked list of arrays, where each array can be dynamically allocated. In resemblance to [2][16], the new algorithm assign each thread its own data structure, uses arrays as the basic representation for storing items, and CAS is only used for updates that can be concurrently updated by several threads.…”
Section: Related Work Discussionmentioning
confidence: 99%
“…In resemblance to [2][16], the new algorithm assign each thread its own data structure, uses arrays as the basic representation for storing items, and CAS is only used for updates that can be concurrently updated by several threads. In resemblance to [16], additional array blocks are dynamically allocated when needed, although the new algorithm only maintains a single-linked list. In contrast to [2][16], the new algorithm provides linearizable bag semantics; e.g.…”
Section: Related Work Discussionmentioning
confidence: 99%
“…Two unbounded non-blocking deques were proposed, the deque by Hendler et al based on linked lists of small arrays [10], and the Chase-Lev deque that uses dynamic circular arrays [5].…”
Section: Work-stealing Dequesmentioning
confidence: 99%
“…Tasks are often stored as pointers that are removed from the deque when the task is stolen [9,2,10,5]. To virtually eliminate the overhead of task creation for tasks that are never stolen, Faxén proposed a direct task stack, storing tasks instead of pointers in the work queue, implemented in Wool [7,8].…”
Section: Work-stealing Dequesmentioning
confidence: 99%
“…Examining known work stealing algorithms that avoid the AWAR pattern (i.e., avoid the use of complex atomic operations) in the common path of the owner's methods [3,16,19,20], reveals that they all contain the RAW pattern in the common path of the take method that succeeds in extracting work items.…”
Section: Work Stealing Structuresmentioning
confidence: 99%