Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors
- 1 May 1996
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 7 (5) , 506-521
- https://doi.org/10.1109/71.503776
Abstract
In this paper, we propose a static scheduling algorithm for allocating task graphs to fully connected multiprocessors. We discuss six recently reported scheduling algorithms and show that they possess one drawback or the other which can lead to poor performance. The proposed algorithm, which is called the Dynamic Critical-Path (DCP) scheduling algorithm, is different from the previously proposed algorithms in a number of ways. First, it determines the critical path of the task graph and selects the next node to be scheduled in a dynamic fashion. Second, it rearranges the schedule on each processor dynamically in the sense that the positions of the nodes in the partial schedules are not fixed until all nodes have been considered. Third, it selects a suitable processor for a node by looking ahead the potential start times of the remaining nodes on that processor, and schedules relatively less important nodes to the processors already in use. A global as well as a pair-wise comparison is carried out for all seven algorithms under various scheduling conditions. The DCP algorithm outperforms the previous algorithms by a considerable margin. Despite having a number of new features, the DCP algorithm has admissible time complexity, is economical in terms of the number of processors used and is suitable for a wide range of graph structures. © 1996 IEEE.link_to_subscribed_fulltexKeywords
This publication has 31 references indexed in Scilit:
- DSC: scheduling parallel tasks on an unbounded number of processorsIEEE Transactions on Parallel and Distributed Systems, 1994
- A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architecturesIEEE Transactions on Parallel and Distributed Systems, 1993
- A comparison of clustering heuristics for scheduling directed acyclic graphs on multiprocessorsJournal of Parallel and Distributed Computing, 1992
- Analysis and evaluation of heuristic methods for static task schedulingJournal of Parallel and Distributed Computing, 1990
- Scheduling parallel program tasks onto arbitrary target machinesJournal of Parallel and Distributed Computing, 1990
- Parallel Gaussian elimination on an MIMD computerParallel Computing, 1988
- Deterministic Processor SchedulingACM Computing Surveys, 1977
- Scheduling Graphs on Two ProcessorsSIAM Journal on Computing, 1976
- Bounds on the Number of Processors and Time for Multiprocessor Optimal SchedulesIEEE Transactions on Computers, 1973
- Optimal Scheduling Strategies in a Multiprocessor SystemIEEE Transactions on Computers, 1972