Skip to main content

Resource-based communication placement analysis

  • Communication Optimization
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1239))

Abstract

Communication placement analysis is an important step in the compilation of data-parallel programs. However, to simplify the placement analysis, previous techniques ignored most machine-dependent resource constraints. This paper demonstrates the necessity of incorporating resource constraints in ensuring the correctness of the communication placement. It presents a new placement analysis technique that minimizes frequency of communication, eliminates redundant communication, and maximizes communication latency hiding while taking limited resources into account. The paper illustrates resource-based placement analysis in the context of placement of distributed-memory communication primitives and limited buffer size resource constraint. In addition, it shows the use of stripmining transformation in improving the efficacy of resource-based communication placement.

This work was supported in part by ARPA contract DABT63-92-C-0038 and NSF Cooperative Agreement Number CCR-9120008. The content of this paper does not necessarily reflect the position or the policy of the Government, and no official endorsement should be inferred.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, MA, second edition, 1986.

    Google Scholar 

  2. S. Amarasinghe and M. Lam. Communication optimization and code generation for distributed memory machines. In Proceedings of the SIGPLAN '93 Conference on Programming Language Design and Implementation, Albuquerque, NM, June 1993.

    Google Scholar 

  3. M. Garey and D. Johnson. Computers and Intractability, A Guide to the Theory of NP-Completeness. W. H. Freeman and Co., New York, NY, 1979.

    Google Scholar 

  4. C. Gong, R. Gupta, and R. Melhem. Compilation techniques for optimizing communication on distributed-memory systems. In Proceedings of the 1993 International Conference on Parallel Processing, St. Charles, IL, August 1993.

    Google Scholar 

  5. E. Granston and A. Veidenbaum. Detecting redundant accesses to array data. In Proceedings of Supercomputing '91, Albuquerque, NM, November 1991.

    Google Scholar 

  6. T. Gross and P. Steenkiste. Structured dataflow analysis for arrays and its use in an optimizing compiler. Software—Practice and Experience, 20(2):133–155, February 1990.

    Google Scholar 

  7. M. Gupta, E. Schonberg, and H. Srinivasan. A unified data-flow framework for optimizing communication. In Proceedings of the Seventh Workshop on Languages and Compilers for Parallel Computing, Ithaca, NY, August 1994.

    Google Scholar 

  8. R. v. Hanxleden and K. Kennedy. Give-N-Take — A balanced code placement framework. In Proceedings of the SIGPLAN '94 Conference on Programming Language Design and Implementation, Orlando, FL, June 1994.

    Google Scholar 

  9. K. Kennedy and A. Sethi. A communication placement framework with unified dependence and data-flow analysis. In Proceedings of the Third International Conference on High Performance Computing, Trivandrum, December 1996.

    Google Scholar 

  10. J. Knoop, O. Rüthing, and B. Steffen. Optimal code motion: Theory and practice. ACM Transactions on Programming Languages and Systems, 16(4):1117–1155, July 1994.

    Article  Google Scholar 

  11. C. Koelbel, D. Loveman, R. Schreiber, G. Steele, Jr., and M. Zosel. The High Performance Fortran Handbook. The MIT Press, Cambridge, MA, 1994.

    Google Scholar 

  12. T. Mowry, M. Lam, and A. Gupta. Design and evaluation of a compiler algorithm for prefetching. In Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-V), pages 62–73, Boston, MA, October 1992.

    Google Scholar 

  13. R. E. Tarjan. Testing flow graph reducibility. Journal of Computer and System Sciences, 9:355–365, 1974.

    Google Scholar 

  14. C.-W. Tseng. An Optimising Fortran D Compiler for MIMD Distributed-Memory Machines. PhD thesis, Dept. of Computer Science, Rice University, January 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Sehr Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kennedy, K., Sethi, A. (1997). Resource-based communication placement analysis. In: Sehr, D., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1996. Lecture Notes in Computer Science, vol 1239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017264

Download citation

  • DOI: https://doi.org/10.1007/BFb0017264

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63091-3

  • Online ISBN: 978-3-540-69128-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics