Proceedings of the Seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures 2005
DOI: 10.1145/1073970.1073974
|View full text |Cite
|
Sign up to set email alerts
|

Dynamic circular work-stealing deque

Abstract: The non-blocking work-stealing algorithm of Arora, Blumofe, and Plaxton (henceforth ABP work-stealing) 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 doubleended 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...
2
1
1
1

Citation Types

0
137
0
1

Year Published

2005
2005
2021
2021

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 183 publications
(138 citation statements)
references
References 9 publications
0
137
0
1
Order By: Relevance
“…As an example, consider the problem of implementing the Chase-Lev work-stealing queue [11] ("CL") on a relaxed memory model. Work stealing is a popular mechanism for efficient load-balancing used in runtime libraries for languages such as Java, Cilk [3] and X10 [10].…”
Section: Introductionmentioning
confidence: 99%
“…As an example, consider the problem of implementing the Chase-Lev work-stealing queue [11] ("CL") on a relaxed memory model. Work stealing is a popular mechanism for efficient load-balancing used in runtime libraries for languages such as Java, Cilk [3] and X10 [10].…”
Section: Introductionmentioning
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%
“…1 shows a pseudo-code of the ChaseLev work-stealing queue [7] (note that our implementation handle the complete C code). A work-stealing queue is a special kind of double-ended queue that provides three operations: put, take, and steal.…”
Section: Overviewmentioning
confidence: 99%
“…Chase-Lev's WSQ [7] put, take operate on the same end of the queue, steal works at the opposite end. Both take and steal implemented using CAS.…”
Section: Algorithm Descriptionmentioning
confidence: 99%