Skip to main content

Analysis and optimization of explicity parallel programs using the parallel program graph representation

  • Program Analysis
  • Conference paper
  • First Online:

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

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. S. V. Adve and M. D. Hill. A unified formalization of four shared-memory models. IEEE Transaction on Parallel and Distributed Systems, pages 613–624, August 1993.

    Google Scholar 

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

    Google Scholar 

  3. John R. Allen. Dependence Analysis for Subscripted Variables and its Application to Program Transformation. PhD thesis, Rice University, Houston, TX, 1983.

    Google Scholar 

  4. Jyh-Herng Chow and William Ludwell Harrison. Compile time analysis of parallel programs that share memory. Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 130–141, January 1992.

    Google Scholar 

  5. Ron Cytron, Michael Hind, and Wilson Hsieh. Automatic Generation of DAG Parallelism. Proceedings of the ACM SIGPLAN '89 Conference on Programming Language Design and Implementation, Portland, Oregon, 24(7):54–68, June 1989.

    Google Scholar 

  6. J. Ferrante and M. E. Mace. On Linearizing Parallel Code. Conf. Rec. Twelfth ACM Symp. on Principles of Programming Languages, pages 179–189, January 1985.

    Google Scholar 

  7. J. Ferrante, K. Ottenstein, and J. Warren. The Program Dependence Graph and its Use in Optimization. ACM Transactions on Programming Languages and Systems, 9(3):319–349, July 1987.

    Google Scholar 

  8. Jeanne Ferrante, Dirk Grunwald, and Harini Srinivasan. Compile-time Analysis and Optimization of Explicitly Parallel Programs. Journal of Parallel Algorithms and Applications, 1997. (To appear).

    Google Scholar 

  9. Guang R. Gao and Vivek Sarkar. Location Consistency: Stepping Beyond the Memory Coherence Barrier. International Conference on Parallel Processing, August 1995.

    Google Scholar 

  10. Guang R. Gao and Vivek Sarkar. On the Importance of an End-To-End View of Memory Consistency in Future Computer Systems. Proceedings of the 1997 International Symposium on High Performance Computing, Fukuoka, Japan, November 1997.

    Google Scholar 

  11. K. Gharachorloo, D. Lenoski, J. Laudon, P. Gibbons, A. Gupta, and J. Hennessy. Memory consistency and event ordering in scalable sharedmemory multiprocessors. In Proceedings of the 17th ACM International Symposium on Computer Architecture, pages 15–27, May 1990.

    Google Scholar 

  12. Miland Girkar and Constantine Polychronopoulos. The HTG: An Intermediate Representation for Programs Based on Control and Data Dependences. Technical report, Center for Supercomputing Res. and Dev. University of Illinois, May 1991. CSRD Rpt. No.1046.

    Google Scholar 

  13. James Gosling and Henry McGilton. The Java Language Environment: A White Paper. Technical report, Sun Microsystems Computer Company, 2550 Garcia Avenue Mountain View, CA, May 1995.

    Google Scholar 

  14. P. Brinch Hansen. The programming language Concurrent Pascal. IEEE Transactions on Software engineering, SE-1(2):199–206, June 1975.

    Google Scholar 

  15. High Performance Fortran Forum. High Performance Fortran. Language Specification-Version 0.4, December 1992.

    Google Scholar 

  16. IEEE. Thread Extensions for Portable Operating Systems (Draft 6), February 1992. P1003.4a/6.

    Google Scholar 

  17. L. Lamport. How to Make a Multiprocessor Computer that Correctly Executes Multiprocess Programs. IEEE Trans. on Computers, C-28(9):690–691, September 1979.

    Google Scholar 

  18. B. Leasure. Parallel Processing Model for High Level Programming Languages. April 1994. Draft proposal by X3H5 committee of the American National Standard for Information Processing Systems.

    Google Scholar 

  19. Jaejin Lee, Samuel P. Midkiff, and David A. Padua. Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs. In Languages and compilers for parallel computing. Proceedings of the 10th international workshop. Held Aug., 1997 in Minneapolis, MN, Lecture Notes in Computer Science. Springer-Verlag, New York, 1998. (to appear).

    Google Scholar 

  20. OpenMP: A Proposed Industry Standard API for Shared Memory Programming, October 1997. White paper on OpenMP initiative, available at http://www.openmp.org/openmp/mp-documents/paper/paper.ps.

    Google Scholar 

  21. Vivek Sarkar. Automatic Partitioning of a Program Dependence Graph into Parallel Tasks. IBM Journal of Research and Development, 35(5/6), 1991.

    Google Scholar 

  22. Vivek Sarkar. The PTRAN Parallel Programming System. In B. Szymanski, editor, Parallel Functional Programming Languages and Compilers, ACM Press Frontier Series, pages 309–391. ACM Press, New York, 1991.

    Google Scholar 

  23. Vivek Sarkax. A Concurrent Execution Semantics for Parallel Program Graphs and Program Dependence Graphs (Extended Abstract). Springer-Verlag Lecture Notes in Computer Science, 757:16–30, 1992. Proceedings of the Fifth Workshop on Languages and Compilers for Parallel Computing, Yale University, August 1992.

    Google Scholar 

  24. Vivek Sarkar and Barbara Simons. Parallel Program Graphs and their Classification. Springer-Verlag Lecture Notes in Computer Science, 768:633–655, 1993. Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Portland, Oregon, August 1993.

    Google Scholar 

  25. Dennis Shasha and Marc Snir. Efficient and Correct Execution of Parallel Programs that Share Memory. Technical report, IBM, 1987. Report RC 12936.

    Google Scholar 

  26. Barbara Simons, David Alpern, and Jeanne Ferrante. A Foundation for Sequentializing Parallel Code. Proceedings of the ACM 1990 Symposium on Parallel Algorithms and Architecture, July 1990.

    Google Scholar 

  27. Harini Srinivasan. Optimizing Explicitly Parallel Programs. PhD thesis, Department of Computer Science, University of Colorado, 1994.

    Google Scholar 

  28. Michael J. Wolfe. Optimizing Supercompilers for Supercomputers. Pitman, London and The MIT Press, Cambridge, Massachusetts, 1989. In the series, Research Monographs in Parallel and Distributed Computing.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sarkar, V. (1998). Analysis and optimization of explicity parallel programs using the parallel program graph representation. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032686

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-69788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics