A COMPREHENSIVE TEST BENCH FOR THE EVALUATION OF SCHEDULING HEURISTICS

Computational problems can usually be divided into a number of (sub)tasks. The data dependencies between these tasks can be described by a so called task graph. Since the task graph scheduling problem is known to be NP-hard, researchers devised an innumerable number of heuristic algorithms to solve this problem best. Up to now, these heuristics were analyzed by using a set of task graph problems, which were rarely revealed to the public. A comparison of different scheduling algorithms presupposes th availability of their implementations. Our contribution c onsists of a test bench with 36000 task graph problems and their optimal solutions with respect to homogeneous target architectures. These test cases are structured according t o several task graph properties and target architectures’ si zes and enable researchers to analyze the overall quality of their heuristics’ results, to detect strengths and weaknes ses of their algorithms and to compare them with those of other researchers. We used the current intermediary version of this test bench to compare some well known scheduling algorithms, namely DLS [1], ETF [2], HLFET [3] and MCP [4]. Surprisingly, the heuristics show a very similar behav ior regarding the quality of the obtained results, exhibiti ng the same strengths and weaknesses, differing only by few percent.

[1]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[2]  Edward G. Coffman,et al.  Computer and job-shop scheduling theory , 1976 .

[3]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[4]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

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

[6]  Ishfaq Ahmad,et al.  Benchmarking the task graph scheduling algorithms , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[7]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[8]  Jun Gu,et al.  Efficient Local Search for DAG Scheduling , 2001, IEEE Trans. Parallel Distributed Syst..

[9]  Wolfram Schiffmann,et al.  A Parallel Branch-and-Bound Algorithm for Computing Optimal Task Graph Schedules , 2003, GCC.

[10]  Kuldip Singh,et al.  An Improved Duplication Strategy for Scheduling Precedence Constrained Graphs in Multiprocessor Systems , 2003, IEEE Trans. Parallel Distributed Syst..

[11]  Wolfram Schiffmann,et al.  Fast Optimal Task Graph Scheduling by Means of an Optimized Parallel A*-Algorithm , 2004, PDPTA.