Skip to main content

Efficient computation of precedence information in parallel programs

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1993)

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

Abstract

For any two statements in a parallel program, S i and S j , S i is said to precede S j if the execution of S j implies that S i must have already executed across all possible execution orders. There are many uses for precedence information for parallel programs, including program debugging and program optimization. The problem of finding exact precedence information is Co-NP-Hard [5]. Existing approaches to compute a conservative approximation to the precedence information at compile time are very expensive. In this paper, we present a more efficient algorithm to compute precedence that exploits known properties of sequential and parallel programs. In sequential programs, the precedence relation is the same as the dominance relation. We use this, and other information, to develop a more efficient algorithm.

This work supported in part by an IBM Graduate Fellowship

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. A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, MA, 1986.

    Google Scholar 

  2. Vasanth Balasundaram and Ken Kennedy. Compile-time detection of race conditions in a parallel program. In Proc. 3rd International Conference on Supercomputing, pages 175–185, June 1989.

    Google Scholar 

  3. Per Brinch Hansen. Operating Systems Principles, pages 57–59. Automatic Computation. Prentice-Hall, 1973.

    Google Scholar 

  4. G. Bristow, C. Drey, B. Edwards, and W. Riddle. Anomaly detection in concurrent programs. In Fourth Intl. Conf. on Software Eng., pages 265–273, 1979.

    Google Scholar 

  5. D. Callahan and J. Subhlok. Static Analysis of low-level synchronization. In Proc. of the ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging [14], pages 100–111.

    Google Scholar 

  6. David Callahan, Ken Kennedy, and Jaspal Subhlok. Analysis of event synchronization in a parallel programming tool. In Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming [15], pages 21–30.

    Google Scholar 

  7. Anne Dinning and Edith Schonberg. An empirical comparison of monitoring algorithms for access anomaly detection. In Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming [15], pages 1–10.

    Google Scholar 

  8. Perry Emrath, Sanjoy Ghosh, and David A. Padua. Event synchronization analysis for debugging parallel programs. In Proc. Supercomputing 89, pages 580–588, Reno, NV, November 1989. IEEE Computer Society Press.

    Google Scholar 

  9. Perry Emrath and David Padua. Automatic detection of nondeterminacy in parallel programs. In PDD88 [14], pages 89–99.

    Google Scholar 

  10. Dirk Grunwald and Harini Srinivasan. Data flow equations for explicitly parallel programs. In Conf. Record 4th ACM Symp. Principles and Practices of Parallel Programming, San Diego, California, May 1993.

    Google Scholar 

  11. IBM Corporation, Kingston, NY. Parallel FORTRAN Language and Library Reference, 1988.

    Google Scholar 

  12. Robert Netzer. Race Condition Detection for Debugging of Shared-Memory Parallel Programs. PhD thesis, University of Wisconsin-Madison, 1991.

    Google Scholar 

  13. Parallel Computing Forum. PCF Parallel FORTRAN Extensions. FORTRAN Forum, 10(3), September 1991. (special issue).

    Google Scholar 

  14. Proc. of the ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging, Madison, WA, May 1988.

    Google Scholar 

  15. Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Seattle, Washington, March 1990. ACM Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Grunwald, D., Srinivasan, H. (1994). Efficient computation of precedence information in parallel programs. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1993. Lecture Notes in Computer Science, vol 768. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57659-2_34

Download citation

  • DOI: https://doi.org/10.1007/3-540-57659-2_34

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57659-4

  • Online ISBN: 978-3-540-48308-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics