Abstract
Distributed heterogeneous computing is being widely applied to a variety of large-size computational problems. These computational environments consist of multiple heterogeneous computing modules; these modules interact with each other to solve the problem. The load balancing problem in the Heterogeneous Distributed Computing System (HDCS) deals with allocation of tasks to computing nodes, so that computing nodes are evenly loaded. The complexity of dynamic load balancing increases with the size of HDCS and becomes difficult to solve effectively. Due to the complexity of the dynamic load balancing problem, the majority of researchers use a heuristic algorithm to obtain near optimal solutions. The authors use three different type of resource allocation heuristic techniques, namely greedy heuristic, simulated annealing, and genetic algorithm, for dynamic load balancing on HDCS. A new codification suitable to simulated annealing and the genetic algorithm has been introduced for dynamic load balancing on HDCS. This chapter demonstrates the use of the common coding scheme and iterative structure by simulated annealing and genetic algorithms for allocating the tasks among the computing nodes to minimize the makespan. The resource allocation algorithm uses sliding window techniques to select the tasks to be allocated to computing nodes in each iteration. A suitable codification for simulated annealing and genetic algorithm for dynamic load balancing strategy are explained along with implementation details. Consistent Expected Time to Compute (ETC) matrix is used to simulate the effect of the genetic algorithm-based dynamic load balancing scheme compared with first-fit, randomized heuristic, and simulated annealing.