Parallelization of irregular out-of-core applications for distributed-memory systems

  • Peter Brezany
  • Alok Choudhary
  • Minh Dang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1225)


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.

Unable to display preview. Download preview PDF.


  1. 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. 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. 3.
    R. Das and J. Saltz. A manual for PARTI runtime primitives — Revision 2, December 1990.Google Scholar
  4. 4.
    R. Ponnusamy et al. A manual for the CHAOS runtime library. Technical report, University of Maryland, May 1994.Google Scholar
  5. 5.
    C. Koelbel. Compiling programs for nonshared memory machines. Technical Report Ph.D. Dissertation, Purdue University, West Lafayette, November 1990.Google Scholar
  6. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Peter Brezany
    • 1
  • Alok Choudhary
    • 2
  • Minh Dang
    • 1
  1. 1.Institute for Software Technology and Parallel SystemsUniversity of ViennaVienna
  2. 2.ECE DepartmentNorthwestern UniversityEvanston

Personalised recommendations