Parallelization of irregular out-of-core applications for distributed-memory systems
Large scale irregular applications involve data arrays and other data structures that are too large to fit in main memory and hence reside on disks; such applications are called out-of-core applications. This paper presents techniques for implementing this kind of applications. In particular we present a design for a runtime system to efficiently support parallel execution of irregular out-of-core codes on distributed-memory systems. Furthermore, we describe the appropriate program transformations required to reduce the I/O overheads for staging data as well as for communication while maintaining load balance. The proposed techniques can be used by a parallelizing compiler or by users writing programs in node + message passing style. We have done a preliminary implementation of the techniques presented here. We introduce experimental results from a template CFD code to demonstrate the efficacy of the presented techniques.
Unable to display preview. Download preview PDF.
- 1.P. Brezany and Alok Choudhary. Techniques and optimizations for developing irregular out-of-core applications on distributed-memory systems. Technical Report Version 1.0, Institute for Software Technology and Parallel Systems, University of Vienna, November 1996.Google Scholar
- 2.Alok Choudhary, Rajesh Bordawekar, Michael Harry, Rakesh Krishnaiyer, Ravi Ponnusamy, Tarvinder Singh, and Rajeev Thakur. PASSION: parallel and scalable software for input-output. Technical Report SCCS-636, ECE Dept., NPAC and CASE Center, Syracuse University, September 1994.Google Scholar
- 3.R. Das and J. Saltz. A manual for PARTI runtime primitives — Revision 2, December 1990.Google Scholar
- 4.R. Ponnusamy et al. A manual for the CHAOS runtime library. Technical report, University of Maryland, May 1994.Google Scholar
- 5.C. Koelbel. Compiling programs for nonshared memory machines. Technical Report Ph.D. Dissertation, Purdue University, West Lafayette, November 1990.Google Scholar
- 6.D. J. Mavriplis. Three dimensional unstructured multigrid for the Euler equations. In AIAA 10th Computational Fluid Dynamics Conference, pages paper 91–1549cp, June 1991.Google Scholar
- 7.R. Ponnusamy, J. Saltz, A. Choudhary, Y.-S. Hwang, and G. Fox. Runtime support and compilation methods for user-specified data distributions. IEEE Transactions on Parallel and Distributed Systems, August 1995.Google Scholar
- 8.Ravi Ponnusamy. Runtime Support and Compilation Methods for Irregular Computations on Distributed Memory Parallel Machines. PhD thesis, Department of Computer and Information Science, Syracuse University, Syracuse, NY, 1994.Google Scholar
- 9.J. Saltz, K. Crowley, R. Mirchandaney, and H. Berryman. Run-time scheduling and execution of loops on message passing machines. Journal of Parallel and Distributed Computing, 8(2):303–312, 1990.Google Scholar