Scheduling multithreaded computations by work stealing

  • Blumofe R
  • Leiserson C
N/ACitations
Citations of this article
87Readers
Mendeley users who have this article in their library.
Get full text

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 P to execute a fully strict computation on P processors using our work-stealing scheduler is T P =O(T 1 /P+T ∞), where T 1 is the minimum serial execution time of the multithreaded computation and T ∞ is the minimum execution time with an infinite number of processors. Moreover, the space S P required by the execution satisfies S P ⩽S 1 P. We also show that the expected total communication of the algorithm is at most O(T ∞ S max P), where S 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

Cite

CITATION STYLE

APA

Blumofe, R. D., & Leiserson, C. E. (2002). Scheduling multithreaded computations by work stealing (pp. 356–368). Institute of Electrical and Electronics Engineers (IEEE). https://doi.org/10.1109/sfcs.1994.365680

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free