Monday 11 Nov 2013: Parallelisation of dynamically changing grids with a cluster-based approach and invasion
Martin Schreiber - Technical University Munich
Harrison 101 15:00-16:00
The efficient execution of numerical simulations with dynamical adaptive mesh
refinement (DAMR) belongs to one of the major challenges in HPC. With simulations demanding for a steadily changing grid structure, this imposes efficiency requirements on handling that structure as well as managing connectivity
and simulation data stored on the grid.
Large-scale HPC systems furthermore lead to additional requirements such as
load-balancing and thus data migration on distributed-memory systems which are
non-trivial for simulations running with DAMR.
The first part of the talk focuses on the optimization and parallelization of
Our dynamic grid generation approach is based on the Sierpinski space-filling
We developed a novel and efficient parallel management of the grid
structure, simulation data and dynamically changing connectivity information,
and further refer to such partitions as a cluster.
This cluster-based domain decomposition directly leads to efficient
parallelization of DAMR on shared-, distributed- as well as hybrid-memory
systems, and further yields optimization methods based on such a clustering.
The second part of the talk is on the optimization of parallelization
models currently assigning computational resources statically during
program start. This yields a perspective for dynamic resource distribution solving the follwing issues: first, static resource allocation restricts starting other applications in case of insufficient resources available at program start;
second, changing efficiency of applications with different scalability behavior
is not considered. We solve both issues with a resource manager and invasive paradigms, dynamically redistributing resources to applications aiming for higher
application throughput and thus efficiency.
For several executions of simulations based on our DAMR, we are now able to redistribute the computation resources
dynamically among concurrently running applications on shared memory systems.
With dynamic resource assignment, this results in improved throughput
and thus higher efficiency.