Static Scheduling Algorithms for Allocating Directed Task Graphs to Multiprocessors

Yu Kwong Kwok, Ishfaq Ahmad

Research output: Contribution to journalArticlepeer-review

1063 Citations (Scopus)

Abstract

Static scheduling of a program represented by a directed task graph on a multiprocessor system to minimize the program completion time is a well-known problem in parallel processing. Since finding an optimal schedule is an NP-complete problem in general, researchers have resorted to devising efficient heuristics. A plethora of heuristics have been proposed based on a wide spectrum of techniques, including branch-and-bound, integer-programming, searching, graphtheory, randomization, genetic algorithms, and evolutionary methods. The objective of this survey is to describe various scheduling algorithms and their functionalities in a contrasting fashion as well as examine their relative merits in terms of performance and time-complexity. Since these algorithms are based on diverse assumptions, they differ in their functionalities, and hence are difficult to describe in a unified context. We propose a taxonomy that classifies these algorithms into different categories. We consider 27 scheduling algorithms, with each algorithm explained through an easy-to-understand description followed by an illustrative example to demonstrate its operation. We also outline some of the novel and promising optimization approaches and current research trends in the area. Finally, we give an overview of the software tools that provide scheduling/mapping functionalities.

Original languageEnglish
Pages (from-to)406-471
Number of pages66
JournalACM Computing Surveys
Volume31
Issue number4
DOIs
Publication statusPublished - Dec 1999
Externally publishedYes

Keywords

  • Automatic parallelization
  • DAG
  • Multiprocessors
  • Parallel processing
  • Software tools
  • Static scheduling
  • Task graphs

Fingerprint

Dive into the research topics of 'Static Scheduling Algorithms for Allocating Directed Task Graphs to Multiprocessors'. Together they form a unique fingerprint.

Cite this