## Scheduling Multithreaded Computations by Work Stealing

### Cached

### Download Links

Citations: | 402 - 38 self |

### BibTeX

@MISC{Blumofe_schedulingmultithreaded,

author = {Robert D. Blumofe and Charles E. Leierson},

title = {Scheduling Multithreaded Computations by Work Stealing},

year = {}

}

### Years of Citing Articles

### OpenURL

### 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,

### Citations

536 | Cilk: An efficient multithreaded runtime system - BLUMOFE, JOERG, et al. - 1995 |

406 | Bounds on multiprocessing timing anomalies
- GRAHAM
- 1969
(Show Context)
Citation Context ...eaded computation. define what it means for computations to be "fully strict." We conclude with a statement of the greedyscheduling theorem, which is an adaptation of theorems by Brent [5] a=-=nd Graham [11, 12]-=- on dag scheduling. A multithreaded computation is composed of a set of threads, each of which is a sequential ordering of unit-time tasks. In Figure 1, for example, each shaded block is a thread with... |

328 | The implementation of the Cilk-5 multithreaded language - FRIGO, RANDALL, et al. - 1998 |

320 |
Bounds for certain multiprocessing anomalies
- Graham
- 1966
(Show Context)
Citation Context ...eaded computation. define what it means for computations to be "fully strict." We conclude with a statement of the greedyscheduling theorem, which is an adaptation of theorems by Brent [5] a=-=nd Graham [11, 12]-=- on dag scheduling. A multithreaded computation is composed of a set of threads, each of which is a sequential ordering of unit-time tasks. In Figure 1, for example, each shaded block is a thread with... |

238 | The parallel evaluation of general arithmetic expressions
- BRENT
- 1974
(Show Context)
Citation Context ...e 1: A multithreaded computation. define what it means for computations to be "fully strict." We conclude with a statement of the greedyscheduling theorem, which is an adaptation of theorems=-= by Brent [5]-=- and Graham [11, 12] on dag scheduling. A multithreaded computation is composed of a set of threads, each of which is a sequential ordering of unit-time tasks. In Figure 1, for example, each shaded bl... |

229 | I-structures: data structures for parallel computing. Acm trans. program. lang
- Arvind, Rishiyur, et al.
- 1989
(Show Context)
Citation Context ...llstructured) multithreaded computations. This class of computations encompasses both backtrack search computations [15, 26] and divide-and-conquer computations [25], as well as dataflow computations =-=[1]-=- in which threads may stall due to a data dependency. We analyze our algorithms in a stringent atomic access model similar to the atomic message-passing model of [17] in which concurrent accesses to t... |

229 | Lazy task creation: A technique for increasing the granularity of parallel programs
- MOHR, KRANZ, et al.
- 1991
(Show Context)
Citation Context ...s Burton and Sleep's research [7] on parallel execution of functional programs and Halstead's implementation of Multilisp [14]. Since then, many researchers have implemented variants on this strategy =-=[4, 9, 10, 13, 16, 18, 24]-=-. Rudolph, Slivkin-Allalouf, and Upfal [22] analyzed a randomized work-stealing strategy for load balancing independent jobs on a parallel computer, and Karp and Zhang [15] analyzed a randomized work-... |

195 |
How to emulate shared memory
- Ranade
- 1987
(Show Context)
Citation Context ...sent and analyze a combinatorial "balls and bins" game that we use to derive a bound on the contention that arises in random work stealing. We then use this bound along with a delay-sequence=-= argument [21]-=- in Section 6 to analyze the execution time and communication cost of the work-stealing algorithm. We make some concluding remarks in Section 7. 2 A model for multithreaded computation This section re... |

166 | Thread scheduling for multiprogrammed multiprocessors - ARORA, BLUMOFE, et al. - 1998 |

138 | Speedup versus efficiency in parallel systems - Eager, Zahorian, et al. - 1989 |

104 | An analysis of dag-consistent distributed shared-memory algorithms - BLUMOFE, FRIGO, et al. - 1996 |

103 |
Dib—a distributed implementation of backtracking
- Finkel, Manber
- 1987
(Show Context)
Citation Context ...s Burton and Sleep's research [7] on parallel execution of functional programs and Halstead's implementation of Multilisp [14]. Since then, many researchers have implemented variants on this strategy =-=[4, 9, 10, 13, 16, 18, 24]-=-. Rudolph, Slivkin-Allalouf, and Upfal [22] analyzed a randomized work-stealing strategy for load balancing independent jobs on a parallel computer, and Karp and Zhang [15] analyzed a randomized work-... |

83 | Space-efficient scheduling of multithreaded computations
- Blumofe, Leiserson
- 1993
(Show Context)
Citation Context ...ully strict multithreaded computations which is provably efficient in terms of time, space, and communication. The bounds on space and time are better than previous bounds for work-sharing schedulers =-=[3]-=-, and the work-stealing scheduler is much simpler and eminently practical. Part of this improvement is due to our focusing on fully strict computations, as compared to the (general) strict computation... |

82 | Provably efficient scheduling for languages with fine-grained parallelism - Blelloch, Gibbons, et al. - 1999 |

81 | Detecting data races in Cilk programs that use locks - CHENG, FENG, et al. - 1998 |

80 |
Executing functional programs on a virtual tree of processors. Pages 187–194 of
- Burton, Sleep
- 1981
(Show Context)
Citation Context ...do, no threads are migrated by a work-stealing scheduler, but threads are always migrated by a work-sharing scheduler. The work-stealing idea dates back at least as far as Burton and Sleep's research =-=[7]-=- on parallel execution of functional programs and Halstead's implementation of Multilisp [14]. Since then, many researchers have implemented variants on this strategy [4, 9, 10, 13, 16, 18, 24]. Rudol... |

78 |
Workcrews: an abstraction for controlling parallelism
- Vandevoorde, Roberts
- 1988
(Show Context)
Citation Context ...s Burton and Sleep's research [7] on parallel execution of functional programs and Halstead's implementation of Multilisp [14]. Since then, many researchers have implemented variants on this strategy =-=[4, 9, 10, 13, 16, 18, 24]-=-. Rudolph, Slivkin-Allalouf, and Upfal [22] analyzed a randomized work-stealing strategy for load balancing independent jobs on a parallel computer, and Karp and Zhang [15] analyzed a randomized work-... |

77 | A simple load balancing scheme for task allocation in parallel machines
- RUDOLPH, SLIVKIN-ALLALOUF, et al.
(Show Context)
Citation Context ...onal programs and Halstead's implementation of Multilisp [14]. Since then, many researchers have implemented variants on this strategy [4, 9, 10, 13, 16, 18, 24]. Rudolph, Slivkin-Allalouf, and Upfal =-=[22]-=- analyzed a randomized work-stealing strategy for load balancing independent jobs on a parallel computer, and Karp and Zhang [15] analyzed a randomized work-stealing strategy for parallel backtrack se... |

70 | Executing Multithreaded Programs Efficiently - BLUMOFE - 1995 |

65 |
Resource requirements of dataflow programs
- Culler, Arvind
- 1990
(Show Context)
Citation Context ...wisdom that work stealing is superior to work sharing. Others have studied and continue to study the problem of efficiently managing the space requirements of parallel computations. Culler and Arvind =-=[8]-=- and Ruggiero and Sargeant [23] give heuristics for limiting the space required by dataflow programs. Burton [6] shows how to limit space in certain parallel computations without causing deadlock. The... |

64 | Adaptive and reliable parallel computing on networks of workstations - BLUMOFE, L - 1997 |

63 |
Randomized Parallel Algorithms for Backtrack Search and Branch-and-Bound Computation
- Karp, Zhang
- 1993
(Show Context)
Citation Context ...ategy [4, 9, 10, 13, 16, 18, 24]. Rudolph, Slivkin-Allalouf, and Upfal [22] analyzed a randomized work-stealing strategy for load balancing independent jobs on a parallel computer, and Karp and Zhang =-=[15]-=- analyzed a randomized work-stealing strategy for parallel backtrack search. Recently, Zhang and Ortynski [26] have obtained good bounds on the communication requirements of the randomized parallel ba... |

61 |
Implementation of Multilisp: Lisp on a multiprocessor
- HALSTEAD
- 1984
(Show Context)
Citation Context ... a work-sharing scheduler. The work-stealing idea dates back at least as far as Burton and Sleep's research [7] on parallel execution of functional programs and Halstead's implementation of Multilisp =-=[14]-=-. Since then, many researchers have implemented variants on this strategy [4, 9, 10, 13, 16, 18, 24]. Rudolph, Slivkin-Allalouf, and Upfal [22] analyzed a randomized work-stealing strategy for load ba... |

61 | Cilk: Efficient Multithreaded Computing - RANDALL - 1998 |

60 | Dag-consistent distributed shared memory - BLUMOFE, FRIGO, et al. - 1996 |

49 | Efficient detection of determinacy races in Cilk programs - FENG, LEISERSON - 1999 |

44 | Scheduling large-scale parallel computations on networks of workstations
- Blumofe, Park
- 1994
(Show Context)
Citation Context ...or programming multithreaded computations [2]. We currently have preliminary versions of the system that run on the Connection Machine CM-5, the Phish runtime system for networks of Unix workstations =-=[4], and the -=-Sparcstation 10 symmetric multiprocessor. Cilk is derived from the PCM "parallel continuation machine" system [13], which was itself inspired in part by the research reported here. The per-p... |

44 | Game tree search on massively parallel systems - Feldmann - 1993 |

42 | The Cilk System for Parallel Multithreaded Computing - JOERG - 1996 |

36 | Synchronized MIMD Computing
- Kuszmaul
- 1994
(Show Context)
Citation Context |

35 |
Control of parallelism in the Manchester dataflow machine
- Ruggiero, Sargeant
- 1987
(Show Context)
Citation Context ...uperior to work sharing. Others have studied and continue to study the problem of efficiently managing the space requirements of parallel computations. Culler and Arvind [8] and Ruggiero and Sargeant =-=[23]-=- give heuristics for limiting the space required by dataflow programs. Burton [6] shows how to limit space in certain parallel computations without causing deadlock. The remainder of this paper is org... |

29 | Communication Complexity for Parallel Divide-and-Conquer
- Wu, Kung
- 1991
(Show Context)
Citation Context ...rithm for scheduling "fully strict" (wellstructured) multithreaded computations. This class of computations encompasses both backtrack search computations [15, 26] and divide-and-conquer com=-=putations [25]-=-, as well as dataflow computations [1] in which threads may stall due to a data dependency. We analyze our algorithms in a stringent atomic access model similar to the atomic message-passing model of ... |

29 | Massively parallel chess - Joerg, Kuszmaul - 1994 |

27 | An atomic model for message-passing
- Liu, Aiello, et al.
- 1993
(Show Context)
Citation Context ..., as well as dataflow computations [1] in which threads may stall due to a data dependency. We analyze our algorithms in a stringent atomic access model similar to the atomic message-passing model of =-=[17]-=- in which concurrent accesses to the same data structure are serially queued by an adversary. Our main contribution is a randomized workstealing scheduling algorithm for fully strict multithreaded com... |

27 | Space-efficient scheduling of parallelism with synchronization variables - Blelloch, Gibbons, et al. - 1997 |

27 | Precedence-based memory models - LUCHANGCO - 1997 |

24 | A Fully Distributed Chess Program
- Feldmann, Mysliwietz, et al.
- 1990
(Show Context)
Citation Context |

24 | The weakest reasonable memory model - FRIGO - 1998 |

22 |
MIMD-style parallel programming with continuation-passing threads
- Halbherr, Zhou, et al.
- 1994
(Show Context)
Citation Context |

21 | The performance of work stealing in multiprogrammed environments - Blumofe, Papadopoulos - 1998 |

18 |
Yu Grosberg, and Toyoichi Tanaka. Enumerations of the hamiltonian walks on a cubic sublattice
- Pande, Joerg, et al.
- 1994
(Show Context)
Citation Context ...k implementation, compared with a native C implementation, is typically at most 15 percent on various applications that we have programmed. To date, our applications include a protein-folding program =-=[19]-=-, which was the first program to find the number of hamiltonian paths in a 4 \Theta 4 \Theta 3 grid, and a parallel chess-playing program ?Socrates, which won third prize at the 1994 ACM International... |

13 |
Storage management in virtual tree machines
- Burton
- 1988
(Show Context)
Citation Context ...efficiently managing the space requirements of parallel computations. Culler and Arvind [8] and Ruggiero and Sargeant [23] give heuristics for limiting the space required by dataflow programs. Burton =-=[6]-=- shows how to limit space in certain parallel computations without causing deadlock. The remainder of this paper is organized as follows. In Section 2 we review the graph-theoretic model of multithrea... |

9 |
The efficiency of randomized parallel backtrack search
- Zhang, Ortynski
- 1994
(Show Context)
Citation Context ...g strategy for load balancing independent jobs on a parallel computer, and Karp and Zhang [15] analyzed a randomized work-stealing strategy for parallel backtrack search. Recently, Zhang and Ortynski =-=[26]-=- have obtained good bounds on the communication requirements of the randomized parallel backtrack search algorithm presented in [15]. In this paper, we present and analyze a workstealing algorithm for... |

9 | Hood: a user-level thread library for multiprogrammed multiprocessors - Papadopoulos - 1998 |

5 | Algorithms for data-race detection in multithreaded programs - Cheng - 1998 |

5 | Debugging multithreaded programs that incorporate userlevel locks - Stark - 1998 |

4 | Guaranteeing good memory bounds for parallel programs - Burton - 1996 |

2 |
Cilk 1.0 reference manual
- Blumofe, Joerg, et al.
- 1994
(Show Context)
Citation Context ... speculative computations. How practical are the methods analyzed in this paper ? We have been actively engaged in building a C-based language called "Cilk" for programming multithreaded com=-=putations [2]-=-. We currently have preliminary versions of the system that run on the Connection Machine CM-5, the Phish runtime system for networks of Unix workstations [4], and the Sparcstation 10 symmetric multip... |

1 | Macroscheduling in the Cilk network of workstations environment - Lisiecki - 1996 |

1 | Private communication. [41] Abhiram Ranade. How to emulate shared memory - Plaxton - 1994 |