Scheduling multithreaded computations by work stealing
Top Cited Papers
- 17 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 274, 356-368
- https://doi.org/10.1109/sfcs.1994.365680
Abstract
This paper studies the problem of efficiently scheduling fully strict (i.e., well-structured) multithreaded computations on parallel computers. A popular and practical method of scheduling this kind of dynamic MIMD-style computation is "work stealing," in which processors needing work steal computational threads from other processors. In this paper, we give the first provably good work-stealing scheduler for multithreaded computations with dependencies. Specifically, our analysis shows that the expected time T/sub P/ to execute a fully strict computation on P processors using our work-stealing scheduler is T/sub P/=O(T/sub 1//P+T/sub /spl infin//), where T/sub 1/ is the minimum serial execution time of the multithreaded computation and T/sub /spl infin// is the minimum execution time with an infinite number of processors. Moreover, the space S/sub P/ required by the execution satisfies S/sub P//spl les/S/sub 1/P. We also show that the expected total communication of the algorithm is at most O(T/sub /spl infin//S/sub max/P), where S/sub max/ is the size of the largest activation record of any thread, thereby justifying the folk wisdom that work-stealing schedulers are more communication efficient than their work-sharing counterparts. All three of these bounds are existentially optimal to within a constant factor.Keywords
This publication has 19 references indexed in Scilit:
- Scheduling large-scale parallel computations on networks of workstationsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Enumerations of the Hamiltonian walks on a cubic sublatticeJournal of Physics A: General Physics, 1994
- Randomized parallel algorithms for backtrack search and branch-and-bound computationJournal of the ACM, 1993
- Space-efficient scheduling of multithreaded computationsPublished by Association for Computing Machinery (ACM) ,1993
- Lazy task creation: a technique for increasing the granularity of parallel programsIEEE Transactions on Parallel and Distributed Systems, 1991
- Storage management in virtual tree machinesIEEE Transactions on Computers, 1988
- DIB—a distributed implementation of backtrackingACM Transactions on Programming Languages and Systems, 1987
- Implementation of multilispPublished by Association for Computing Machinery (ACM) ,1984
- Bounds on Multiprocessing Timing AnomaliesSIAM Journal on Applied Mathematics, 1969
- Bounds for Certain Multiprocessing AnomaliesBell System Technical Journal, 1966