A Hybrid GA-based Scheduling Algorithm for Heterogeneous Computing Environments

We design a hybrid algorithm to schedule the execution of a group of dependent tasks for heterogeneous computing environments. The algorithm consists of two elements: a genetic algorithm (GA) to map tasks to processors, and a heuristic-based approach to assign the execution order of tasks. This algorithm takes advantage of both the exploration power of GA and the heuristics embedded in the scheduling problem, so it can effectively reduce the search space while not sacrificing the search quality. The experiments show that this algorithm performs consistently better than heterogeneous earliest-finish-time (HEFT) without incurring much computational cost. Multiple runs of the algorithm can further improve the search result.

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

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

[3]  Ishfaq Ahmad,et al.  On Exploiting Task Duplication in Parallel Program Scheduling , 1998, IEEE Trans. Parallel Distributed Syst..

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

[5]  Imtiaz Ahmad,et al.  Multiprocessor Scheduling in a Genetic Paradigm , 1996, Parallel Comput..

[6]  M.K. Dhodhi,et al.  A multiprocessor scheduling scheme using problem-space genetic algorithms , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[7]  Jian Xu,et al.  Mapping Partitioned Program Modules Onto Multicomputer Nodes Using Simulated Annealing , 1990, ICPP.

[8]  Tatsuhiro Tsuchiya,et al.  Genetics-based multiprocessor scheduling using task duplication , 1998, Microprocess. Microsystems.

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

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

[11]  Scott F. Midkiff,et al.  Processor and Link Assignment in Multicomputers Using Simulated Annealing , 1988, ICPP.

[12]  James C. Browne,et al.  General approach to mapping of parallel computations upon multiprocessor architectures , 1988 .

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

[14]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[15]  Nirwan Ansari,et al.  A Genetic Algorithm for Multiprocessor Scheduling , 1994, IEEE Trans. Parallel Distributed Syst..

[16]  Ashwini K. Nanda,et al.  Scheduling directed task graphs on multiprocessors using simulated annealing , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[17]  Anthony A. Maciejewski,et al.  Task Matching and Scheduling in Heterogenous Computing Environments Using a Genetic-Algorithm-Based Approach , 1997, J. Parallel Distributed Comput..

[18]  C. Ribeiro,et al.  A Tabu Search Approach to Task Scheduling on Heterogeneous Processors under Precedence Constraints , 1995, Int. J. High Speed Comput..