Distributed Processor Load Balancing Based on Multi-objective Extremal Optimization
Résumé
The paper proposes and discusses distributed processor load balancing algorithms which are based on nature inspired approach of multi-objective Extremal Optimization. Extremal Optimization is used for defining task migration aiming at processor load balancing in execution of graph-represented distributed programs. The analysed multi-objective algorithms are based on three or four criteria selected from the following four choices: the balance of computational loads of processors in the system, the minimal total volume of application data transfers between processors, the number of task migrations during program execution and the influence of task migrations on computational load imbalance and the communication volume. The quality of the resulting load balancing is assessed by simulation of the execution of the distributed program macro data flow graphs, including all steps of the load balancing algorithm. It is done following the event-driven model in a simulator of a message passing multiprocessor system. The experimental comparison of the multi-objective load balancing to the single objective algorithms demonstrated the superiority of the multi-objective approach.