Static task scheduling and grain packing in parallel processing systems
Boontee Kruatrachue · 1987
We extend previous results for optimally scheduling concurrent program modules, called tasks, on a fixed, finite number of parallel processors in two fundamental ways: (1) we introduce a new heuristic which considers the time delay imposed by message transmission among concurrently running tasks; and (2) we introduce a second heuristic which maximizes program execution speed by duplicating tasks. Simulation results are given which suggest an order of magnitude improvement in program execution speed over previous scheduling heuristics. The first solution, called ISH (insertion scheduling heuristic), provides only a small improvement over current solutions but has a smaller time complexity than DSH, O(N$\sp2$). DSH (duplication scheduling heuristic) is an O(N$\sp4$) heuristic that (1) gives up to an order of magnitude improvement in performance, (2) solves the max-min problem of parallel processor scheduling by duplicating selected scheduled tasks on some PEs, and (3) gives monotonically growing improvements as the number of PEs is increased. The max-min problem is caused by the trade-off between maximum parallelism versus minimum communication delay. The DSH is also applied in Grain Packing, which is a new way to define the grain size for a user program on a specific parallel processing system. Instead of defining the grain size before scheduling, grain packing uses the fine grain scheduling to construct larger grains. In this way all available parallelism is considered as well as the communication delay.