Skip to main content

Scheduling sequential loops on parallel processors

  • Session 4B: Compilers And Restructuring Techniques II
  • Conference paper
  • First Online:
Supercomputing (ICS 1987)

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

Included in the following conference series:

Abstract

Automatic parallelization of code written in a sequential language such as FORTRAN is of great importance for compilers for parallel computers. We first discuss the problem of automatically parallelizing iterative loops on multiprocessors and then derive a scheduling problem that models a technique for the automatic parallelization. We present some polynomial time solutions for special cases of the scheduling problem along with an NP-completeness proof of a simple variant of the problem. We also analyze a naive heuristic for solving the general scheduling problem and prove that it gives a result that is at most a factor of three greater than optimal. Finally, we derive for the original compiler problem an approximation algorithm and present some test results. In the tests, which were run on a well known numerical analysis package, our technique always equalled and frequently surpassed the results obtained by the best known technique in the literature. Our approach is unique and represents one of the first attempts at understanding the complexity theoretic aspects of the problem of parallelizing sequential loops.

This work was done while the author was at IBM A.R.C.

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.

10. References

  1. J. R. Allen, "Dependence Analysis for Subscripted Variables and its application to program transformations," Ph.D. Thesis, University of Texas at Austin.

    Google Scholar 

  2. R. G. Cytron, "Compile-time Scheduling and Optimization for Asynchronous machines," PhD Thesis, University of Illinois at Urbana-Champagne, 1984.

    Google Scholar 

  3. N. W. Kennedy, "Automatic translation of Fortran programs to vector form," Rice Technical report 476-029-4, Oct. 1980.

    Google Scholar 

  4. D. J. Kuck, R. H. Kuhn, B. Leasure, M. Wolfe, "The structure of an advanced vectorizer for pipeline processors," 4th International computer software and applications conference, 1980.

    Google Scholar 

  5. L. Lamport, "The parallel execution of DO loops," Commun. ACM 17, 1974, pp. 83–93.

    Google Scholar 

  6. A. A. Munshi, unpublished manuscript.

    Google Scholar 

  7. B. B. Simons, M. Sipser, "On scheduling unit-length jobs with multiple release time/deadline intervals," Operations Research, Vol. 32, 1984, pp. 80–86.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

E. N. Houstis T. S. Papatheodorou C. D. Polychronopoulos

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Munshi, A.A., Simons, B. (1988). Scheduling sequential loops on parallel processors. In: Houstis, E.N., Papatheodorou, T.S., Polychronopoulos, C.D. (eds) Supercomputing. ICS 1987. Lecture Notes in Computer Science, vol 297. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18991-2_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-18991-2_23

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18991-6

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics