Extremal Optimization with Guided State Changes in Load Balancing of Distributed Programs

The paper concerns methods for using Extremal Optimization (EO) for processor load balancing during execution of distributed programs. A load balancing algorithm for clusters of multicore processors is presented and discussed. In this algorithm the EO approach is used to periodically detect the best tasks as candidates for migration and for a guided selection of the best processors to receive the migrated tasks. To decrease the complexity of selection for migration, we propose a guided EO algorithm which assumes a two step stochastic selection during the solution improvement based on two separate fitness functions. The functions are based on specific program models which estimate relations between the programs and the executive hardware. The proposed load balancing algorithm is assessed by experiments with simulated load balancing of distributed program graphs. The algorithm is compared against an EO - based algorithm with random placement of migrated tasks and a classic genetic algorithm.