This Article 
 Bibliographic References 
 Add to: 
Observations on Using Genetic Algorithms for Dynamic Load-Balancing
September 2001 (vol. 12 no. 9)
pp. 899-911

Abstract—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 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] S.H. Bokhari, “On the Mapping Problem,” IEEE Trans. Computers, vol. 30, no. 3, pp. 550-557, Mar. 1981.
[2] F. Bonomi and A. Kumar, “Adaptive Optimal Load-Balancing in a Heterogeneous Multiserver System with a Central Job Scheduler,” IEEE Trans. Computers, vol. 39, no. 10, pp. 1232-1250, Oct. 1990.
[3] A. Chipperfield and P. Fleming, “Parallel Genetic Algorithms,” Parallel and Distributed Computing Handbook, first ed., pp. 1118-1193. A. Zomaya, ed., New York: McGraw-Hill, 1996.
[4] M. Deriche, M.K. Huang, and Q.T. Tsai, “Dynamic Load-Balancing in Distributed Heterogeneous Systems under Stationary and Bursty Traffics,” Proc. 32nd Midwest Symp. Circuits and Systems, vol. 1, pp. 669-672, 1990.
[5] D.E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, Mass.: Addison-Wesley, 1989.
[6] D.E. Goldberg, “Sizing Populations for Serial and Parallel Genetic Algorithms,” Proc. Third Int'l Conf. Genetic Algorithms, pp. 70-79, 1989.
[7] C.A. Gonzalez Pico and R.L. Wainwright, “Dynamic Scheduling of Computer Tasks Using Genetic Algorithms,” Proc. First IEEE Conf. Evolutionary Computation, IEEE World Congress Computational Intelligence, vol. 2, pp. 829-833, 1994.
[8] A. Hac and X. Jin, “Dynamic Load-Balancing in a Distributed System Using a Sender-Initiated Algorithm,” Proc. 13th Conf. Local Computer Networks, pp. 172-180, 1988.
[9] J.H. Holland, Adaptation in Natural and Artificial Systems. Univ. of Michigan Press, 1975.
[10] T.C. Hu, Combinatorial Algorithms. Addison-Wesley, 1982.
[11] M.D. Kidwell and D.J. Cook, “Genetic Algorithm for Dynamic Task Scheduling,” Proc. IEEE 13th Ann. Int'l Phoenix Conf. Computers and Comm., pp. 61-67, 1994.
[12] Y. Lan and T. Yu, “A Dynamic Central Scheduler Load-Balancing Mechanism,” Proc. IEEE 14th Ann. Int'l Phoenix Conf. Computers and Comm., pp. 734-740, 1995.
[13] S. Lee, T. Kang, M. Ko, G. Chung, J. Gil, and C. Hwang, “A Genetic Algorithm Method for Sender-Based Dynamic Load-Balancing Algorithm in Distributed Systems,” Proc. 1997 First Int'l Conf. Knowledge-Based Intelligent Electronic Systems, vol. 1, pp. 302-307, 1997.
[14] H.C. Lin and C.S. Raghavendra, “A Dynamic Load-Balancing Policy with a Central Job Dispatcher (LBC),” IEEE Trans. Software Eng., vol. 18, no. 2, pp. 148-158, Feb. 1992.
[15] Z. Miachalewicz, Genetic Algorithm + Data Structure = Evolution Programming, Springer-Verlag, New York, 1992.
[16] M. Munetomo, Y. Takai, and Y. Sato, “A Genetic Approach to Dynamic Load-Balancing in a Distributed Computing System,” Proc. First Int'l Conf. Evolutionary Computation, IEEE World Congress Computational Intelligence, vol. 1, pp. 418-421, 1994.
[17] L.M. Ni, C. Xu, and T.B. Gendreau, “A Distributed Drafting Algorithm for Load Balancing,” IEEE Trans. Software Eng., vol. 11, no. 10, pp. 1153-1161, Oct. 1985.
[18] S. Salleh and A.Y. Zomaya, Scheduling in Parallel Computing Systems: Fuzzy and Annealing Techniques. Kluwer Academic, 1999.
[19] C. Xu and F.C.M. Lau, Load Balancing in Parallel Computers: Theory and Practice. Boston: Kluwer Academic, 1997.
[20] A.Y. Zomaya, “Parallel and Distributed Computing: The Scene, the Props, the Players,” Parallel and Distributed Computing Handbook, A.Y. Zomaya, ed., pp. 5-23. New York: McGraw-Hill, 1996.
[21] A.Y. Zomaya, C. Ward, and B. Macey, “Genetic Scheduling for Parallel Processor Systems: Comparative Studies and Performance Issues,” IEEE Trans. Parallel and Distributed Systems, vol. 10, no. 8, pp. 795-812, Aug. 1999.
[22] A.Y. Zomaya, F. Ercal, and S. Olariu, Solutions to Parallel and Distributed Computing Problems: Lessons from Biological Sciences. New York: Wiley, 2001.

Index Terms:
Genetic algorithms, heuristics, load-balancing, parallel processing, scheduling.
Albert Y. Zomaya, Yee-Hwei Teh, "Observations on Using Genetic Algorithms for Dynamic Load-Balancing," IEEE Transactions on Parallel and Distributed Systems, vol. 12, no. 9, pp. 899-911, Sept. 2001, doi:10.1109/71.954620
Usage of this product signifies your acceptance of the Terms of Use.