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
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.