Skip to main content

Parallel hybrid data flow algorithms: A case study

  • Conference paper
  • First Online:

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

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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Frances E. Allen and John Cocke. A program data flow analysis procedure. Communications of the ACM, 19(3):137–147, 1976.

    Google Scholar 

  2. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading, MA, 1986.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. M. S. Hecht. Flow Analysis of Computer Programs. Elsevier North-Holland, 1977.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Yong-fong Lee. Performing Data Flow Analysis in Parallel. PhD thesis, Department of Computer Science, Rutgers University, Technical Report LCSR-TR-178, May 1992.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. J.K. Lenstra and A.H.G. Rinnooy Kan. Complexity of scheduling under precedence constraints. Operations Research, 26(1):22–35, 1978.

    Google Scholar 

  15. Thomas J. Marlowe. Incremental Iteration and Data Flow. PhD thesis, Department of Computer Science, Rutgers University, Technical Report DCS-TR-255, October 1989.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. Thomas J. Marlowe and Barbara G. Ryder. Properties of data flow frameworks: A unified model. Acta Informatica, 28(2):121–164, 1991.

    Google Scholar 

  18. D. A. Padua and M. J. Wolfe. Advanced compiler optimizations for supercomputers. Communications of the ACM, 29(12):1184–1201, December 1986.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352–357, July 1984.

    Google Scholar 

  22. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Y. -F. Lee or B. Ryder .

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints 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

Publish with us

Policies and ethics