Skip to main content
Department of Information Technology

Dynamic load balancing of parallel SAMR applications

Jarmo Rantakokko, Michael Thuné, Johan Steensland, Henrik Johansson

Structured adaptive mesh refinement (SAMR) is used to decrease the run-time of simulations using finite differences. Simulations based on SAMR start with a coarse and uniform grid. The grid is then recursively refined in areas where the accuracy is too low. This procedure results in a dynamic and adaptive grid hierarchy that always conforms to the maximum acceptable error.

For efficient use of SAMR on parallel computers, the dynamic grid hierarchy is repeatedly repartitioned and redistributed over the processors. The partitioning process must not only take the computations and the CPU performance into account, but also all other factors that contribute to the run-time: communication volume, synchronization delays, data movement between partitions and the performance and utilization of the interconnect. Thus, to minimize the run-time, the current state of the application and the hardware must both be taken into account. This is non-trivial, since the basic conditions for how to allocate hardware resources change dramatically during run-time, due to the dynamics inherent in both the applications and the computer system.

No single partitioning algorithm performs well for all conditions. Instead, good-performing partitioning algorithm need to be dynamically selected and invoked during run-time. The aim of this research is to the design and implement a meta-partitioner that autonomously selects, configures, and invokes the best predicted partitioning algorithm with regard to the current application and computer state. The meta-partitioner will be implemented using component-based software engineering (CBSE) and it will consist of several software components. To select good performing algorithm, two complementing approaches will be used. Normally, the partitioning algorithm is chosen by using easy-to-apply rules. Under certain conditions, we use a more elaborate selection strategy that involves run-time accesses to a comprehensive performance data base.

levels.png

MP.png

Updated  2015-07-13 15:55:40 by Kurt Otto.