Task Matching and Scheduling in Heterogenous Computing Environments Using a Genetic-Algorithm-Based Approach

To exploit a heterogeneous computing (HC) environment, an application task may be decomposed into subtasks that have data dependencies. Subtask matching and scheduling consists of assigning subtasks to machines, ordering subtask execution for each machine, and ordering intermachine data transfers. The goal is to achieve the minimal completion time for the task. A heuristic approach based on a genetic algorithm is developed to do matching and scheduling in HC environments. It is assumed that the matcher/scheduler is in control of a dedicated HC suite of machines. The characteristics of this genetic-algorithm-based approach include: separation of the matching and the scheduling representations, independence of the chromosome structure from the details of the communication subsystem, and consideration of overlap among all computations and communications that obey subtask precedence constraints. It is applicable to the static scheduling of production jobs and can be readily used to collectively schedule a set of tasks that are decomposed into subtasks. Some parameters and the selection scheme of the genetic algorithm were chosen experimentally to achieve the best performance. Extensive simulation tests were conducted. For small-sized problems (e.g., a small number of subtasks and a small number of machines), exhaustive searches were used to verify that this genetic-algorithm-based approach found the optimal solutions. Simulation results for larger-sized problems showed that this genetic-algorithm-based approach outperformed two nonevolutionary heuristics and a random search.

[1]  Edward G. Coffman,et al.  Optimal Preemptive Scheduling on Two-Processor Systems , 1969, IEEE Transactions on Computers.

[2]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

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

[4]  C. L. Philip Chen,et al.  Efficient scheduling algorithms for robot inverse dynamics computation on a multiprocessor system , 1988, IEEE Trans. Syst. Man Cybern..

[5]  David Fernández-Baca,et al.  Allocating Modules to Processors in a Distributed System , 1989, IEEE Trans. Software Eng..

[6]  R. F. Freund,et al.  Optimal selection theory for superconcurrency , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[7]  L. Darrell Whitley,et al.  The GENITOR Algorithm and Selection Pressure: Why Rank-Based Allocation of Reproductive Trials is Best , 1989, ICGA.

[8]  Randy Hoebelheinrich,et al.  Multiple crossbar network integrated supercomputing framework , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[9]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

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

[11]  D. Tolmie,et al.  HIPPI: simplicity yields success , 1993, IEEE Network.

[12]  Viktor K. Prasanna,et al.  Heterogeneous computing: challenges and opportunities , 1993, Computer.

[13]  R. F. Freund,et al.  Guest Editor's Introduction: Heterogeneous Processing , 1993 .

[14]  Arif Ghafoor,et al.  A distributed heterogeneous supercomputing management system , 1993, Computer.

[15]  Mary Mehrnoosh Eshaghian-Wilner,et al.  Cluster-M Parallel Programming Paradigm , 1994, Int. J. High Speed Comput..

[16]  Mikhail J. Atallah,et al.  Static program decomposition among machines in an SIMD/SPMD heterogeneous environment with non-constant mode switching costs , 1994, Proceedings Heterogeneous Computing Workshop.

[17]  Cesare Alippi,et al.  Genetic-algorithm programming environments , 1994, Computer.

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

[19]  Bhagirath Narahari,et al.  Matching and scheduling in a generalized optimal selection theory , 1994, Proceedings Heterogeneous Computing Workshop.

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

[21]  Charles C. Weems,et al.  Linguistic support for heterogeneous parallel processing: a survey and an approach , 1994, Proceedings Heterogeneous Computing Workshop.

[22]  Günter Rudolph,et al.  Convergence analysis of canonical genetic algorithms , 1994, IEEE Trans. Neural Networks.

[23]  Sadiq M. Sait,et al.  Genetic scheduling of task graphs , 1994 .

[24]  Füsun Özgüner,et al.  Parallelizing Existing Applications in a Distributed Heterogeneous Environment , 1995 .

[25]  T. Kailath,et al.  Discrete Neural Computation: A Theoretical Foundation , 1995 .

[26]  Albert Y. Zomaya Parallel and Distributed Computing Handbook , 1995 .

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

[28]  Howard Jay Siegel,et al.  A genetic-algorithm-based approach for subtask matching and scheduling in heterogeneous computing environments and a comparative study of parallel genetic algorithms , 1997 .

[29]  Ranga S. Ramanujan,et al.  On-line use of off-line derived mappings for iterative automatic target recognition tasks and a particular class of hardware platforms , 1997, Proceedings Sixth Heterogeneous Computing Workshop (HCW'97).