Reducing the solution space of optimal task scheduling

Many scheduling problems are tackled by heuristics due to their NP-hard nature. Task scheduling with communication delays (P|prec,c"i"j|C"m"a"x) is no exception. Nevertheless, it can be of significant advantage to have optimal schedules, e.g. for time critical systems or as a baseline to evaluate heuristics. A promising approach to optimal task scheduling with communication delays for small problems is the use of exhaustive search techniques such as A^@?. A^@? is a best first search algorithm guided by a cost function. While good cost functions reduce the search space, early results have shown that problem specific pruning techniques are paramount. This paper proposes two novel pruning techniques that significantly reduce the search space for P|prec,c"i"j|C"m"a"x. The pruning techniques Fixed Task Order and Equivalent Schedules are carefully investigated based on observations made with simple graph structures such as fork, join and fork-join, yet they are generally applicable. An extensive experimental evaluation of computing more than two thousand schedules demonstrates the efficiency of the novel pruning techniques in significantly reducing the solution space.

[1]  Maciej Drozdowski,et al.  Scheduling for Parallel Processing , 2009, Computer Communications and Networks.

[2]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[3]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[4]  Victor J. Rayward-Smith,et al.  UET scheduling with unit interprocessor communication delays , 1987, Discret. Appl. Math..

[5]  Nenad Mladenović,et al.  Towards the Optimal Solution of the Multiprocessor Scheduling Problem with Communication Delays , 2007 .

[6]  Claire Hanen,et al.  An approximation algorithm for scheduling dependent tasks on m processors with small communication delays , 2001, Discret. Appl. Math..

[7]  Albert Y. Zomaya,et al.  Genetic Scheduling for Parallel Processor Systems: Comparative Studies and Performance Issues , 1999, IEEE Trans. Parallel Distributed Syst..

[8]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[9]  Oliver Sinnen,et al.  Task Scheduling for Parallel Systems , 2007, Wiley series on parallel and distributed computing.

[10]  B. J. Lageweg,et al.  Multiprocessor scheduling with communication delays , 1990, Parallel Comput..

[11]  Damla Turgut,et al.  A performance study of multiprocessor task scheduling algorithms , 2007, The Journal of Supercomputing.

[12]  Jeffrey J. P. Tsai,et al.  Clustering Algorithm for Parallelizing Software Systems in Multiprocessors Environment , 2000, IEEE Trans. Software Eng..

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

[14]  L Poole David,et al.  Artificial Intelligence: Foundations of Computational Agents , 2010 .

[15]  Leonel Sousa,et al.  Experimental Evaluation of Task Scheduling Accuracy: Implications for the Scheduling Model , 2003 .

[16]  Tao Yang,et al.  List Scheduling With and Without Communication Delays , 1993, Parallel Comput..

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

[18]  Ishfaq Ahmad,et al.  Optimal task assignment in heterogeneous distributed computing systems , 1998, IEEE Concurr..

[19]  Stuart J. Russell Efficient Memory-Bounded Search Methods , 1992, ECAI.

[20]  C. Hanen,et al.  An approximation algorithm for scheduling dependent tasks on m processors with small communication delays , 1995, Proceedings 1995 INRIA/IEEE Symposium on Emerging Technologies and Factory Automation. ETFA'95.

[21]  Rina Dechter,et al.  Generalized best-first search strategies and the optimality of A* , 1985, JACM.

[22]  Kuo-Chi Lin,et al.  An incremental genetic algorithm approach to multiprocessor scheduling , 2004, IEEE Transactions on Parallel and Distributed Systems.

[23]  Oliver Sinnen,et al.  Task Scheduling for Parallel Systems (Wiley Series on Parallel and Distributed Computing) , 2007 .

[24]  Leonel Sousa,et al.  Scheduling Task Graphs on Arbitrary Processor Architectures Considering Contention , 2001, HPCN Europe.

[25]  Nawwaf N. Kharma,et al.  A high performance algorithm for static task scheduling in heterogeneous distributed computing systems , 2008, J. Parallel Distributed Comput..

[26]  Oliver Sinnen,et al.  Scheduling task graphs optimally with A* , 2010, The Journal of Supercomputing.

[27]  Sivarama P. Dandamudi,et al.  An Efficient Adaptive Scheduling Scheme for Distributed Memory Multicomputers , 2001, IEEE Trans. Parallel Distributed Syst..

[28]  Shuvra S. Bhattacharyya,et al.  Efficient techniques for clustering and scheduling onto embedded multiprocessors , 2006, IEEE Transactions on Parallel and Distributed Systems.

[29]  Ishfaq Ahmad,et al.  On multiprocessor task scheduling using efficient state space search approaches , 2005, J. Parallel Distributed Comput..

[30]  Jan Janecek,et al.  A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[31]  Mitsuo Gen,et al.  A comparison of multiprocessor task scheduling algorithms with communication costs , 2008, Comput. Oper. Res..

[32]  Alberto Sangiovanni-Vincentelli,et al.  Classification, Customization, and Characterization: Using MILP for Task Allocation and Scheduling , 2006 .

[33]  Armin Bender MILP based task mapping for heterogeneous multiprocessor systems , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[34]  E.L. Lawler,et al.  Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey , 1977 .