Skip to main content

Automatic Determination of Parallelism in Programs

  • Conference paper
Software for Parallel Computation

Part of the book series: NATO ASI Series ((NATO ASI F,volume 106))

Abstract

This paper discusses a software tool to determine parallelism in sequential programs automatically and to determine the granularity size of parallel tasks to be executed on parallel machines. It includes a discussion of the techniques to detect parallelism in sequential programs and the techniques for determining the best way to partition parallel tasks into modules called grains, which will then be scheduled on a parallel machine to give near optimal parallel execution time.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Almasi, S.A. and Gottlieb, A., Highly Parallel Computing, The Benjamin/Cummings Publishing Comp. Inc, (1989).

    Google Scholar 

  2. Allen, F.E., A Program Data Flow Analysis Procedure, Communications of the ACM 19, No. 3, pp. 137–147, March 1976.

    Article  MATH  Google Scholar 

  3. Allen, R., Automatic Decomposition of Scientific Programs for Parallel Execution, Proc. of 14th ACM Symp. on Principles of Prog.Lang. 1987.

    Google Scholar 

  4. Appelbe, B. and Smith, K., Start/Pat: A Parallel-Programming Toolkit, IEEE Software July 1989 pp:29–38.

    Google Scholar 

  5. Axelrod, T.S., Effects of Synchronization Barriers on Multiprocessor Performance, Parallel Computing 3, 1986, pp. 129–140, North-Holland.

    Article  MathSciNet  Google Scholar 

  6. Bernstein, A.J., Analysis of Programs for Parallel Processing, IEEE Trans. on Electronic Computing, Vol. EC-15, pp.757–763, (1966).

    Article  Google Scholar 

  7. Burke, M., Cytron, R., Interprocedural Dependence Analysis and Parallelization, SIGPLAN Notices Vol. 21 July 1986, pp. 162–175.

    Article  Google Scholar 

  8. Burke, M., Cytron, R., Ferrante, J., Hsieh, W., Sarkar, V., Shield, D., Automatic Discovery of Parallelism: A Tool and an Experiment (Extended Abstract), Proc. of the ACM/SIGPLAN APPELALS 1988.

    Google Scholar 

  9. Callahan, D., Cooper, K.D., Hood, R.T., Kennedy, K., Torczon, L., Warren, S.K., Parallel Programming Support in Parascope, Parallel Computing in science and Engineering, Lecture Notes in Computer Science 295 (1987).

    Google Scholar 

  10. Duda, A, On the Tradeoff Between Paralelism and Communication, Proc. of the 8th Int.Conf. on Modelling Techniques and Tools for Computer Performance Evaluation, 1988, pp.323–334.

    Google Scholar 

  11. Evans, DJ. and Williams, S.A., Analysis and Detection of Parallel Processable Code, The Computer Journal, Vol. 23, No. 1, pp.66–72, (1978).

    Article  Google Scholar 

  12. Garey, M.R. and Johnson, D.S., Computers and Interactability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Company (1979).

    Google Scholar 

  13. Gonzalez, Mario J., Parallel Task Execution in Decentralized System, IEEE Transactions on Computers 21, No. 12, pp. 1310–1322, December 1972.

    Article  MATH  Google Scholar 

  14. Guarna, V.A., Gannon, D., Jaolononowksi, D., Malony, A.D. and Gaur, Y., Faust: An Integrated Environment for Parallel Programming, IEEE Software July 1989, pp.20–26.

    Google Scholar 

  15. Kernighan, B.W. and Ritchie, D.M., The C Programming Language, Prentice-Hall 1988.

    Google Scholar 

  16. Kruatrachue, B. and Lewis, T., Grain Size Determination for Parallel Processing, IEEE Software January 1988.

    Google Scholar 

  17. Kuck, D.J., Muraoka, Y., Chen, S.C., On the Number of Operations Simultaneously Executable in Fortran-like Programs and their Resulting Speedup, IEEE Transactions on Computer 21, No. 12, pp. 1293–1310, December 1972.

    Article  MathSciNet  MATH  Google Scholar 

  18. McCreary, C. and Gill, H., Automatic Determination of Grain Size for Efficient Parallel Processing, CACM September 1989, Vol.32, No.9.

    Google Scholar 

  19. Mohd-Saman, M.Y. and Evans D.J., Investigation of a set of Bernstein Tests for the Detection of Loop Parallelization, Report 712, Dept. Computer Studies, Loughborough University of Technology, U.K., May 1992.

    Google Scholar 

  20. Muchnick, S.S. and Jones, N.D., Program Flow Analysis: Theory and Applications, Englewood Cliff, N.J. Prentice-Hall, Inc. 1981.

    MATH  Google Scholar 

  21. Padua, D.A. and Michael, J.W., Advanced Compiler Optimizations for Supercomputers, Comm. of the ACM 29, No. 12, pp. 1184–1201, December 1986.

    Article  Google Scholar 

  22. Polychronopoulos, C.D., Parallel Programming and Compilers, Kluwer Academic Publishers, 1988.

    Google Scholar 

  23. Sarkar, V., Partitioning and Scheduling Parallel Programs for Multiprocessors, Pitman, London 1989.

    MATH  Google Scholar 

  24. Smith, B.J., Shared Memory, Vectors, Message Passing and Scalability, Parallel Computing in Science and Engineering, Lecture Notes in Computer Science 295, (1987).

    Google Scholar 

  25. Spyropoulos, C.D., Analysis of Job Scheduling Algorithms for Heterogeneous Multiprocessor Computing Systems, Ph.D. Dissertation, Loughborough University of Tech., 1979.

    Google Scholar 

  26. Tjaden, G.S., Detection and Parallel Execution of Independent Instructions, IEEE Transactions on Computer 19, No. 10, pp.889–895, October 1970.

    Article  Google Scholar 

  27. Walmsley, S.W. and Williams, S.A., Basically MODULA-2, Chartwell-Bratt (1990).

    Google Scholar 

  28. Williams, S., Approaches to the Determination for Parallelism for Computer Programs, Ph.D. Loughborough University of Tech., 1978.

    Google Scholar 

  29. Wolfe, M. and Banerjee, U., Data Dependence and its Application to Parallel Processing, Int. J. Parallel Prog., Vol.16, 1987, pp. 137–178.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Evans, D.J., Saman, M.Y.M. (1993). Automatic Determination of Parallelism in Programs. In: Kowalik, J.S., Grandinetti, L. (eds) Software for Parallel Computation. NATO ASI Series, vol 106. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-58049-9_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-58049-9_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-63453-6

  • Online ISBN: 978-3-642-58049-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics