An array data flow analysis based communication optimizer

  • Xin Yuan
  • Rajiv Gupta
  • Rami Melhem
Synchronization and Communication
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1366)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 11.
    High Performance Fortran Forum. “High Performance Fortran Language specification.” version 1.0 Technique Report CRPC-TR92225, Rice University, 1993.Google Scholar
  12. 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. 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. 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. 15.
    R.E. Tarjan “Testing flow graph reducibility.” Journal of Computer and System Sciences, 9:355–365, 1974.Google Scholar
  16. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Xin Yuan
    • 1
  • Rajiv Gupta
    • 1
  • Rami Melhem
    • 1
  1. 1.Dept. of Computer ScienceUniv. of PittsburghPittsburgh

Personalised recommendations