Skip to main navigation Skip to search Skip to main content

Dynamic critical-path scheduling: An effective technique for allocating task graphs to multiprocessors

Research output: Contribution to journal › Article › peer-review

708 Citations (Scopus)

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.

Original languageEnglish
Pages (from-to)506-521
Number of pages16
JournalIEEE Transactions on Parallel and Distributed Systems
Volume7
Issue number5
DOIs
Publication statusPublished - 1996
Externally publishedYes

Keywords

  • Algorithms
  • Clustering
  • List scheduling
  • Multiprocessors
  • Parallel scheduling
  • Processor allocation
  • Task graphs

Fingerprint

Dive into the research topics of 'Dynamic critical-path scheduling: An effective technique for allocating task graphs to multiprocessors'. Together they form a unique fingerprint.

Cite this