Load balancing in a heterogeneous computing environment
S. Gopalt, U. Vajapeyam · 2002
Heterogeneous distributed computing is the tuned use of a network of machines of diverse architectures and computational power; by directing individual portions of a parallel program to the machine(s) best suited for their execution. Load balancing algorithms for an HCE attempt to improve the response times for parallel programs by adapting the process scheduling policies on individual machines. The authors propose a priority-based load balancing algorithm, the priority algorithm, which dynamically adjusts the quality of service for the processes of a parallel program by detecting dependences among them. Process migration, the most successful means to balance load in homogeneous distributed environments, is undesirable in an HCE both because of architectural differences between machines and because it conflicts with the HCE goal of matching code to machines. They use simulation to evaluate the speedup of the algorithm on synthetic parallel programs under different background load conditions.