The Community for Technology Leaders
Green Image
<p><b>Abstract</b>—This paper addresses the problem of scheduling parallel programs represented as directed acyclic task graphs for execution on distributed memory parallel architectures. Because of the high communication overhead in existing parallel machines, a crucial step in scheduling is <it>task clustering</it>, the process of coalescing fine grain tasks into single coarser ones so that the overall execution time is minimized. The task clustering problem is <it>NP</it>-hard, even when the number of processors is unbounded and task duplication is allowed. A simple greedy algorithm is presented for this problem which, for a task graph with arbitrary granularity, produces a schedule whose makespan is at most twice optimal. Indeed, the quality of the schedule improves as the granularity of the task graph becomes larger. For example, if the granularity is at least 1/2, the makespan of the schedule is at most 5/3 times optimal. For a task graph with <it>n</it> tasks and <it>e</it> inter-task communication constraints, the algorithm runs in <tmath>$O(n(n\ l{\sl g}\ n + e))$</tmath> time, which is <it>n</it> times faster than the currently best known algorithm for this problem. Similar algorithms are developed that produce: (1) optimal schedules for coarse grain graphs; (2) 2-optimal schedules for trees with <it>no</it> task duplication; and (3) optimal schedules for coarse grain trees with <it>no</it> task duplication.</p>
Program task graph, task granularity, task scheduling, distributed memory architectures, approximation algorithms.

D. S. Wei, J. Liou and M. A. Palis, "Task Clustering and Scheduling for Distributed Memory Parallel Architectures," in IEEE Transactions on Parallel & Distributed Systems, vol. 7, no. , pp. 46-55, 1996.
89 ms
(Ver 3.3 (11022016))