Skip to main content

Differences in algorithmic parallelism in control flow and call multigraphs

  • Back to Basics: Program Analysis
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1994)

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

Abstract

Our parallel hybrid analysis methods facilitate the parallelization of the analysis phase of a software transformation system, by enabling deeper semantic analyses to be accomplished more efficiently than if performed sequentially. Our previous empirical studies profiled these hybrid techniques on the Reaching Definitions problem [LMR91, LR92a, LR92b]. Recently, we have applied our method to the Interprocedural May _Alias Problem for Fortran programs in a prototype implementation. The interpretation of our results suggested further performance studies, comparing our region partition algorithms (both Bottom_Up and Forward partitioning [LRF94]) on call multigraphs and control flow graphs. These comparisons yielded statistically significant differences in performance of our graph partitioning techniques applied to these two graph populations. This research is part of a larger effort to calculate the modification side effects problem (MOD) for Fortran programs using our parallel hybrid techniques.

The work presented here was supported, in part, by ARPA contract DABT-63-93-C-0064 and by the National Science Foundation grants CCR92-13518 and CCR90-23628. The content of the information herein does not necessarily reflect the position of the Government and official endorsement should not be inferred.

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. Frances E. Allen and John Cocke. A program data flow analysis procedure. Communications of the ACM, 19(3):137–147, 1976.

    Google Scholar 

  2. A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.

    Google Scholar 

  3. Keith Cooper and Ken Kennedy. Fast interprocedural alias analysis. In Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, pages 49–59, January 1989.

    Google Scholar 

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

  5. Matthew S. Hecht. Flow Analysis of Computer Programs. Elsevier North-Holland, Amsterdam, Netherlands, 1977.

    Google Scholar 

  6. Robert Kramer, Rajiv Gupta, and Mary Lou Soffa. The combining DAG: A technique for parallel data flow analysis. IEEE Transactions on Parallel and Distributed Systems, August 1994. to appear.

    Google Scholar 

  7. Yong-fong Lee. Performing Data Flow Analysis in Parallel. PhD thesis, Department of Computer Science, Rutgers University, May 1992.

    Google Scholar 

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

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

  10. Yong-fong Lee and Barbara G. Ryder. Parallel hybrid data flow algorithms: A case study. In Conference Record of 5th Workshop on Languages and Compilers for Parallel Computing, Yale University, pages 296–310, August 1992. Springer-Verlag Lecture Notes in Computer Science, Number 757.

    Google Scholar 

  11. Yong-fong Lee and Barbara G. Ryder. A framework for parallel compile-time analyses. The Journal of Supercomputing, 1994. in press.

    Google Scholar 

  12. Yong-fong Lee, Barbara G. Ryder, and Marc E. Fiuczynski. Region analysis: A parallel elimination method for data flow analysis. In Proceedings of the IEEE Conference on Computer Languages, pages 31–42, May 1994.

    Google Scholar 

  13. Thomas J. Marlowe. Data Flow Analysis and Incremental Iteration. PhD thesis, Rutgers University, August 1989.

    Google Scholar 

  14. Thomas J. Marlowe and Barbara G. Ryder. An efficient hybrid algorithm for incremental data flow analysis. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 184–196, January 1990.

    Google Scholar 

  15. Thomas J. Marlowe and Barbara G. Ryder. Hybrid incremental alias algorithms. In Proceedings of the Twentyfourth Hawaii International Conference on System Sciences, Volume II, Software, January 1991.

    Google Scholar 

  16. Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277–316, September 1986.

    Google Scholar 

  17. Barbara G. Ryder. Ismm: Incremental software maintenance manager. In Proceedings of the IEEE Computer Society Conference on Software Maintenance, pages 142–164, October 1989.

    Google Scholar 

  18. F. Kenneth Zadeck. Incremental data flow analysis in a structured program editor. In Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction, pages 132–143. ACM Press, June 1984. Montreal, Canada.

    Google Scholar 

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

Editor information

Keshav Pingali Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sgro, V., Ryder, B.G. (1995). Differences in algorithmic parallelism in control flow and call multigraphs. In: Pingali, K., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1994. Lecture Notes in Computer Science, vol 892. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0025881

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-49134-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics