Tasks Unlimited: Lightweight Task Offloading Exploiting MPI Wait Times for Parallel Adaptive Mesh Refinement

09/13/2019
by   Philipp Samfass, et al.
0

Balancing dynamically adaptive mesh refinement (AMR) codes is inherently difficult, since codes have to balance both computational workload and memory footprint over meshes that can change any time, while modern supercomputers and their interconnects start to exhibit fluctuating performance. We propose a novel lightweight scheme for MPI+X which complements traditional balancing. It is a reactive diffusion approach which uses online measurements of MPI idle time to migrate tasks from overloaded to underemployed ranks. Tasks are deployed to ranks which otherwise would wait, processed with high priority, and made available to the overloaded ranks again. They are temporarily migrated. Our approach hijacks idle time to do meaningful work and is totally non-blocking, asynchronous and distributed without a global data view. Tests with a seismic simulation code running an explicit high order ADER-DG scheme (developed in the ExaHyPE engine, www.exahype.org) uncover the method's potential. We found speed-ups of up to 2-3 for ill-balanced scenarios without logical modifications of the code base.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset