Gang scheduling - the scheduling of a number of related threads to execute simultaneously on distinct processors -appears to meet the requirements of interactive, multiuser, general-purpose parallel systems. Distributed hierarchical control (DHC) has been proposed as an efficient mechanism for coping with the dynamic processor partitioning necessary to support gang scheduling on massively parallel machines. In this paper, we compare and evaluate different algorithms that can be used within the DHC framework. Regrettably, gang scheduling can leave processors idle if the sizes of the gangs do not match the number of available processors. We show that in DHC this effect can be reduced by reclaiming the leftover processors when the gang size is smaller than the allocated block of processors, and by adjusting the scheduling time quantum to control the adverse effect of badly matched gangs. Consequently, the on-line mapping and scheduling algorithms developed for DHC are optimal in the sense that asymptotically they achieve performance commensurate with off-line algorithms.
Bibliographical noteFunding Information:
1Parts of this research have been presented at conferences [18, 19]. 2Part of this work was done while at the IBM T. J. Watson Research Center, Yorktown Heights, NY 10598. 3Supported in part by grants from the Alexander Silberman Hebrew University Foundation for Applied Science and the Ernst David Bergman Fund for Science.