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
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
S. Chakrabarti, M. Gupta and J. Choi “Global Communication Analysis and Optimization.” In Programming Language Design and Implementation(PLDI), 1996, pages 68–78.
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.
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.
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.
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.
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.
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.
High Performance Fortran Forum. “High Performance Fortran Language specification.” version 1.0 Technique Report CRPC-TR92225, Rice University, 1993.
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.
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.
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.
R.E. Tarjan “Testing flow graph reducibility.” Journal of Computer and System Sciences, 9:355–365, 1974.
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.
Author information
Authors and Affiliations
Editor information
Rights 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