Abstract
Parallel Computational Science and Engineering (CSE) applications often exhibit irregular structure and dynamic load patterns. Many such applications have been developed using MPI. 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. 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 for MPI applications. Conversion from MPI to this platform is straightforward even for large legacy codes. We describe our positive experience in converting the component codes ROCFLO and ROCSOLID of a Rocket Simulation application to AMPI.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Gabriel Antoniu, Luc Bouge, and Raymond Namyst. An Efficient and Transparent Thread Migration Scheme in the PM 2 Runtime System. In Proc. 3rd Workshop on Runtime Systems for Parallel Programming (RT-SPP) San Juan, Puerto Rico, Held in conjunction with the 13th Intl Parallel Processing Symp. (IPPS/SPDP 1999), IEEE/ACM. Lecture Notes in Computer Science 1586, pages 496–510. Springer-Verlag, April 1999.
William Blume, Rudolf Eigenmann, Keith Faigin, John Grout, Jay Hoeflinger, David Padua, Paul Petersen, Bill Pottenger, Lawrence Rauchwerger, Peng Tu, and Stephen Weatherford. Polaris: Improving the Effectiveness of Parallelizing Compilers. In Proceedings of 7th International Workshop on Languages and Compilers for Parallel Computing, number 892 in Lecture Notes in Computer Science, pages 141–154, Ithaca, NY, USA, August 1994. Springer-Verlag.
Robert K. Brunner and Laxmikant V. Kalé. Adapting to Load on Work-station Clusters. In The Seventh Symposium on the Frontiers of Massively Parallel Computation, pages 106–112. IEEE Computer Society Press, February 1999.
Milind Bhandarkar and L. V. Kalé. A Parallel Framework for Explicit FEM. In Proceedings of the International Conference on High Performance Computing, Bangalore, India, December 2000.
D. S. Balsara and C. D. Norton. Innovative Language-Based and Object-Oriented Structured AMR using Fortran 90 and OpenMP. In Y. Deng, O. Yasar, and M. Leuze, editors, New Trends in High Performance Computing Conference (HPCU’99), Stony Brook, NY, August 1999.
Erik D. Demaine. A Threads-Only MPI Implementation for the Development of Parallel Programs. In Proceedings of the 11th International Symposium on High Performance Computing Systems (HPCS’97), Winnipeg, Manitoba, Canada, pages 153–163, July 1997.
W. Gropp, E. Lusk, and A. Skjellum. Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press, 1994.
M. T. Heath and W. A. Dick. Virtual Rocketry: Rocket Science meets Computer Science. IEEE Comptational Science and Engineering, 5(1):16–26, 1998.
L. V. Kale, Milind Bhandarkar, and Robert Brunner. Run-time Support for Adaptive Load Balancing. In Proceedings of 4th Workshop on Runtime Systems for Parallel Programming (RTSPP) Cancun-Mexico, March 2000.
Laxmikant V. Kale and Sanjeev Krishnan. Charm++: Parallel Programming with Message-Driven Objects. In Gregory Ribler, Jeffrey S. Vetter, Huseyin Simitci, and Daniel A. Reed. Autopilot: Adaptive Control of Distributed Applications. In Proc. 7th IEEE Symp. on High Performance Distributed Computing, Chicago, IL, July 1998.
H. Tang, K. Shen, and T. Yang. Compile/Run-time Support for Threaded MPI Execution on Multiprogrammed Shared Memory Machines. In Proceedings of 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’99), 1999.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bhandarkar, M., Kalé, L.V., de Sturler, E., Hoeflinger, J. (2001). Adaptive Load Balancing for MPI Programs. In: Alexandrov, V.N., Dongarra, J.J., Juliano, B.A., Renner, R.S., Tan, C.J.K. (eds) Computational Science - ICCS 2001. ICCS 2001. Lecture Notes in Computer Science, vol 2074. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45718-6_13
Download citation
DOI: https://doi.org/10.1007/3-540-45718-6_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42233-4
Online ISBN: 978-3-540-45718-3
eBook Packages: Springer Book Archive