Abstract
We have designed and implemented parallel compile-time analysis algorithms based on a family of general-purpose, hybrid algorithms for data flow analysis [MR90]. Recently, we have developed optimizations that improve algorithm performance by reducing the time taken for computation, communication and dynamic scheduling. The practicality of this improved algorithm is evidenced by empirical studies of the Reaching Definitions problem on a distributed-memory machine, the Intel iPSC/2.
Preview
Unable to display preview. Download preview PDF.
References
Frances E. Allen and John Cocke. A program data flow analysis procedure. Communications of the ACM, 19(3):137–147, 1976.
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading, MA, 1986.
Michael Burke and Ron Cytron. Interprocedural dependence analysis and parallelization. In Proceedings of the ACM SIGPLAN '86 Symposium on Compiler Construction, pages 162–175. ACM Press, June 1986. Palo Alto, California.
George Cybenko, Lyle Kipp, Lynn Pointer, and David Kuck. Supercomputer performance evaluation and the perfect benchmarks. In Proceedings of 1990 International Conference on Supercomputing, pages 254–266, June 1990.
Rajiv Gupta, Lori Pollock, and Mary Lou Soffa. Parallelizing data flow analysis. In Proceedings of the Workshop on Parallel Compilation, Kingston, Ontario, Canada, May 1990.
M. S. Hecht. Flow Analysis of Computer Programs. Elsevier North-Holland, 1977.
S. Horwitz, J. Prins, and T Reps. Integrating non-interfering versions of programs. ACM Transactions on Programming Languages and Systems, 11(3):345–387, 1989.
Robert Kramer, Rajiv Gupta, and Mary Lou Soffa. The combining DAG: A technique for parallel data flow analysis. Technical Report 91-8, University of Pittsburgh, Pittsburgh, PA., March 1991.
Yong-fong Lee. Performing Data Flow Analysis in Parallel. PhD thesis, Department of Computer Science, Rutgers University, Technical Report LCSR-TR-178, May 1992.
Yong-fong Lee, Thomas J. Marlowe, and Barbara G. Ryder. Parallel data flow analysis algorithms. In Proceedings of the Workshop on Parallel Compilation, Kingston, Ontario, Canada, May 1990.
Yong-fong Lee, Thomas J. Marlowe, and Barbara G. Ryder. Performing data flow analysis in parallel. In Proceedings of Supercomputing '90, pages 942–951, November 1990.
Yong-fong Lee, Thomas J. Marlowe, and Barbara G. Ryder. Experiences with a parallel algorithm for data flow analysis. The Journal of Supercomputing, 5(2):163–188, October 1991.
Yong-fong Lee and Barbara G. Ryder. A comprehensive approach to parallel data flow analysis. In Proceedings of the ACM International Conference on Supercomputing, pages 236–247, July 1992.
J.K. Lenstra and A.H.G. Rinnooy Kan. Complexity of scheduling under precedence constraints. Operations Research, 26(1):22–35, 1978.
Thomas J. Marlowe. Incremental Iteration and Data Flow. PhD thesis, Department of Computer Science, Rutgers University, Technical Report DCS-TR-255, October 1989.
Thomas J. Marlowe and Barbara G. Ryder. An efficient hybrid algorithm for incremental data flow analysis. In Conference Record of the 17th Annual ACM Symposium on Principles of Programming Languages, pages 184–196. ACM Press, January 1990. San Francisco, California.
Thomas J. Marlowe and Barbara G. Ryder. Properties of data flow frameworks: A unified model. Acta Informatica, 28(2):121–164, 1991.
D. A. Padua and M. J. Wolfe. Advanced compiler optimizations for supercomputers. Communications of the ACM, 29(12):1184–1201, December 1986.
Barbara G. Ryder and Hemant Pande. The interprocedural structure of C programs: An empirical study. Technical Report LCSR-TR-99, Department of Computer Science, Rutgers University, February 1988.
Sandra Rapps and Elaine J. Weyuker. Selecting software test data using data flow information. IEEE Transactions on Software Engineering, SE-11(4):367–375, 1985.
Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352–357, July 1984.
Angelika Zobel. Parallel interval analysis of data flow equations. In Proceedings of the 1990 International Conference on Parallel Processing, Vol.II, pages 9–16. The Penn State University Press, August 1990.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lee, Y.F., Ryder, B. (1993). Parallel hybrid data flow algorithms: A case study. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1992. Lecture Notes in Computer Science, vol 757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57502-2_54
Download citation
DOI: https://doi.org/10.1007/3-540-57502-2_54
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57502-3
Online ISBN: 978-3-540-48201-7
eBook Packages: Springer Book Archive