DOE OSTI · 1114706
Applying graph partitioning methods in measurement-based dynamic load balancing
Abstract
Load imbalance leads to an increasing waste of resources as an application is scaled to more and more processors. Achieving the best parallel efficiency for a program requires optimal load balancing which is a NP-hard problem. However, finding near-optimal solutions to this problem for complex computational science and engineering applications is becoming increasingly important. Charm++, a migratable objects based programming model, provides a measurement-based dynamic load balancing framework. This framework instruments and then migrates over-decomposed objects to balance computational load and communication at runtime. This paper explores the use of graph partitioning algorithms, traditionally used for partitioning physical domains/meshes, for measurement-based dynamic load balancing of parallel applications. In particular, we present repartitioning methods developed in a graph partitioning toolbox called SCOTCH that consider the previous mapping to minimize migration costs. We also discuss a new imbalance reduction algorithm for graphs with irregular load distributions. We compare several load balancing algorithms using microbenchmarks on Intrepid and Ranger and evaluate the effect of communication, number of cores and number of objects on the benefit achieved from load balancing. New algorithms developed in SCOTCH lead to better performance compared to the METIS partitioners for several cases, both in terms of the application execution time and fewer number of objects migrated.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Bhatele, Abhinav, Fourestier, Sebastien, Menon, Harshitha, Kale, Laxmikant V., Pellegrini, Francois. 2011-09-26. Applying graph partitioning methods in measurement-based dynamic load balancing. https://doi.org/10.2172/1114706
Cite the original work for its findings. Save a collection to share your selection of sources.