Supercomputing pp 338-354 | Cite as

Realization of a knowledge-based parallelization tool in a programming environment

  • Thomas Brandes
  • Manfred Sommer
Session 4B: Compilers And Restructuring Techniques II
Part of the Lecture Notes in Computer Science book series (LNCS, volume 297)


Achieving a high level of parallelism is necessary for software developed for current super-computers. Therefore, modern programming environments that can also support the development of software for these computers should contain a parallelization tool. Such a software tool analyzes the parallelism of a given program part and suggests optimizing transformations.

A knowledge-based design of the tool makes the extension with new parallelization issues easy, the parallelization better understandable, and the adaption to arbitrary parallel hardware possible. This paper describes how to realize a parallelization tool in a knowledge-based way without becoming inefficient and how to formalize the parallelization process for this purpose.

Key Words

parallelization programming environment knowledge base dependence 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AlKe 85]
    Allen, J.R.; Kennedy, K.: „A Parallel Programming Environment“, IEEE Software, July 1985Google Scholar
  2. [ACK 87]
    Allen, R.; Callahan, D.; Kennedy, K.: „Automatic Decomposition of Scientific Programs for Parallel Execution“, Proc. 14th ACM Symp. Principles Programming Lang., Munich, West-Germany, January 1987Google Scholar
  3. [ASU 86]
    Aho, A.V.; Sethi, R; Ullman, J.D.: „Compilers: Principles, Techniques, and Tools”, Addison-Wesley, Reading, Mass., 1986Google Scholar
  4. [Bane 79]
    Banerjee, U.: „Speedup of ordinary programs”, Ph. D. dissertation, Dep. Comp. Sci., University of Illinois, Urbana-Champaign, 1979Google Scholar
  5. [Bran 86]
    Brandes, Th.: „Automatic Vectorization for High Level Languages based on an Expert System”, Proceedings of CONPAR 86, Sept. 1986, Springer-VerlagGoogle Scholar
  6. [Bran 87]
    Brandes, Th.: „Determination of Dependences in a Knowledge-Based Parallelization Tool”, Dep. Math./Comp. Sci., University of Marburg, Germany, Technical Report MR87-2 (1987), 19 pp.Google Scholar
  7. [BrSo 87]
    Brandes, Th., Sommer, M.: „A Knowledge-Based Parallelization Tool in a Programming Environment”, Proceedings of 1987 International Conference on Parallel Processing, PennsylvaniaGoogle Scholar
  8. [DHKL 84]
    Donzeau-Gouge, V.; Huet, G.; Kahn, G.; Lang, B.: „Environments Based on Structured Editors: The Mentor Experience”, in: Barstow, D.R. et al. (eds.): Interactive Programming Environments, McGraw-HillGoogle Scholar
  9. [Enge 86]
    Engels, G.: „Graphs as the central data structure in a software development environment“, Dissertation, University of Osnabrück, GermanyGoogle Scholar
  10. [KeAl 84]
    Kennedy, K.; Allen, J.R.: „Automatic Translation of Fortran programs to Vector Form“ (revised Jan. 86), Technical Report TR84-9, Dep. Comp. Sci., Rice University, Houston TexasGoogle Scholar
  11. [KeHo 86]
    Kennedy, K.; Hood, R.T.: „Programming Language Support for Supercomputers”, in Frontiers of Super Computing, University of California Press 1986Google Scholar
  12. [Kogg 74]
    Kogge, P.M.: „Parallel Solution of Recurrence Problems”, IBM J.Res. Development, March 1974Google Scholar
  13. [KKPL 81]
    Kuck, D.J.; Kuhn, R.H.; Padua, D.A.; Leasure, B.; Wolfe, M.: „Dependence graph and compiler optimizations“, Proc. 8th ACM Symp. Principles Programming Lang., Williamsburg, VA, Jan. 1981Google Scholar
  14. [KSS 86]
    Kolb, D.; Sommer, M.; Stadel, M.: „Programming Environments”, in Computer Physics Communications 41, Amsterdam, North-HollandGoogle Scholar
  15. [Lamp 74]
    Lamport, L.: „The Parallel Execution of DO Loops”, Comm. of the ACM: Vol. 17, No.2 (Feb., 74)Google Scholar
  16. [Nagl 85]
    Nagl, M.: „An Incremental Programming Support Environment“, in Computer Physics Communications 38, Amsterdam, North-HollandGoogle Scholar
  17. [PaWo 86]
    Padua, D.A.; Wolfe, M.J.: „Advanced Compiler Optimizations for Supercomputers”, Comm. of the ACM, Vol. 29, No. 12, (Dec., 86)Google Scholar
  18. [TeRe 81]
    Teitelbaum, T.; Reps, Th.: „The Cornell Program Synthesizer: A Syntax Directed Programming Environment”, Comm. of the ACM, Vol. 24, No. 9 (Sept., 81)Google Scholar
  19. [Wolf 82]
    Wolfe, M.J.: „Optimizing super compilers for supercomputers”, Ph. D. dissertation, Dep. Comp. Sci., Univ. Illinois, Urbana-Champaign, 1982Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Thomas Brandes
    • 1
  • Manfred Sommer
    • 1
  1. 1.Department of Mathematics/Computer ScienceUniversity of MarburgMarburg, Lahnberge

Personalised recommendations