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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
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.
Preview
Unable to display preview. Download preview PDF.
10. References
J. R. Allen, "Dependence Analysis for Subscripted Variables and its application to program transformations," Ph.D. Thesis, University of Texas at Austin.
R. G. Cytron, "Compile-time Scheduling and Optimization for Asynchronous machines," PhD Thesis, University of Illinois at Urbana-Champagne, 1984.
N. W. Kennedy, "Automatic translation of Fortran programs to vector form," Rice Technical report 476-029-4, Oct. 1980.
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.
L. Lamport, "The parallel execution of DO loops," Commun. ACM 17, 1974, pp. 83–93.
A. A. Munshi, unpublished manuscript.
B. B. Simons, M. Sipser, "On scheduling unit-length jobs with multiple release time/deadline intervals," Operations Research, Vol. 32, 1984, pp. 80–86.
Author information
Authors and Affiliations
Editor information
Rights 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