Knowledge-based parallelization for distributed memory systems

  • Barbara M. Chapman
  • Heinz M. Herbeck
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 591)


In current automatic parallelization systems for distributed-memory machines, the user must explicitly specify how the data domain of the sequential program is to be decomposed and distributed across the processors. In this paper, we outline the salient features of a new knowledge-based software tool that provides automatic support for data partitioning. The basic guidelines for the design of the tool are discussed, followed by a description of the adopted partitioning strategy.


Automatic Parallelization Data Partitioning Knowledge-based Restructuring Pattern Matching 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ASU 86]
    Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers. Principles, Techniques and Tools Addison-Wesley, 1986Google Scholar
  2. [Bose 88a]
    Pradup Bose: Heuristic Rule-Based Program Transformations for Enhanced Vectorization Proc. Int. Conf. on Parallel Processing, 1988Google Scholar
  3. [Bose 88b]
    Pradup Bose: Interactive Program Improvement Via EAVE: An Expert Adviser for Vectorization Proc. International Conference on Supercomputing, St. Malo, July 1988Google Scholar
  4. [Balas 89]
    Vasanth Balasundaram: Interactive Parallelization of Numerical Scientific Programs Rice COMP TR89-95, July 1989Google Scholar
  5. [CalKe 88]
    D. Callahan and K. Kennedy: Compiling programs for distributed-memory multiprocessors Journal of Supercomputing, 2(2), 151–69Google Scholar
  6. [ChenChoLi 89]
    Marina Chen, Young-il Choo, and Jingke Li: Theory and Pragmatics of Compiling Efficient Parallel Code YALEU/DCS/TR-760 December 1989Google Scholar
  7. [Fox 88]
    Fox, Johnson, Lyzenga, Otto, Salmon, Walker: Solving Problems On Concurrent Processors Vol. I 1988 Prentice-Hall International, Inc.Google Scholar
  8. [Gernd 89a]
    Gerndt, H.M.: Array Distribution in SUPERB Proc. ACM Int.Conf. on Supercomputing, Crete, 164–174 (Jun 1989)Google Scholar
  9. [Gernd 89b]
    H.M. Gerndt: Automatic Parallelization for Distributed-Memory Multiprocessing Systems Ph.D. Dissertation, University of Bonn, Technical Report Series ACPC/TR90-1, Austrian Center for Parallel ComputationGoogle Scholar
  10. [GerZi 90]
    Gerndt,H.M., Zima,H.: Optimizing Communication in SUPERB Technical Report Series ACPC/TR 90-3, Austrian Center for Parallel Computation (1990)Google Scholar
  11. [GupBan 90]
    Manish Gupta, Prithviraj Banerjee: Automatic Data Partitioning on Distributed Memory MultiprocessorsGoogle Scholar
  12. [HarNi 90]
    Mehdi T. Harandi, Jim Q. Ning: Knowledge-Based Program Analysis IEEE Software, January 1990, 74–81Google Scholar
  13. [Hudak 90]
    David E. Hudak and Santosh G. Abraham: Compiler Techniques for Data Partitioning of Sequentially Iterated Parallel Loops ACM Report 1990Google Scholar
  14. [KnLuSt 90]
    Kathleen Knobe, Joan D. Lukas, 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
  15. [KVW 87]
    Kobos, VanKooten, Walker: The Myrias Computer System in Algorithms and Applications on Parallel and Vector Computers, 1987Google Scholar
  16. [Lee 90]
    Fung F. Lee: Partitioning of Regular Computation on Multiprocessor Systems Journal of Parallel and Distributed Computing 9, 312–317 (1990)CrossRefGoogle Scholar
  17. [LiChen 89]
    Jingke Li, Marina Chen: Index Domain Alignment: Minimizing Cost of Cross-Referencing Between Distributed Arrays YALEU/DCS/TR-725 November 1989Google Scholar
  18. [LiChen 90]
    Jingke Li and Marina Chen: Synthesis of Explicit Communication from Shared-Memory Program References YALEU/DCS/TR-755 May 1990Google Scholar
  19. [RamSad 90]
    J. Ramanujam, P. Sadayappan: Compile-Time Techniques for Data Distribution in Distributed Memory MachinesGoogle Scholar
  20. [RogPi 89]
    Anne Rogers, Keshav Pingali: Process Decomposition Through Locality of Reference SIGPLAN 1989Google Scholar
  21. [Wang85]
    K. Wang: An Experiment in Parallel Programming Environment: The Expert Systems Approach In: K.S. Fu (Ed.): Some Prototype Examples for Expert Systems, TR-EE-85-1, Electronic Engineering School, Purdue University, 1985, 591–624Google Scholar
  22. [Wang90]
    K. Wang: A Framework for Intelligent Parallel Compilers Tech. Report CSD-TR-1044, CER-90-52, Dept. Computer Science, Purdue University, November, 1990Google Scholar
  23. [WaGa89]
    K. Wang and D. Gannon: Applying AI Techniques to Program Optimizations for Parallel Computers In: K.Hwang and D. DeGroot (Eds.): Parallel Processing for Supercomputers and Artificial Intelligence, McGraw-Hill, 1989, 441–485Google Scholar
  24. [ZBG 88]
    Zima H.P., Bast H.-J. and Gerndt H.M.: SUPERB — a tool for semi-automatic MIMD/SIMD parallelization Parallel Computing, 6, 1–18 (1988)CrossRefGoogle Scholar
  25. [ZiCh 90]
    Zima H.P., Chapman B.: Supercompilers for Parallel and Vector Computers ACM Press Frontier Series, Addison-Wesley 1990Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Barbara M. Chapman
    • 1
  • Heinz M. Herbeck
    • 1
  1. 1.Department of Statistics and Computer ScienceUniversity of ViennaViennaAustria

Personalised recommendations