EXHAUSTIVE LIST-SCHEDULING HEURISTIC FOR DENSE TASK GRAPHS*

The multiprocessor scheduling problem has usually been "solved" by using heuristic methods. A large number of such heuristics can be found in the literature, but none of them can efficiently be applied to the problem in its most general form. The efficiency of any scheduling heuristic depends on both the task graph structure and the multiprocessor system architecture. List-scheduling heuristics are the most common ones in use. They are based on the definition of the task priority list determining the order in which tasks will be scheduled (assigned to one of the processors). A task can be assigned to a processor in many different ways, but variations of the earliest start heuristics are the most frequent in use. In this paper a scheduling strategy based on the use of multiple task priority lists combined with several assignment heuristics is suggested in order to find optimal (near-optimal at the worst) solutions for a large class of arbitrary task graphs. It is shown that performing an exhaustive search overall feasible task priority lists is not too expensive for scheduling dense task graphs.

[1]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[2]  Peter Thanisch,et al.  Assigning dependency graphs onto processor networks , 1991, Parallel Comput..

[3]  Goran Lj. Djordjevic,et al.  A Compile-Time Scheduling Heuristic for Multiprocessor Architectures , 1996, Comput. J..

[4]  A. K. Sarje,et al.  Heuristic model for task allocation in distributed computer systems , 1991 .

[5]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

[6]  Kemal Efe,et al.  Task scheduling with and without communication delays: A unified approach , 1996 .

[7]  Jeffrey D. Ullman,et al.  NP-Complete Scheduling Problems , 1975, J. Comput. Syst. Sci..

[8]  Aloysius K. Mok,et al.  Multiprocessor On-Line Scheduling of Hard-Real-Time Tasks , 1989, IEEE Trans. Software Eng..

[9]  Nenad Kircanski,et al.  A contribution to parallelization of symbolic robot models , 1995, Robotica.

[10]  Ishfaq Ahmad,et al.  Efficient Scheduling of Arbitrary TAsk Graphs to Multiprocessors Using a Parallel Genetic Algorithm , 1997, J. Parallel Distributed Comput..

[11]  Ishfaq Ahmad,et al.  FASTEST: A Practical Low-Complexity Algorithm for Compile-Time Assignment of Parallel Programs to Multiprocessors , 1999, IEEE Trans. Parallel Distributed Syst..

[12]  Tao Yang,et al.  DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors , 1994, IEEE Trans. Parallel Distributed Syst..

[13]  Eugene L. Lawler,et al.  Scheduling In and Out Forests in the Presence of Communication Delays , 1996, IEEE Trans. Parallel Distributed Syst..

[14]  Stella Sofianopoulou ASSIGNMENT OF DISTRIBUTED PROCESSING SOFTWARE: A COMPARATIVE STUDY , 1996 .

[15]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[16]  Brian A. Malloy,et al.  Scheduling DAG's for Asynchronous Multiprocessor Execution , 1994, IEEE Trans. Parallel Distributed Syst..