An Efficient Work-Stealing Scheduler for Task Dependency Graph

Author(s):  
Chun-Xun Lin ◽  
Tsung-Wei Huang ◽  
Martin D. F. Wong
2014 ◽  
Vol 49 (4) ◽  
pp. 513-528
Author(s):  
Haris Ribic ◽  
Yu David Liu

2014 ◽  
Vol 42 (1) ◽  
pp. 513-528 ◽  
Author(s):  
Haris Ribic ◽  
Yu David Liu

Author(s):  
Abin Thottakara ◽  
Jared Wasserman ◽  
Ebin Scaria

In the paper "Thread Scheduling for Multiprogrammed Multiprocessors", Arora, Blumofe, and Paxton (ABP) implement a work-stealing algorithm using a double-ended queue (or \textit{deque}) to solve the task-scheduling problem. In this paper, we will begin by giving an overview of work-stealing in general and the advantages and disadvantages that their paper provides. Our focuses are to address and rectify a few key disadvantages of their static-sized deque implementation: the potential inefficiency that can occur when multiple stealers attempt to take work from the same thread, the inability of the deque to grow, and a lack of efficient work-balancing. Before explaining our algorithm (and our new data structure), we will explain how our solution solves a different problem than that expressed in "A Dynamic-Sized Nonblocking Work Stealing Deque", how it improves the ABP solution scenario aforementioned, how it provides an alternative answer to the work-balancing algorithm (called "WorkSharingThread") in "The Art of Multiprocessor Programming", and how it differs from the algorithm in the paper "Non-blocking steal-half work queues." Following this, we will delve into the details of our algorithm, informally proving how it can effectively distribute a workload when there are multiple stealers. Finally, we will show the results of our experiments on various workloads, comparing the performance to that of the ABP.


Sign in / Sign up

Export Citation Format

Share Document