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.
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, MA, second edition, 1986.
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.
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.
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.
E. Granston and A. Veidenbaum. Detecting redundant accesses to array data. In Proceedings of Supercomputing '91, Albuquerque, NM, November 1991.
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.
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.
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.
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.
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.
C. Koelbel, D. Loveman, R. Schreiber, G. Steele, Jr., and M. Zosel. The High Performance Fortran Handbook. The MIT Press, Cambridge, MA, 1994.
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.
R. E. Tarjan. Testing flow graph reducibility. Journal of Computer and System Sciences, 9:355–365, 1974.
C.-W. Tseng. An Optimising Fortran D Compiler for MIMD Distributed-Memory Machines. PhD thesis, Dept. of Computer Science, Rice University, January 1993.
Author information
Authors and Affiliations
Editor information
Rights 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