A hybrid heuristic-genetic algorithm for task scheduling in heterogeneous processor networks

Efficient task scheduling on heterogeneous distributed computing systems (HeDCSs) requires the consideration of the heterogeneity of processors and the inter-processor communication. This paper presents a two-phase algorithm, called H2GS, for task scheduling on HeDCSs. The first phase implements a heuristic list-based algorithm, called LDCP, to generate a high quality schedule. In the second phase, the LDCP-generated schedule is injected into the initial population of a customized genetic algorithm, called GAS, which proceeds to evolve shorter schedules. GAS employs a simple genome composed of a two-dimensional chromosome. A mapping procedure is developed which maps every possible genome to a valid schedule. Moreover, GAS uses customized operators that are designed for the scheduling problem to enable an efficient stochastic search. The performance of each phase of H2GS is compared to two leading scheduling algorithms, and H2GS outperforms both algorithms. The improvement in performance obtained by H2GS increases as the inter-task communication cost increases.

[1]  S. Ranka,et al.  Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors , 1992, Proceedings Supercomputing '92.

[2]  John J. Grefenstette,et al.  Rank-based selection , 2018, Evolutionary Computation 1.

[3]  Michael O'Neill,et al.  Genetic Code Degeneracy: Implications for Grammatical , 1999, ECAL.

[4]  Zbigniew Michalewicz,et al.  Parameter Control in Evolutionary Algorithms , 2007, Parameter Setting in Evolutionary Algorithms.

[5]  Dharma P. Agrawal,et al.  Improving scheduling of tasks in a heterogeneous environment , 2004, IEEE Transactions on Parallel and Distributed Systems.

[6]  Martin Grajcar Strengths and weaknesses of genetic list scheduling for heterogeneous systems , 2001, Proceedings Second International Conference on Application of Concurrency to System Design.

[7]  Patrick Siarry,et al.  A multipopulation genetic algorithm aimed at multimodal optimization , 2002 .

[8]  Lee C. Potter,et al.  Statistical Prediction of Task Execution Times through Analytic Benchmarking for Scheduling in a Heterogeneous Environment , 1999, IEEE Trans. Computers.

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

[10]  D. E. Goldberg,et al.  Genetic Algorithm in Search , 1989 .

[11]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[12]  Alexandru Iosup,et al.  How are Real Grids Used? The Analysis of Four Grid Traces and Its Implications , 2006, 2006 7th IEEE/ACM International Conference on Grid Computing.

[13]  John J. Grefenstette,et al.  Competition-Based Learning , 1993 .

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

[15]  Henri Casanova,et al.  A decoupled scheduling approach for Grid application development environments , 2003, J. Parallel Distributed Comput..

[16]  Susan Chipman,et al.  Foundations of Knowledge Acquisition , 1993 .

[17]  Kuldip Singh,et al.  Dealing with heterogeneity through limited duplication for scheduling precedence constrained task graphs , 2005, J. Parallel Distributed Comput..

[18]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[19]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[20]  Martin Grajcar Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system , 1999, DAC '99.

[21]  Nawwaf N. Kharma,et al.  An Efficient Genetic Algorithm for Task Scheduling in Heterogeneous Distributed Computing Systems , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[22]  Albert Y. Zomaya,et al.  Observations on Using Genetic Algorithms for Dynamic Load-Balancing , 2001, IEEE Trans. Parallel Distributed Syst..

[23]  Boontee Kruatrachue,et al.  Grain size determination for parallel processing , 1988, IEEE Software.

[24]  Babak Hamidzadeh,et al.  Dynamic Task Scheduling Using Online Optimization , 2000, IEEE Trans. Parallel Distributed Syst..

[25]  Arjan J. C. van Gemund,et al.  Low-Cost Task Scheduling for Distributed-Memory Machines , 2002, IEEE Trans. Parallel Distributed Syst..

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

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

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

[29]  Enrique Alba,et al.  Heterogeneous computing scheduling with evolutionary algorithms , 2010, Soft Comput..

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

[31]  Hui He,et al.  Multisite resource selection and scheduling algorithm on computational grid , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[32]  Sanjeev Baskiyar,et al.  Scheduling directed a-cyclic task graphs on a bounded set of heterogeneous processors using task duplication , 2005, J. Parallel Distributed Comput..

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

[34]  E. Ilavarasan,et al.  Performance Effective Task Scheduling Algorithm for Heterogeneous Computing System , 2005, The 4th International Symposium on Parallel and Distributed Computing (ISPDC'05).

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

[36]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[37]  Zbigniew Michalewicz,et al.  Handbook of Evolutionary Computation , 1997 .

[38]  Jing-Chiou Liou,et al.  A comparison of general approaches to multiprocessor scheduling , 1997, Proceedings 11th International Parallel Processing Symposium.

[39]  Panlop Zeephongsekul,et al.  A Method for Estimating the Execution Time of a Parallel Task on a Grid Node , 2005, EGC.

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

[41]  Alan Lester. Meyrowitz Foundations of Knowledge Acquisition: Machine Learning , 1993 .

[42]  Lalit M. Patnaik,et al.  Genetic algorithms: a survey , 1994, Computer.

[43]  Hesham El-Rewini,et al.  Scheduling Parallel Program Tasks onto Arbitrary Target Machines , 1990, J. Parallel Distributed Comput..

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

[45]  Gurdeep S. Hura,et al.  Non-evolutionary algorithm for scheduling dependent tasks in distributed heterogeneous computing environments , 2005, J. Parallel Distributed Comput..

[46]  Myeong-Cheol Ko,et al.  CPOC: Effective Static Task Scheduling for Grid Computing , 2005, HPCC.

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

[48]  P. Siarry,et al.  An improvement of the standard genetic algorithm fighting premature convergence in continuous optimization , 2000 .

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