Object-Based Adaptive Load Balancing for MPI Programs
International Conference on Computational Science (ICCS) 2001
Publication Type: Paper
Repository URL: SC2000
Abstract
Parallel Computational Science and Engineering (CSE) applications
often exhibit irregular structure and dynamic load patterns. Many
such applications have been developed using procedural languages
(e.g. Fortran) in message passing parallel programming paradigm
(e.g. MPI) for distributed memory machines. Incorporating dynamic
load balancing techniques at the application-level involves
significant changes to the design and structure of applications. On
the other hand, traditional run-time systems for MPI do not support
dynamic load balancing. Object-based parallel programming
languages, such as Charm++ support efficient dynamic load balancing
using object migration for irregular and dynamic applications, as
well as to deal with external factors that cause load imbalance.
However, converting legacy MPI applications to such object-based
paradigms is cumbersome. This paper describes an implementation of
MPI, called Adaptive MPI (AMPI) that supports dynamic load
balancing and multithreading for MPI applications. Our approach and
implementation is based on the user-level migrating threads and
load balancing capabilities provided by the Charm++ framework.
Conversion from legacy codes to this platform is straightforward
even for large legacy codes. We have converted the component codes
ROCFLO and ROCSOLID of a Rocket Simulation application to AMPI. Our
experience shows that with a minimal overhead and effort, one can
incorporate dynamic load balancing capabilities in legacy
Fortran-MPI codes.
TextRef
Milind Bhandarkar and L. V. Kale and Eric de Sturler and Jay Hoeflinger
"Object-Based Adaptive Load Balancing for MPI Programs", Proceedings of the
International Conference on Computational Science, San Francisco, CA,
LNCS 2074, pp. 108-117, May 2001.
People
- Milind Bhandarkar
- Laxmikant Kale
- Eric de Sturler
- Jay Hoeflinger
Research Areas