static scheduling algorithms for allocating directed...

Click here to load reader

Post on 23-Jul-2018

215 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Static Scheduling Algorithms for Allocating Directed Task Graphs to Multiprocessors

    Yu-Kwong Kwok1 and Ishfaq Ahmad2

    1Department of Electrical and Electronic EngineeringThe University of Hong KongPokfulam Road, Hong Kong

    2Department of Computer ScienceThe Hong Kong University of Science and Technology

    Clear Water Bay, Hong Kong

    Email: [email protected], [email protected]

    Revised: July 1998

    . This research was supported by the Hong Kong Research Grants Council under contract numberHKUST 734/96E and HKUST 6076/97E.

  • Table of Contents

    Abstract ..............................................................................................................................................1

    1. Introduction..............................................................................................................................2

    2. The DAG Scheduling Problem ..............................................................................................6

    2.1 The DAG Model.............................................................................................................6

    2.2 Generation of a DAG.....................................................................................................8

    2.3 Variations in the DAG Model ......................................................................................8

    2.4 The Multiprocessor Model .........................................................................................10

    3. NP-Completeness of the DAG Scheduling Problem ........................................................10

    4. A Taxonomy of DAG Scheduling Algorithms ..................................................................11

    5. Basic Techniques in DAG Scheduling ................................................................................14

    6. Description of the Algorithms .............................................................................................17

    6.1 Scheduling DAGs with Restricted Structures..........................................................18

    6.1.1 Hus Algorithm for Tree-Structured DAGs ........................................................ 18

    6.1.2 Coffman and Grahams Algorithm for Two-Processor Scheduling ................ 19

    6.1.3 Scheduling Interval-Ordered DAGs .................................................................... 20

    6.2 Scheduling Arbitrary DAGs without Communication ..........................................21

    6.2.1 Level-based Heuristics ........................................................................................... 21

    6.2.2 A Branch-and-Bound Approach........................................................................... 22

    6.2.3 Analytical Performance Bounds for Scheduling without Communication........................................................................................ 23

    6.3 UNC Scheduling ..........................................................................................................25

    6.3.1 Scheduling of Primitive Graph Structures .......................................................... 25

    6.3.2 The EZ Algorithm ................................................................................................... 26

    6.3.3 The LC Algorithm................................................................................................... 27

    6.3.4 The DSC Algorithm ................................................................................................ 28

    6.3.5 The MD Algorithm ................................................................................................. 30

    6.3.6 The DCP Algorithm................................................................................................ 31

    6.3.7 Other UNC Approaches......................................................................................... 33

    6.3.8 Theoretical Analysis for UNC Scheduling .......................................................... 34

    6.4 BNP Scheduling ...........................................................................................................34

    6.4.1 The HLFET Algorithm ........................................................................................... 34

    6.4.2 The ISH Algorithm ................................................................................................. 36

    6.4.3 The MCP Algorithm ............................................................................................... 36

    6.4.4 The ETF Algorithm ................................................................................................. 38

    6.4.5 The DLS Algorithm................................................................................................. 39

  • 6.4.6 The LAST Algorithm .............................................................................................. 42

    6.4.7 Other BNP Approaches.......................................................................................... 42

    6.4.8 Analytical Performance Bounds of BNP Scheduling......................................... 45

    6.5 TDB Scheduling............................................................................................................45

    6.5.1 The PY Algorithm ................................................................................................... 46

    6.5.2 The LWB Algorithm ............................................................................................... 47

    6.5.3 The DSH Algorithm................................................................................................ 48

    6.5.4 The BTDH Algorithm............................................................................................. 49

    6.5.5 The LCTD Algorithm ............................................................................................. 50

    6.5.6 The CPFD Algorithm.............................................................................................. 51

    6.5.7 Other TDB Approaches.......................................................................................... 54

    6.6 APN Scheduling...........................................................................................................55

    6.6.1 The Message Routing Issue ................................................................................... 55

    6.6.2 The MH Algorithm ................................................................................................. 56

    6.6.3 The DLS Algorithm................................................................................................. 57

    6.6.4 The BU Algorithm................................................................................................... 58

    6.6.5 The BSA Algorithm................................................................................................. 59

    6.6.6 Other APN Approaches ......................................................................................... 62

    6.7 Scheduling in Heterogeneous Environments ..........................................................63

    6.8 Mapping Clusters to Processors ................................................................................64

    7. Some Scheduling Tools .........................................................................................................66

    7.1 Hypertool ......................................................................................................................66

    7.2 PYRROS.........................................................................................................................66

    7.3 Parallax ..........................................................................................................................67

    7.4 OREGAMI.....................................................................................................................67

    7.5 PARSA...........................................................................................................................67

    7.6 CASCH ..........................................................................................................................68

    7.7 Commercial Tools ........................................................................................................68

    8. New Ideas and Research Trends .........................................................................................69

    8.1 Scheduling using Genetic Algorithms......................................................................70

    8.2 Randomization Techniques........................................................................................72

    8.3 Parallelizing a Scheduling Algorithm.......................................................................73

    8.4 Future Research Directions ........................................................................................75

    9. Summary and Concluding Remarks...................................................................................76

    References ........................................................................................................................................77

  • - 1 -

    Static Scheduling Algorithms for Allocating Directed Task Graphs to Multiprocessors

    Yu-Kwong Kwok1 and Ishfaq Ahmad2

    1Department of Electrical and Electronic EngineeringThe University of Hong KongPokfulam Road, Hong Kong

    2Department of Computer ScienceThe Hong Kong University of Science and Technology

    Clear Water Bay, Hong Kong

    Email: [email protected], [email protected]

    Abstract

    Static scheduling of a program represented by a direct

View more