Parallel simulations in Computational Science and Engineering often exhibit irregular structure and dynamic load patterns. Most such existing applications have been developed in C/C++ or Fortran using MPI for scalable parallelism on distributed-memory machines. Incorporating dynamic load balancing techniques at the application-level involves significant changes to the design and structure of applications, because traditional run-time systems for MPI do not support dynamic load balancing in an application-independent way. Charm++ supports efficient dynamic load balancing using object migration for irregular and dynamic applications, and the same mechanisms help adapt to external factors that cause load imbalance. However, converting legacy MPI applications to an object-based paradigm can be cumbersome. AMPI is an implementation of MPI that supports dynamic load balancing, processor virtualization, and fault tolerance for MPI applications.
AMPI implements MPI ranks as lightweight user-level migratable threads rather than operating system processes. Charm++'s runtime system takes care of scheduling multiple ranks per core in a message-driven manner, automatically overlapping communication and computation. The runtime system provides support for migrating ranks between nodes to balance the computational load, as well as for tolerating hard faults via checkpoint/restart-based schemes. AMPI defines extensions to the MPI standard that make using these features in existing applications easy. See the AMPI manual here for more information on AMPI, as well as the papers/talks below.
People
Papers / Talks
-
22-102022
Phd Thesis -
22-082022
PaperImproving Communication Asynchrony and Concurrency for Adaptive MPI Endpoints
- Sam White
- Laxmikant Vasudeo Kale
-
22-072022
PaperRuntime Techniques for Automatic Process Virtualization
- Evan Ramos
- Sam White
- Aditya Bhosale
- Laxmikant Vasudeo Kale
-
22-032022
PaperOptimizing Non-Commutative Allreduce over Virtualized, Migratable MPI Ranks
- Sam White
- Laxmikant Vasudeo Kale
-
22-022022
PaperAccelerating Messages by Avoiding Copies in an Asynchronous Task-based Programming Model
- Nitin Bhat
- Sam White
- Laxmikant Vasudeo Kale
-
22-012022
PaperEnabling Support for Zero Copy Semantics in an Asynchronous Task-Based Programming Model
- Nitin Bhat
- Sam White
- Laxmikant Vasudeo Kale
-
18-022018
PaperMulti-level Load Balancing with an Integrated Runtime Approach
- Seonmyeong Bak
- Harshitha Menon
- Sam White
- Matthias Diener
- Laxmikant Vasudeo Kale
-
18-012018
Talk -
17-102017
PaperOptimizing Point-to-Point Communication between Adaptive MPI Endpoints in Shared Memory
- Sam White
- Laxmikant Vasudeo Kale
-
17-082017
PaperIntegrating OpenMP into the Charm++ Programming Model
- Seonmyeong Bak
- Harshitha Menon
- Sam White
- Matthias Diener
- Laxmikant Vasudeo Kale
-
17-072017
PaperVisualizing, measuring, and tuning Adaptive MPI parameters
- Matthias Diener
- Sam White
- Laxmikant Vasudeo Kale
-
17-062017
PosterAdaptive MPI: Dynamic Runtime Support for MPI Applications
- Sam White
- Laxmikant Vasudeo Kale
-
17-052017
PaperImproving the memory access locality of hybrid MPI applications
- Matthias Diener
- Sam White
- Laxmikant Vasudeo Kale
- Michael Campbell
- Dan Bodony
- Jon Freund
-
16-192016
PaperHandling Transient and Persistent Imbalance Together in Distributed and Shared Memory
- Harshitha Menon
- Seonmyeong Bak
- Phil Miller
- Sam White
- Nitin Bhat
- Laxmikant Vasudeo Kale
-
13-162013
PaperParallel Science and Engineering Applications: The Charm++ Approach
- Laxmikant Vasudeo Kale
- Abhinav Bhatele
-
11-232011
PaperAutomatic Handling of Global Variables for Multi-threaded MPI Programs
- Gengbin Zheng
- Stas Negara
- Celso Mendes
- Eduardo Rodrigues
- Laxmikant Vasudeo Kale
-
11-042011
PaperEvaluation of Simple Causal Message Logging for Large-Scale Fault Tolerant HPC Systems
- Esteban Meneses
- Greg Bronevetsky
- Laxmikant Vasudeo Kale
-
10-262010
PaperA Comparative Analysis of Load Balancing Algorithms Applied to a Weather Forecast Model
- Eduardo Rodrigues
- Philippe O. A. Navaux
- Jairo Panetta
- Alvaro Fazenda
- Celso Mendes
- Laxmikant Vasudeo Kale
-
10-212010
PaperOptimizing an MPI Weather Forecasting Model via Processor Virtualization
- Eduardo Rodrigues
- Philippe O. A. Navaux
- Jairo Panetta
- Celso Mendes
- Laxmikant Vasudeo Kale
-
10-142010
PaperAutomatic MPI to AMPI Program Transformation using Photran
- Stas Negara
- Gengbin Zheng
- Kuo-Chuan Pan
- Natasha Negara
- Ralph Johnson
- Laxmikant Vasudeo Kale
- Paul Ricker
-
10-092010
PaperAutomatic MPI to AMPI Program Transformation
- Stas Negara
- Kuo-Chuan Pan
- Gengbin Zheng
- Natasha Negara
- Ralph Johnson
- Laxmikant Vasudeo Kale
- Paul Ricker
-
09-092009
PaperTowards a Framework for Abstracting Accelerators in Parallel Applications: Experience with Cell
- David Kunzman
- Laxmikant Vasudeo Kale
-
08-132008
PaperA Case Study in Tightly Coupled Multi-paradigm Parallel Programming
- Sayantan Chakravorty
- Aaron Becker
- Terry Wilmarth
- Laxmikant Vasudeo Kale
-
07-082007
PaperSupporting Adaptivity in MPI for Dynamic Parallel Applications
- Chao Huang
- Gengbin Zheng
- Laxmikant Vasudeo Kale
-
07-042007
PaperProgramming Petascale Applications with Charm++ and AMPI
- Laxmikant Vasudeo Kale
- Eric Bohm
- Celso Mendes
- Terry Wilmarth
- Gengbin Zheng
-
06-052006
PaperMultiple Flows of Control in Migratable Parallel Programs
- Gengbin Zheng
- Orion Lawlor
- Laxmikant Vasudeo Kale
-
05-192005
PaperPerformance Visualization and Analysis of Parallel Discrete Event Simulations with Projections
- Chee Wai Lee
- Terry Wilmarth
- Laxmikant Vasudeo Kale
-
05-082005
PaperAn Integration Framework for Simulations of Solid Rocket Motors
- Xiangmin Jiao
- Gengbin Zheng
- Orion Lawlor
- Phil Alexander
- Mike Campbell
- Michael Heath
- Robert Fiedler
-
05-062005
Phd Thesis -
05-042005
PaperPerformance Evaluation of Adaptive MPI
- Chao Huang
- Gengbin Zheng
- Sameer Kumar
- Laxmikant Vasudeo Kale
-
00-032000
PaperObject-Based Adaptive Load Balancing for MPI Programs
- Milind Bhandarkar
- Laxmikant Vasudeo Kale
- Eric de Sturler
- Jay Hoeflinger