Observations on Using Genetic Algorithms for Dynamic Load-Balancing

Load-balancing problems arise in many applications, but, most importantly, they play a special role in the operation of parallel and distributed computing systems. Load-balancing deals with partitioning a program into smaller tasks that can be executed concurrently and mapping each of these tasks to a computational resource such as a processor (e.g., in a multiprocessor system) or a computer (e.g., in a computer network). By developing strategies that can map these tasks to processors in a way that balances out the load, the total processing time will be reduced with improved processor utilization. Most of the research on load-balancing focused on static scenarios that, in most of the cases, employ heuristic methods. However, genetic algorithms have gained immense popularity over the last few years as a robust and easily adaptable search technique. The work proposed here investigates how a genetic algorithm can be employed to solve the dynamic load-balancing problem. A dynamic load-balancing algorithm is developed whereby optimal or near-optimal task allocations can "evolve" during the operation of the parallel computing system. The algorithm considers other load-balancing issues such as threshold policies, information exchange criteria, and interprocessor communication. The effects of these and other issues on the success of the genetic-based load-balancing algorithm as compared with the first-fit heuristic are outlined.

[1]  David E. Goldberg,et al.  Sizing Populations for Serial and Parallel Genetic Algorithms , 1989, ICGA.

[2]  Zbigniew Michalewicz,et al.  Genetic Algorithms + Data Structures = Evolution Programs , 1996, Springer Berlin Heidelberg.

[3]  Ron Shonkwiler,et al.  Parallel Genetic Algorithms , 1993, ICGA.

[4]  Albert Y. Zomaya,et al.  Scheduling in Parallel Computing Systems , 1999 .

[5]  M. Deriche,et al.  Dynamic load balancing in distributed heterogeneous systems under stationary and bursty traffics , 1989, Proceedings of the 32nd Midwest Symposium on Circuits and Systems,.

[6]  Zbigniew Michalewicz,et al.  Genetic algorithms + data structures = evolution programs (2nd, extended ed.) , 1994 .

[7]  Chong-Sun Hwang,et al.  A genetic algorithm method for sender-based dynamic load balancing algorithm in distributed systems , 1997, Proceedings of 1st International Conference on Conventional and Knowledge Based Intelligent Electronic Systems. KES '97.

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

[9]  A. Y. Zomaya Parallel and Distributed Computing: The Scene, the Props, the Players , 1996 .

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

[11]  Roger L. Wainwright,et al.  Dynamic scheduling of computer tasks using genetic algorithms , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[12]  Albert Y. Zomaya,et al.  Scheduling in Parallel Computing Systems: Fuzzy and Annealing Techniques , 1999 .

[13]  Masaharu Munetomo,et al.  A genetic approach to dynamic load balancing in a distributed computing system , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[14]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[15]  Anurag Kumar,et al.  Adaptive optimal load balancing in a heterogeneous multiserver system with a central job scheduler , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[16]  M. D. Kidwell,et al.  Genetic allgorithm for dynamic task scheduling , 1994, Proceeding of 13th IEEE Annual International Phoenix Conference on Computers and Communications.

[17]  Francis C. M. Lau,et al.  Load balancing in parallel computers - theory and practice , 1996, The Kluwer international series in engineering and computer science.

[18]  Cauligi S. Raghavendra,et al.  A Dynamic Load-Balancing Policy With a Central Job Dispatcher (LBC) , 1992, IEEE Trans. Software Eng..

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

[20]  Anna Hác,et al.  Dynamic Load Balancing in a Distributed System Using a Sender-Initiated Algorithm , 1987, SIGMETRICS Perform. Evaluation Rev..

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

[22]  Youran Lan,et al.  A dynamic central scheduler load balancing mechanism , 1995, Proceedings International Phoenix Conference on Computers and Communications.

[23]  Albert Y. Zomaya,et al.  Solutions to Parallel and Distributed Computing Problems: Lessons from Biological Sciences , 2000 .

[24]  Anurag Kumar,et al.  Adaptive Optimal Load Balancing in a Nonhomogeneous Multiserver System with a Central Job Scheduler , 1990, IEEE Trans. Computers.

[25]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[26]  Chong-Wei Xu,et al.  A Distributed Drafting Algorithm for Load Balancing , 1985, IEEE Transactions on Software Engineering.