Issue No. 09 - September (2001 vol. 12)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.954620
<p><b>Abstract</b>—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 <it>dynamic</it> 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.</p>
Genetic algorithms, heuristics, load-balancing, parallel processing, scheduling.
Y. Teh and A. Y. Zomaya, "Observations on Using Genetic Algorithms for Dynamic Load-Balancing," in IEEE Transactions on Parallel & Distributed Systems, vol. 12, no. , pp. 899-911, 2001.