Programs and systems of recurrence equations may be represented as sets of actions which are to be executed subject to precedence constraints. In may cases, actions may be labelled by integral vectors in some iterations domains, and precedence constraints may be described by affine relations. A schedule for such a program is a function which assigns an execution data to each action. Knowledge of such a schedule allows one to estimate the intrinsic degree of parallelism of the program and to compile a parallel version for multiprocessor architectures or systolic arrays. This paper deals with the problem of finding closed form schedules as affine or piecewise affine functions of the iteration vector. An algorithm is presented which reduces the scheduling problem to a parametric linear program of small size, which can be readily solved by an efficient algorithm.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Price includes VAT (USA)
Tax calculation will be finalised during checkout.
Paul Feautrier, Asymptotically efficient algorithms for parallel architectures, M. Cosnard and C. Girault (eds.), IFIP WG 10.3, North-Holland,Decentralized System, pp. 273–284 (December 1989).
Patrice Quinton and V. van Dongen, The mapping of linear recurrence equations on regular arrays, submitted toThe Journal of VLSI Signal Processing (September 1988).
Sanjay V. Rajopadhye and Richard M. Fujimoto, Synthesizing systolic rays from recurrence equations.Parallel Computing 14:163–189 (1990).
Leslie Lamport, The parallel execution of do loops.CACM 17:83–93 (February 1974).
Michael L. Dowling, Optimal code parallelization using unimodular transformations,Parallel Computing 16:157–171 (1990).
Mourad Raji-Werth and Paul Feautrier, Systematic construction of program for distributed memory systems, Paul Feautrier and François Irigoin (eds.),Proc. of the Int'l. Workshop on Compiler for Parallel Computers, Paris (December 1990).
William Pugh, Uniform techniques for loop optimization,ACM Conf. on Supercomputing, pp. 341–352 (January 1991).
Lee-Chung Lu, A unified framework for systematic loop transformations,SIGPLAN Notices, Third ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming 26, 28–38 (July 1991).
Alain Darte and Yves Robert, Mapping Uniform Loop Nests onto Distributed Memory Architectures, Technical Report 93-03, LIP-IMAG (January 1993).
Paul Feautrier, Some efficient solutions to the affine scheduling problem, Part II, multidimensional time,IJPP (to appear). Also available as IBP-MASI Research Report 92.78.
A. Schrijver,Theory of Linear and Integer Programming, Wiley, New York (1986).
Paul Feautrier, Dataflow analysis of scalar and array references,IJPP 20(1):23–53 (February 1991).
J. R. Allen and Ken Kennedy, Automatic loop interchange,SIGPLAN Notices 19(6):233–246 (June 1984).
Michael J. Wolfe,Optimizing Supercompilers for Supercomputers, Pitman and The MIT Press (1989).
François Irigoin and Rémi Triolet, Supernode partitioning,Proc. 15th POPL, San Diego, California, pp. 319–328 (January 1988).
R. M. Karp, R. E. Miller, and S. Winograd, The organization of computations for uniform recurrence equations.Journal of the ACM 14:563–590 (1967).
Jacques Arsac,La Contruction de Programmes Structurés, Dunod, Paris (1977).
E. A. Ashcroft and W. W. Wadge,Lucid, the Data-flow Programming Language, Academic Press (1985).
L. G. Tesler and H. J. Enea, A language design for concurrent processes,SJCC, pp. 403–408 (1968).
Marina C. Chen, A parallel language and its compilation to multiprocessor machines for VLSI,Proc. ACM POPL (1986).
Hervé Leverge, Christophe Mauras, and Patrice Quinton, TheALPHA language and its use for the design of systolic arrays,Journal of VLSI Signal Processing 3:173–182 (1991).
Paul Feautrier, Array expansion,ACM Int'l. Conf. on Supercomputing, St. Malo (1988).
Joel H. Salz, Ravi Mirchandaney, and Kay Crowley, Run-time parallelization and scheduling of loops,IEEE Trans. on Computers 40:603–612 (May 1881).
Brigitte Jouannault, Conception d'algorithmes et d'architectures systoliques, PhD Thesis, Université de Rennes I (September 1987).
Yannick Saouter and Patrice Quinton, Computability of Recurrence Equations, Technical Report 521, IRISA (February 1990).
Patrice Quinton, The systematic design of systolic arrays, F. Fogelman, Y. Robert, and M. Tschuente (eds.), Manchester University Press,Automata Networks in Computer Science, pp. 229–260 (December 1987).
Alain Darte and Yves Robert, Affine-by-statement Scheduling of Uniform Loop Nest over Parametric Domains, Technical Report 92-16, LIP-IMAG (April 1992).
Hervé Leverge, A note on Chernikova's algorithm, Technical Report 635, INRIA (May 1992).
Paul Feautrier and Nadia Tawbi Résolution de Systèmes d'Inéquations Linéaires; mode d'emploi du logiciel PIP, Technical Report 90.2, IBP-MASI (January 1990).
Christophe Mauras, Patrice Quinton, Sanjay Rajopadhye, and Yannick Saouter, Scheduling Affine Parameterized Recurrences by means of Variable Dependent Timing Functions, Technical Report 1204, INRIA (April 1990).
Weijia Shang and Jose A. B. Fortes, Time optimal linear schedules for algorithms with uniform dependencies.IEEE Transactions on Computers 40(6):723–742 (June 1991).
Alain Darte, Leonid Kachian, and Yves Robert, Linear Scheduling is Nearly Optimal, Technical Report 91-35, LIP-IMAG (November 1991). To appear inParallel Processing Letters.
About this article
Cite this article
Feautrier, P. Some efficient solutions to the affine scheduling problem. I. One-dimensional time. Int J Parallel Prog 21, 313–347 (1992). https://doi.org/10.1007/BF01407835
- Automatic parallelization
- automatic systolic array design