Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Automatic discovery of parallelism: a tool and an experiment (extended abstract)

Published: 01 January 1988 Publication History

Abstract

This paper reports preliminary results from applying advanced techniques to the parallelization of sequential programs. Such techniques include interprocedural analysis and the identification of nested parallelism. These techniques have been proposed for exploiting the greater concurrency offered by multiprocessors as compared with vector architectures. The effectiveness of these techniques as applied to some popular numerical Fortran programs is examined. Although extrapolation is difficult, these preliminary results are encouraging indicators of the success of these techniques.

References

[1]
A.V. Aho and J. D. Ullman.Principles of Compiler Design. Addison-Wesley, 1977.
[2]
Fran Allen, Michael Burke, Philippe Charles, Ron Cytron, and Jeanne Ferrante. An Overview of the PTRAN Analysis System for Multiprocessing. Proceedings of the 1987 international Conference on Supercomputing, Springer-Verlag, Athens,Greece, 1987. To appear in a special issue of the Journal of Parallel and Distributed Computing.
[3]
Fran Allen, Michael Burke, Ron Cytron, Jeanne Ferrante, Wilson Hsieh, and Vivek Sarkar. A Framework for Determining Useful Parallelism, IBM T.J. Watson Research Center, July 1988. ACM international Conference on Supercomputing '88.
[4]
F.E. Allen and J. Cocke. A Program Data Flow Analysis Procedure. Communications of the A CM, 19(3): 137-147, March 1976.
[5]
John R. Allen. Dependence Analysis for Subscript Variables and Its Application to Program Transformations, PhD thesis, Rice University, Houston, Texas 1983.
[6]
J.R. Allen, Ken Kennedy, Carrie Porterfield, and Joe Warren. Conversion of Control Dependence to Data Dependence. Conf. Rec. Tenth ACM Symposium on Principles of Programming Languages, 1983.
[7]
Randy Allen, David Callahan, and Ken Kennedy. Automatic Decomposition of Scientific Programs for Parallel Execution. Conference Record of the Fourteenth Annual A CM Symposium on Principles of Programming Languages, pages 63-76, January 1987.
[8]
Michael Burke. An interval Analysis Approach Toward lnterprocedural Data Flow, IBM Research, 1984. Report RC 10640.
[9]
Michael Burke and Ron Cytron. lnterproeedural Dependence Analysis and Parallelization. Proceedings of the Sigplan '86 Symposium on Compiler Construction, 21 (7): 162-175, July 1986.
[10]
Michael Burke, Ron Cytron, Jeanne Ferrante, and Wilson Hsieh. Automatic Determination of Private and Shared Variables for Nested Processes, IBM T. J. Watson Research Center, 1987. Research Report RC 13194.
[11]
David Callahan, Keith D. Cooper, Ken Kennedy, and Linda Torczon. Interprocedural Constant Propagation. Proceedings of the Sigplan "86 Symposium on Compiler Construction, 21 (7): 152-161, July 1986.
[12]
Keith D. Cooper, Ken Kennedy, and Linda Torczon. The impact of Interprocedural Analysis and Optimization in the Rn Programming Environment. A CM Transactions on Programming Languages and Systems, 8(4):491-523, October 1986.
[13]
Ron Cytron. Compile-time Scheduling and Optimization for Asynchronous Machines, PhD thesis, University of Illinois at Urbana-Champaign, Urbana, Illinois 1984.
[14]
J.J. Dongarra, J. R. Bunch, C. B. Moler, and G. W. Stewart. Linpack Users" Guide. SIAM Press, Philadelpha, Pennsylvania, 1979.
[15]
J. Ferrante, K. Ottenstein, and J. Warren. The Program Dependence Graph and its Use in Optimization. ACM Transactions on Programming Languages and Systems, pages 319-349, July 1987.
[16]
E.J. Gilbert. An Investigation of the Partitioning of Algorithms Across, Computer Systems Laboratory, Stanford University, May 1980. TR No. 176.
[17]
Wilson C. Hsieh. Extracting Parallelism from Sequential Programs, Massachusetts Institute of Technology, 1988. Master's thesis in progress.
[18]
IBM. Parallel Fortran Language and Library Reference, International Business Machines, March 1988. Pub. No. SC23-0431-0.
[19]
Ken Kennedy. Automatic Translation of FORTRAN Programs to Vector Form, Rice University, 1980. Report 476-029-4.
[20]
David J. Kuck. The Structure of Computers and Computations. John Wiley and Sons, 1978.
[21]
D.J. Kuck, R. H. Kuhn, B. Leasure, and M. Wolfe. The Structure of an Advanced Vectorizer for Pipelined Processors. Proceedings of CompSAC 80 (Fourth International Computer Software and Applications Conference), pages 709-715, October 1980.
[22]
D.J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe. Dependence Graphs and Compiler Optimizations. Conference Record of 8th A CM Symposium on Principles of Programming Languages, 1981.
[23]
David J. Kuck, Ahmed H. Sameh, Ron Cytron, Alexander V. Veidenbaum, Constantine D. Polychronopoulos, Gyungho Lee, Tim McDaniel, Bruce R. Leasure, Carol Beckman, James R. B. Davies, and Clyde P. Kruskal. The Effects of Program Restructuring, Algorithm Change, and Architecture Choice on Program Performance. Proc. of 1984 International Conf. on Parallel Processing, pages 129-138, August 21-24 1984. No. IEEE Cat. No. 840H 2045-3.
[24]
Manoj Kumar. Effects of storage allocation/reclaimation methods on parallelism and storage requirements. Proc. 14th Annual lnt. Syrup. on Comp. Arch., June 1987. Pittsburgh, PA.
[25]
L. Lamport. The Parallel Execution of DO Loops. Communications of the ACM, pages 83-93, February 1974.
[26]
Bruce R. Leasure. Compiling Serial Languages for Parallel Machines, University of Illinois at Urbana- Champaign, 1976. M.S. Thesis.
[27]
R. Natarajan. Matching Numerical Algorithms to Supercomputer Architectures, IBM T. J. Watson Research Center, RC 13625, 1988.
[28]
David A. Padua and Michael J. Wolfe. Advanced Compiler Optimizations for Supercomputers. Communications of the A CM, 29( 12): 1184-1201, December 1986.
[29]
Vivek Sarkar. Partitioning and Scheduling Parallel Programs for Execution on Multiprocessors, PhD thesis, Stanford University, Stanford April 1987. Tech. Report CSL-TR-87-328.
[30]
J.T. Schwartz and M. Sharir. A Design for Optimizations of the Bitvectoring Class, New York University, September 1979. Courant Computer Science Report #17.
[31]
B.T. Smith, J. M. Boyle, J. J. Dongarra, B. S. Garbow, Y. lkebe, V. C. Klema, and C. B. Moler. Matrix Eigensystem Routines--Eispack Guide. Springer-Verlag, 1976.
[32]
Remi Triolet. Contribution a la Parellisation Automatique de Programmes Fortran Comportant des Appels de Procedure, PhD thesis, L'Universite Pierre et Marie Curie (Paris VI), Paris, France 1984.
[33]
Remi Triolet, Francois Irigoin, and Paul Feautrier. Direct Parallelization of Call Statements. Proceedings of the Sigplan '86 Symposium on Compiler Construction, 21 (7): 176-185, July 1986.
[34]
Mark Wegman and Ken Zadeck. Constant Propagation with Conditional Branches. Conf. Rec. Twelfth A CM Symposium on Principles of Programming Languages, pages 291-299, January 1985.
[35]
Michael J. Wolfe. Techniques for Improving the Inherent Parallelism in Programs, University of lllinois at Urbana- Champaign, 1978. M.S. Thesis.
[36]
Michael J. Wolfe. Optimizing Supercompilers for Supercomputers, PhD thesis, University of Illinois at Urbana-Champaign, Urbana, Illinois 1982. Report No. UIUCDCS-R-82-1105.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 23, Issue 9
Proceedings of the ACM/SIGPLAN PPEALS 1988
Sept. 1988
246 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/62116
Issue’s Table of Contents
  • cover image ACM Conferences
    PPEALS '88: Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
    January 1988
    246 pages
    ISBN:0897912764
    DOI:10.1145/62115
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1988
Published in SIGPLAN Volume 23, Issue 9

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)42
  • Downloads (Last 6 weeks)11
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2005)Interprocess analysis and optimization in the equational language compilerCONPAR 90 — VAPP IV10.1007/3-540-53065-7_111(324-335)Online publication date: 2-Jun-2005
  • (1991)Fine grain mapping strategy for multiprocessor systemsIEE Proceedings E Computers and Digital Techniques10.1049/ip-e.1991.0015138:3(109)Online publication date: 1991
  • (1990)Key references in distributed computer systems 1959–1989Distributed Computer Systems10.1016/B978-0-408-02938-4.50016-4(193-295)Online publication date: 1990
  • (1993)Automatic Determination of Parallelism in ProgramsSoftware for Parallel Computation10.1007/978-3-642-58049-9_12(163-175)Online publication date: 1993
  • (1992)Evaluation of compiler generated parallel programs on three multicomputersProceedings of the 6th international conference on Supercomputing10.1145/143369.143375(15-24)Online publication date: 1-Aug-1992
  • (1990)Parallelization of FORTRAN code on distributed-memory parallel processorsProceedings of the 4th international conference on Supercomputing10.1145/77726.255174(342-353)Online publication date: 1-Jun-1990
  • (1990)Parallelization of FORTRAN code on distributed-memory parallel processorsACM SIGARCH Computer Architecture News10.1145/255129.25517418:3b(342-353)Online publication date: 1-Jun-1990
  • (1990)Region SchedulingIEEE Transactions on Software Engineering10.1109/32.5429416:4(421-431)Online publication date: 1-Apr-1990
  • (1989)Automatic generation of DAG parallelismACM SIGPLAN Notices10.1145/74818.7482324:7(54-68)Online publication date: 21-Jun-1989
  • (1989)Automatic generation of DAG parallelismProceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementation10.1145/73141.74823(54-68)Online publication date: 21-Jun-1989
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media