Supercomputing pp 392-415 | Cite as

Scheduling sequential loops on parallel processors

  • Ashfaq A. Munshi
  • Barbara Simons
Session 4B: Compilers And Restructuring Techniques II
Part of the Lecture Notes in Computer Science book series (LNCS, volume 297)


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.


Schedule Problem Start Time Problem Instance Dependence Graph Data Dependence 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

10. References

  1. [All]
    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. [Cyt]
    R. G. Cytron, "Compile-time Scheduling and Optimization for Asynchronous machines," PhD Thesis, University of Illinois at Urbana-Champagne, 1984.Google Scholar
  3. [Ken]
    N. W. Kennedy, "Automatic translation of Fortran programs to vector form," Rice Technical report 476-029-4, Oct. 1980.Google Scholar
  4. [KKLW]
    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. [Lam]
    L. Lamport, "The parallel execution of DO loops," Commun. ACM 17, 1974, pp. 83–93.Google Scholar
  6. [Mun]
    A. A. Munshi, unpublished manuscript.Google Scholar
  7. [SS]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Ashfaq A. Munshi
    • 1
  • Barbara Simons
    • 2
  1. 1.Ridge ComputersSanta Clara
  2. 2.IBM Almaden Research Center K53-802San Jose

Personalised recommendations