Abstract
The non-blocking work-stealing algorithm of Arora et al. has been gaining popularity as the multiprocessor load balancing technology of choice in both Industry and Academia. At its core is an ingenious scheme for stealing a single item in a non-blocking manner from an array based deque. In recent years, several researchers have argued that stealing more than a single item at a time allows for increased stability, greater overall balance, and improved performance. This paper presents StealHalf, a new generalization of the Arora et al. algorithm, that allows processes, instead of stealing one, to steal up to half of the items in a given queue at a time. The new algorithm preserves the key properties of the Arora et al. algorithm: it is non-blocking, and it minimizes the number of CAS operations that the local process needs to perform. We provide analysis that proves that the new algorithm provides better load distribution: the expected load of any process throughout the execution is less than a constant away from the overall system average.
Original language | English |
---|---|
Pages | 280-289 |
Number of pages | 10 |
DOIs | |
State | Published - 1 Jan 2002 |
Externally published | Yes |
Event | Proceedings of the Twenty - First Annual ACM Symposium on Principles of Distributed Computing PODC 2002 - Monterey, CA, United States Duration: 21 Jul 2002 → 24 Jul 2002 |
Conference
Conference | Proceedings of the Twenty - First Annual ACM Symposium on Principles of Distributed Computing PODC 2002 |
---|---|
Country/Territory | United States |
City | Monterey, CA |
Period | 21/07/02 → 24/07/02 |
ASJC Scopus subject areas
- Software
- Hardware and Architecture
- Computer Networks and Communications