skip to main content
10.1145/143369.143433acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
Article
Free Access

A methodology for high-level synthesis of communication on multicomputers

Published:01 August 1992Publication History

ABSTRACT

Freeing the user from the tedious task of generating explicit communication is one of the primary goals of numerous research projects on compilers for distributed memory machines. In the process of synthesis of communication, the effective use of collective communication routines offers a considerable scope for improving the program performance. This paper presents a methodology for determining the collective communication primitives that should be used for implementing the data movement at various points in the program. We introduce the notion of certain synchronous properties between array references in statements inside loops, and present tests to determine the presence of these properties. These tests enable the compiler to analyze quite precisely the communication requirements of those statements, and implement communication using appropriate primitives. These results not only lay down a framework for synthesis of communication on multicomputers, they also form the basis of our implementation of a system that statically estimates the communication costs of programs on multicomputers.

References

  1. 1.V. Balasundaram. A mechanism for keeping useful internal information in parallel programming tools: the data access descriptor. Journal of Parallel and Distributed Computing, 9(2):154-170, June 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer. An interactive environment for data partitioning and distribution. In Proc. Fifth Dislributed Memory Computing Conference, April 1990.Google ScholarGoogle ScholarCross RefCross Ref
  3. 3.D. Callahan and K. Kennedy. Analysis of' interprocedural side effects in a parallel progranaming environment, in Proc. First International Conference on Supercomputing, Athens, Greece, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.M. Chen, Y. Choo, and J. Li. Theory and pragmattes of compiling efficient parallel code. Technical Report YALEU/DCS/TR-760, Yale University, December 1989.Google ScholarGoogle Scholar
  5. 5.G. Fox, M. Johnson, G. Lyzenga, S. Otto, J. Salmon, and D. Walker. Solving Problems on Concurrent Processors. Prentice Hall, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.M. Gerndt. Updating distributed variables in local computations. Concurrency- Practice 8J Experience, 2(3):171-193, September 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.M. Gupta and P. Banerjee. Compile-time estimation of communication costs in multicomputers. In Proc. 6th International Parallel Processing Symposium, Beverly Hills, California, March 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.M. Gupta and P. Banerjee. Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers. IEEE Transactions on Parallel and Distributed Systems, 3(2):179-193, March 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.S. Hiranandani, K. Kennedy, and C. Tseng. Compiler optimizations for Fortran D on MIMD distributed-memory machines. In Proc. Supercom. puting '91, Albuquerque, NM, November 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.K. Ikudome, G. Fox, A. Kolawa, and J. Flower. An automatic and symbolic parallelization system for distributed memory parallel computers. In Proc. Fifth Distributed Memory Computing Conference, April 1990.Google ScholarGoogle ScholarCross RefCross Ref
  11. 11.S. L. Johnsson. Performance modeling of distributed memory architectures. Journal of Parallel and Distributed Computing, pages 300-312, August 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.C. Koelbel and P. Mehrotra. Compiling global name-space parallel loops for distributed execution. 1EEE Transactions on Parallel and Distributed Systems, 2(4):440-451, October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.J. Li and M. Chen. Generating explicit communication from shared-memory program references. In Proc. Supercomputing '90, New York, NY, November 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Parasoft Corporation. Express User's Manual, 1989.Google ScholarGoogle Scholar
  15. 15.C. Polychronopoulos, M. Girkar, M. Haghighat, C. Lee, B. Leung, and D. Sehouten. Parafrase- 2: An environment for parallelizing, partitioning, synchronizing and scheduling programs on multiprocessors. In Proc. 1989 International Conference on Parallel Processing, August 1989.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.M.J. Quinn and P. J. Hatcher. Data-parallel programming on multicomputers. IEEE Software, 7:69-76, September 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.A. Rogers and K. Pingali. Process decomposition through locality of reference. In Proc. SIGPLAN '89 Conference on Programming Language Design and Implementation, pages 69-80, June 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.M. Rosing, R. B. Schnabel, and R. P. Weaver. The DINO parallel programming language. Technical Report CU-CS-457-90, University of Colorado at Boulder, April 1990.Google ScholarGoogle ScholarCross RefCross Ref
  19. 19.J. Saltz, H. Berryman, and J. Wu. Multiprocessors and runtime compilation. Technical Report ICASE 90-59, Institute for Computer Applications in Science and Engineering, Hampton, VA, September 1990.Google ScholarGoogle Scholar
  20. 20.M. J. Wolfe. Loop rotation. In Proc. 2nd Workshop on Languages and Compzlers for Parallel Processing, Urbana, IL, August 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.M. J. Wolfe. More iteration space tiling. In Proc. Supercomputing 89, Reno, Nevada, November 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.H. Zima, H. Bast, and M. Gerndt. SUPERB: A tool for semi-automatic MIMD/SIMD parallelization. Parallel Computzng, 6"1-18, 1988.Google ScholarGoogle Scholar

Index Terms

  1. A methodology for high-level synthesis of communication on multicomputers

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                ICS '92: Proceedings of the 6th international conference on Supercomputing
                August 1992
                495 pages
                ISBN:0897914856
                DOI:10.1145/143369

                Copyright © 1992 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 August 1992

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Acceptance Rates

                Overall Acceptance Rate584of2,055submissions,28%

                Upcoming Conference

                ICS '24

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader