Abstract
When analyzing programs with parallel imperative constructs (e.g., cobegin/coend), standard computer intermediate representations are inadequate. This paper introduces a new relation called the precedence relation and new data structures called the Parallel Control Flow Graph and the Parallel Precedence Graph for programs with parallel constructs. We show how to report anomalies in parallel programs using Parallel Precedence Graphs. In sequential Control Flow Graphs, the precedence relation is represented by the dominance relation. With explicit parallelism, the dominance relation is not the same as the precedence relation; we discuss the significance of the precedence relation and the new data structures for analyzing programs with parallel constructs. These data structures form a concrete basis for the development of efficient algorithms for optimizing parallel programs.
Preview
Unable to display preview. Download preview PDF.
References
Frances Allen, Michael Burke, Philippe Charles, Ron Cytron, and Jeanne Ferrante. An overview of the PTRAN analysis system for multiprocessing. In Elias N. Houstis, Theodore S. Papatheodorou, and Constantine D. Polychronopoulos, editors, Supercomputing: 1st International Conf., volume 297 of Lecture Notes in Computer Science, pages 194–211. Springer-Verlag, Berlin, 1987.
[ABC+88] Frances Allen, Michael Burke, Philippe Charles, Ron Cytron, and Jeanne Ferrante. An overview of the PTRAN analysis system for multiprocessing. J. Parallel and Distributed Computing, 5(5):617–640, October 1988. (update of [ABC+87]).
Todd R. Allen and David A. Padua. Debugging Fortran on a shared memory machine. In Santaj K. Sahni, editor, Proc. 1987 International Conf. on Parallel Processing, pages 721–727, St. Charles, IL, August 1987.
Michael Burke and Ron Cytron. Interprocedural dependence analysis and parallelization. In Proc. SIGPLAN '86 Symp. on Compiler Construction, pages 162–175, Palo Alto, CA, June 1986.
Per Brinch Hansen. Operating Systems Principles, pages 57–59. Automatic Computation. Prentice-Hall, 1973.
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.
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and Kenneth Zadeck. An efficient method of computing static single assignment form. In Conf. Record 16th Annual ACM Symp. on Principles of Programming Languages, pages 25–35, Austin, TX, January 1989.
David Callahan, Ken Kennedy, and Jaspal Subhlok. Analysis of event synchronization in a parallel programming tool. In Second A CM SIGPLAN Symposium on Principles and Practice of Parallel Programming [PPO90], pages 21–30.
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 [PPO90], pages 1–10.
Jeanne Ferrante, Karl J. Ottenstein, and Joe D. Warren. The program dependence graph and its use in optimization. ACM Trans. on Programming Languages and Systems, 9(3):319–349, July 1987.
Leslie Lamport. Time, clocks and the ordering of events in a distributed system. CACM, 1(21):558–564, July 1978.
Thomas Lengauer and Robert Endre Tarjan. A fast algorithm for finding dominators in a flow graph. ACM Trans. on Programming Languages and Systems, 1(1):121–141, July 1979.
Samuel P. Midkiff and David A. Padua. Issues in the optimization of parallel programs. In David Padua, editor, Proc. 1990 International Conf. on Parallel Processing, volume II, pages 105–113, St. Charles, IL, August 1990. Penn State Press.
Samuel P. Midkiff, David A. Padua, and Ron Cytron. Compiling programs with user parallelism. In David Gelernter, Alexandru Nicolau, and David A. Padua, editors, Languages and Compilers for Parallel Computing, Research Monographs in Parallel and Distributed Computing, pages 402–422. MIT Press, Boston, 1990.
Parallel Computing Forum. PCF Fortran, April 1990.
Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Seattle, Washington, March 1990. ACM Press.
Michael Wolfe and Utpal Banerjee. Data dependence and its application to parallel processing. International J. Parallel Programming, 16(2):137–178, April 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wolfe, M., Srinivasan, H. (1992). Data structures for optimizing programs with explicit parallelism. In: Zima, H.P. (eds) Parallel Computation. ACPC 1991. Lecture Notes in Computer Science, vol 591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55437-8_77
Download citation
DOI: https://doi.org/10.1007/3-540-55437-8_77
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55437-0
Online ISBN: 978-3-540-47073-1
eBook Packages: Springer Book Archive