Supporting Adaptivity in MPI for Dynamic Parallel Applications
PPL Technical Report 2007
Publication Type: Paper
Repository URL: ampiJournal
Abstract
The new generation of parallel applications are complex, involve
simulation of dynamically varying systems, and use adaptive
techniques such as multiple timestepping and adaptive refinements.
Typical implementations of the MPI do not support the dynamic
nature of these applications well. As a result, programming
productivity and parallel efficiency suffer. In this paper, we
present Adaptive MPI (AMPI), an adaptive implementation and
extension of MPI with migratable threads. AMPI includes a powerful
run-time support system that takes advantage of the freedom of
mapping virtual MPI processes (VPs) onto processors. With this
run-time system, AMPI supports such features as automatic adaptive
overlap of communication and computation and automatic load
balancing. It can also support other features such as checkpointing
without additional user code, and the ability to shrink and expand
the set of processors used by a job at runtime. In this paper, we
illustrate that AMPI, while still retaining the familiar
programming model of MPI, is better suited for such new generation
applications, and does not penalize performance of those
applications without the dynamic nature.
People
Research Areas