This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Constructive Methods for Scheduling Uniform Loop Nests
August 1994 (vol. 5 no. 8)
pp. 814-822

This paper surveys scheduling techniques for loop nests with uniform dependences. First,we introduce the hyperplane method and related variants. Then we extend it by using adifferent affine scheduling for each statement within the nest. In both cases, we presenta new, constructive, and efficient method to determine optimal solutions, i.e., scheduleswhose total execution time is minimum.

[1] U. Banerjee, "An introduction to a formal theory of dependence analysis,"J. Supercomputing, vol. 2, pp. 133-149, 1988.
[2] B. W. Char, K. O. Geddes, G. H. Gonnet, M. B. Monagan, and S. M. Watt,Maple Reference Manual, 1988.
[3] P. Chretienne, "Task scheduling over distributed memory machines," in M. Cosnard, P. Quinton, M. Raynal, and Y. Robert, Eds.,Parallel and Distributed Algorithms. Amsterdam: North-Holland, 1989, pp. 165-176.
[4] M. Dowling, "Optimal code parallelization using unimodular transformations,"Parallel Computing, vol. 16, pp. 157-171, 1990.
[5] P. Feautrier and N. Tawbi, "Résolution de systèmes d'inéquations linéaires; mode d'emploi du logiciel pip," Tech. Rep. 90-2, Institut Blaise Pascal, Laboratoire MASI, Paris, France, Jan. 1990.
[6] S. Hiranandani, K. Kennedy, and C. Tseng, "Computer optimization for FORTRAN D on MIMD distributed memory machines,"Proc. Supercomputing '91, 1991, pp. 86-100.
[7] L. Lamport, "The parallel execution of DO loops,"Commun. ACM, vol. 17, no. 2, pp. 83-93, Feb. 1974.
[8] C. E. Leiserson and J. B. Saxe, "Optimizing synchronous systems,"J. VLSI Comput. Syst., vol. 1, pp. 41-67, Apr. 1983.
[9] B. Lisper, "Linear programming methods for minimizing execution time of indexed computations," in P. Feautrier and F. Irigoin, Eds.,Int. Worshop on Compilers for Parallel Comput., 1990, pp. 131-142.
[10] L. S. Liu, C. W. Ho, and J. P. Sheu, "On the parallelism of nested forloops using index shift method," inProc. Int. Conf. Parallel Processing, vol. 2, pp. 119-123, Aug. 1990.
[11] C. Mauras, P. Quinton, S. Rajopadhye, and Y. Saouter, "Scheduling affine parameterized recurrences by means of variable dependent timing functions," in S. Y. Kung, E. E. Swartzlander, J. A. B. Fortes, and K. W. Przytula, Eds.,Application Specific Array Processors. Los Alamitos, CA: IEEE Computer Society Press, 1990, pp. 100-110.
[12] J. K. Peir and R. Cytron, "Minimum distance: A method for partitioning recurrences for multiprocessors,"IEEE Trans. Comput., vol. 38, pp. 1203-1211, Aug. 1989.
[13] C. D. Polychronopoulos, "Compiler optimization for enhancing parallelism and their impact on architecture design,"IEEE Trans. Comput., vol. 37, pp. 991-1004, Aug. 1988.
[14] P. Quinton,The Systematic Design of Systolic Arrays. Princeton NJ: Princeton University Press, 1987, pp. 229-260.
[15] S. V. Rajopadhye and R. M. Fujimoto, "Synthesizing systolic arrays from recurrence equations,"Parallel Computing, vol. 14, pp. 163-189, 1990.
[16] S. K. Rao, "Regular iterative algorithms and their implementations on processor arrays," Ph.D. dissertation, Stanford Univ., Stanford, CA, Oct. 1985.
[17] Y. Robert and S. W. Song, "Revisiting cycle shrinking,"Parallel Computing, vol. 18, pp. 481-496, 1992.
[18] A. Schrijver,Theory of Linear and Integer Programming. New York: Wiley, 1986.
[19] W. Shang and A. B. Fortes, "Time optimal linear schedules for algorithms with uniform dependencies,"IEEE Trans. Comput., vol. 40, pp. 723-742, June 1991.
[20] M. Wolfe,Optimizing Supercompilers for Supercomputers. Cambridge MA: MIT Press, 1989.

Index Terms:
Index Termsscheduling; program compilers; parallel programming; parallel algorithms; linearprogramming; scheduling; uniform loop nests; uniform dependences; hyperplane method;affine scheduling; optimal solutions; execution time; supercompilers; parallelisationtechniques; linear programming
Citation:
A. Darte, Y. Robert, "Constructive Methods for Scheduling Uniform Loop Nests," IEEE Transactions on Parallel and Distributed Systems, vol. 5, no. 8, pp. 814-822, Aug. 1994, doi:10.1109/71.298207
Usage of this product signifies your acceptance of the Terms of Use.