Skip to main content

An array data flow analysis based communication optimizer

  • Synchronization and Communication
  • Conference paper
  • First Online:
Book cover Languages and Compilers for Parallel Computing (LCPC 1997)

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

Abstract

We present an efficient array data flow analysis based global communication optimizer which manages the analysis cost by partitioning the data flow problems into subproblems and solving the subproblems one at a time in a demand driven manner. In comparison to traditional array data flow based techniques, our scheme greatly reduces the memory requirement and manages the analysis time more effectively. The optimizer performs message vectorization, global redundant communication elimination and global communication scheduling. Our experience with the optimizer suggests that array data flow analysis for communication optimization is efficient and effective.

Partially supported by NSF Presidential Young Investigator Award CCR-9157371

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. S. P. Amarasinghe, J. M. Anderson, M. S. Lam and C. W. Tseng, “The SUIF Compiler for Scalable Parallel Machines,” Proceedings of the Seventh SIAM Conference on Parallel Processing for Scientific Computing, Feb. 1995.

    Google Scholar 

  2. S. P. Amarasinghe and M. S. Lam “Communication Optimization and Code Generation for Distributed Memory Machine.” In Proceedings ACM SIGPLAN'93 Conference on Programming Languages Design and Implementation, June 1993.

    Google Scholar 

  3. P. Banerjee, J. A. Chandy, M. Gupta, E. W. Hodges IV, J. G. Holm, A. Lain, D. J. Palermo, S. Ramaswamy, and E. Su. “The PARADIGM Compiler for DistributedMemory Multicomputers.” in IEEE Computer, Vol. 28, No. 10, pages 37–47, October 1995.

    Google Scholar 

  4. S. Chakrabarti, M. Gupta and J. Choi “Global Communication Analysis and Optimization.” In Programming Language Design and Implementation(PLDI), 1996, pages 68–78.

    Google Scholar 

  5. J.F. Collard, d. Barthou and P. Feautrier “Fuzzy Array Dataflow analysis.” In 5th ACM SIGPLAN Symposium on Principle & Practice of Parallel Programming, July 1995, Santa Barbara, CA.

    Google Scholar 

  6. E. Duesterwald, R. Gupta and M. L. Soffa “Demand-driven Computation of Interprocedural Data Flow” In Symposium on Principles of Programming Languages, Jan. 1995, San Francisco, CA.

    Google Scholar 

  7. C.Gong, R. Gupta and R. Melhem “Compilation Techniques for Optimizing Communication on Distributed-Memory Systems” In International Conference on Parallel Processing, Vol II, pages 39–46, August 1993.

    Google Scholar 

  8. M. Gupta and E. Schonberg “A Framework for Exploiting Data Availability to Optimize Communication.” In 6th International Workshop on Languages and Compilers for Parallel Computing, LNCS 768, pp 216–233, August 1993.

    Google Scholar 

  9. M. Gupta, E. Schonberg and H. Srinivasan “A Unified Framework for Optimizing Communication in Data-parallel Programs.” In IEEE Trans. on Parallel and Distributed Systems, Vol. 7, No. 7, pages 689–704, July 1996.

    Google Scholar 

  10. S. Hiranandani, K. Kennedy and C. Tseng “Compiling Fortran D for MIMD Distributed-memory Machines.” Comm. of the ACM, 35(8):66–80, August 1992.

    Google Scholar 

  11. High Performance Fortran Forum. “High Performance Fortran Language specification.” version 1.0 Technique Report CRPC-TR92225, Rice University, 1993.

    Google Scholar 

  12. K. Kennedy and N. Nedeljkovic “Combining dependence and data-flow analyses to optimize communication.” In Proceedings of the 9th International Parallel Processing Symposium, Santa Barbara, CA, April 1995.

    Google Scholar 

  13. K. Kennedy and A. Sethi, “A Constraint Based Communication Placement Framework.” Technique Report CRPC-TR95515-S, Center for Research on Parallel Computation, Rice University. Feb. 1995.

    Google Scholar 

  14. J. Li and M. Chen, “Compiling communication efficient programs for massively parallel machines.” IEEE Transactions on Parallel and Distributed Systems, 2(3):361–376, July 1991.

    Google Scholar 

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

    Google Scholar 

  16. X. Yuan, R. Gupta and R. Melhem “Demand-driven Data Flow Analysis for Communication Optimization.” Workshop on Challenging in Compiling for Scalable Parallel Systems, New Orleans, Louisiana, Oct. 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yuan, X., Gupta, R., Melhem, R. (1998). An array data flow analysis based communication optimizer. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032697

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64472-9

  • Online ISBN: 978-3-540-69788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics