Automatic support for data distribution on distributed memory multiprocessor systems

  • Barbara M. Chapman
  • Thomas Fahringer
  • Hans P. Zima
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 768)


Existing automatic parallelizers for distributed-memory machines require the user to explicitly specify how the data of the sequential program is mapped to the processors of the target machine. In this paper, we outline the features of a software tool to provide automatic support for this task. The tool is being implemented within the Vienna Fortran Compilation System using a combination of both analytical and heuristic methods.


Automatic Parallelization Data Distribution Knowledge-based Restructuring Performance Analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BF1]
    V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer: An Interactive Environment for Data Partitioning and Distribution. Proc. DMCC5, Mar 1990, 1160–1170Google Scholar
  2. [BK1]
    V. Balasundaram and K. Kennedy: A Technique for Summarizing Data Access and its Use in Parallelism Enhancing Transformations. SIGPLAN '89 Conf. Programming Language Design and Implementation, 1989, 43–53Google Scholar
  3. [BC1]
    Benkner,S., Chapman,B.M., Zima,H.P.: Vienna Fortran 90. Proc. Scalable High Performance Computing Conference, Williamsburg, April 1992, 51–59Google Scholar
  4. [CH1]
    B. Chapman, H. Herbeck and H. Zima: Automatic Support for Data Distribution. Proc. Sixth Distributed Memory Computing Conference, Portland, 51–58Google Scholar
  5. [CM1]
    B. Chapman, P. Mehrotra and H. Zima: Vienna Fortran — A Fortran Language Extension for Distributed Memory Multiprocessors. In: J. Saltz, P. Mehrotra (Eds): Compilers and Runtime Software for Scalable Multiprocessors, Elsevier, Amsterdam (1991)Google Scholar
  6. [CM2]
    B. Chapman, P. Mehrotra and H. Zima: Vienna Fortran. Scientific Programming, 1(1), Wiley, August 1992Google Scholar
  7. [CC1]
    Marina Chen, Young-il Choo, and Jingke Li: Theory and Pragmatics of Compiling Efficient Parallel Code. YALEU/DCS/TR-760, December 1989Google Scholar
  8. [CH1]
    N.P. Chrisochoides, C.E. Houstis, E.N. Houstis, P.N. Papachiou, S.K. Kortesis and J.R. Rice: DOMAIN DECOMPOSER: A Software Tool for Mapping PDE Computations to Parallel Architectures. Domain Decomposition Methods for Differential Equations, SIAM, 341–357, 1991.Google Scholar
  9. [F 1]
    T. Fahringer: A Static Parameter Based Performance Prediction Tool for Parallel Programs for Distributed Memory Systems, Invited Paper, 7th ACM Int. Conf. on Supercomputing, Tokyo, 1993Google Scholar
  10. [FH1]
    T. Fahringer and C. Huber: The Weight Finder, A Profiler for Fortran 77 Programs. Tech. Report, Dept. of Computer Science, University of Vienna, Sep. 1992Google Scholar
  11. [FJ1]
    G. Fox, M. Johnson, G. Lyzenga, S. Otto, J. Salmon, and D. Walker: Solving Problems On Concurrent Processors Vol. I. 1988 Prentice-Hall International, Inc.Google Scholar
  12. [G 1]
    H.M. Gerndt: Array Distribution in SUPERB. Proc. ACM Int.Conf. on Supercomputing, Crete,164–174 (Jun 1989)Google Scholar
  13. [G 2]
    H.M. Gerndt: Automatic Parallelization for Distributed-Memory Multiprocessing Systems. Ph.D. Dissertation, University of Bonn, Also: ACPC/TR90-1, Austrian Center for Parallel ComputationGoogle Scholar
  14. [GZ1]
    H.M. Gerndt, and H.P. Zima: Optimizing Communication in SUPERB. Proc. Conpar 90 — VAPP IV, LNCS 457, 300–311Google Scholar
  15. [GB1]
    Manish Gupta, and Prithviraj Banerjee: Automatic Data Partitioning on Distributed Memory Multiprocessors. UILU-ENG-90-2248, Coordinated Science Lab., University of IllinoisGoogle Scholar
  16. [GB2]
    Manish Gupta and Prithviraj Banerjee: Demonstration of Automatic Data Partitioning Techniques for Parallelizing Compilers for Multicomputers. IEEE Transactions on Parallel and Distributed Systems, 3(2), 179–193, March 1992CrossRefGoogle Scholar
  17. [G 1]
    Manish Gupta: Automatic Data Partitioning on Distributed Memory Multicomputers. Ph.D. Thesis, University of Illinois at Urbana-Champaign, UILu-ENG-92-2237, Coordinated Science Lab, University of Illinois, 1992Google Scholar
  18. [H 1]
    Michael Hind: Full Interprocedural Dependence Analysis. Tech. Report, IBM T.J. Watson Research Center, 1992 (to appear)Google Scholar
  19. [HA1]
    David E. Hudak and Santosh G. Abraham: Compiler Techniques for Data Partitioning of Sequentially Iterated Parallel Loops. Proc. ACM Int. Conf. on Supercomputing, 187–200 (1990)Google Scholar
  20. [KL1]
    Kathleen Knobe, Joan D. Lukas, and Guy L. Steele: Data Optimization: Allocation of Arrays to Reduce Communication on SIMD Machines. Journal of Parallel and Distributed Computing 8, 102–118 (1990)CrossRefGoogle Scholar
  21. [L 1]
    Fung F. Lee: Partitioning of Regular Computation on Multiprocessor Systems. Journal of Parallel and Distributed Computing 9, 312–317 (1990)CrossRefGoogle Scholar
  22. [LC1]
    Jingke Li, and Marina Chen: Index Domain Alignment: Minimizing Cost of Cross-Referencing Between Distributed Arrays. YALEU/DCS/TR-725 November 1989Google Scholar
  23. [LC2]
    Jingke Li, and Marina Chen: Synthesis of Explicit Communication from Shared-Memory Program References. YALEU/DCS/TR-755 May 1990Google Scholar
  24. [LY1]
    Zhiyuan Li and Pen-Chuang Yew: Interprocedural Analysis for Parallel Computing. In Int. Conf. on Parallel Processing, Vol 2, 221–228, 1988Google Scholar
  25. [M1]
    M. Mace: Globally Optimal Selection of Memory Storage Patterns. Ph.D. Thesis, Duke University, Durham, USA, May 1983Google Scholar
  26. [R 1]
    J. Ramanujam: Compile-time Techniques for Parallel Execution of Loops on Distributed Memory Multiprocessors. TR-90-09-01, Dept. Electrical and Comp. Engineering, Louisiana State University (1990)Google Scholar
  27. [RS1]
    J. Ramanujam, and P. Sadayappan: Compile-Time Techniques for Data Distribution in Distributed Memory Machines. TR-90-09-03, Dept. Electrical and Comp. Engineering, Louisiana State University (Sept. 1990)Google Scholar
  28. [ZB1]
    H. P. Zima, P. Brezany, B. Chapman, P. Mehrotra and A. Schwald: Vienna Fortran — A Language Specification Version 1.1. Technical Report ACPC/TR 92-4, (March 1992). Also: ICASE Interim Report 21, NASA Langley Research Center, Hampton, March 1992Google Scholar
  29. [ZB2]
    H.P. Zima, H.-J. Bast, and H.M. Gerndt: SUPERB — a Tool for Semi-Automatic MIMD/SIMD Parallelization. Parallel Computing, 6, 1–18 (1988)CrossRefGoogle Scholar
  30. [ZC1]
    H.P. Zima, and B. Chapman: Supercompilers for Parallel and Vector Computers. ACM Press Frontier Series, Addison-Wesley 1990Google Scholar
  31. [ZC2]
    H. P. Zima, and B. Chapman: Compiling for Distributed-Memory Systems. Invited paper, Proceedings of the IEEE, Special Section on Languages and Compilers for Parallel Machines, February 1993Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Barbara M. Chapman
    • 1
  • Thomas Fahringer
    • 1
  • Hans P. Zima
    • 1
  1. 1.Dept. of Software TechnologyUniversity of ViennaAustria

Personalised recommendations