International Journal of Parallel Programming

, Volume 21, Issue 5, pp 313–347 | Cite as

Some efficient solutions to the affine scheduling problem. I. One-dimensional time

  • Paul Feautrier
Article

Abstract

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.

Key Words

Automatic parallelization automatic systolic array design scheduling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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).Google Scholar
  2. 2.
    Patrice Quinton and V. van Dongen, The mapping of linear recurrence equations on regular arrays, submitted toThe Journal of VLSI Signal Processing (September 1988).Google Scholar
  3. 3.
    Sanjay V. Rajopadhye and Richard M. Fujimoto, Synthesizing systolic rays from recurrence equations.Parallel Computing 14:163–189 (1990).Google Scholar
  4. 4.
    Leslie Lamport, The parallel execution of do loops.CACM 17:83–93 (February 1974).Google Scholar
  5. 5.
    Michael L. Dowling, Optimal code parallelization using unimodular transformations,Parallel Computing 16:157–171 (1990).Google Scholar
  6. 6.
    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).Google Scholar
  7. 7.
    William Pugh, Uniform techniques for loop optimization,ACM Conf. on Supercomputing, pp. 341–352 (January 1991).Google Scholar
  8. 8.
    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).Google Scholar
  9. 9.
    Alain Darte and Yves Robert, Mapping Uniform Loop Nests onto Distributed Memory Architectures, Technical Report 93-03, LIP-IMAG (January 1993).Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    A. Schrijver,Theory of Linear and Integer Programming, Wiley, New York (1986).Google Scholar
  12. 12.
    Paul Feautrier, Dataflow analysis of scalar and array references,IJPP 20(1):23–53 (February 1991).Google Scholar
  13. 13.
    J. R. Allen and Ken Kennedy, Automatic loop interchange,SIGPLAN Notices 19(6):233–246 (June 1984).Google Scholar
  14. 14.
    Michael J. Wolfe,Optimizing Supercompilers for Supercomputers, Pitman and The MIT Press (1989).Google Scholar
  15. 15.
    François Irigoin and Rémi Triolet, Supernode partitioning,Proc. 15th POPL, San Diego, California, pp. 319–328 (January 1988).Google Scholar
  16. 16.
    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).Google Scholar
  17. 17.
    Jacques Arsac,La Contruction de Programmes Structurés, Dunod, Paris (1977).Google Scholar
  18. 18.
    E. A. Ashcroft and W. W. Wadge,Lucid, the Data-flow Programming Language, Academic Press (1985).Google Scholar
  19. 19.
    L. G. Tesler and H. J. Enea, A language design for concurrent processes,SJCC, pp. 403–408 (1968).Google Scholar
  20. 20.
    Marina C. Chen, A parallel language and its compilation to multiprocessor machines for VLSI,Proc. ACM POPL (1986).Google Scholar
  21. 21.
    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).Google Scholar
  22. 22.
    Paul Feautrier, Array expansion,ACM Int'l. Conf. on Supercomputing, St. Malo (1988).Google Scholar
  23. 23.
    Joel H. Salz, Ravi Mirchandaney, and Kay Crowley, Run-time parallelization and scheduling of loops,IEEE Trans. on Computers 40:603–612 (May 1881).Google Scholar
  24. 24.
    Brigitte Jouannault, Conception d'algorithmes et d'architectures systoliques, PhD Thesis, Université de Rennes I (September 1987).Google Scholar
  25. 25.
    Yannick Saouter and Patrice Quinton, Computability of Recurrence Equations, Technical Report 521, IRISA (February 1990).Google Scholar
  26. 26.
    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).Google Scholar
  27. 27.
    Alain Darte and Yves Robert, Affine-by-statement Scheduling of Uniform Loop Nest over Parametric Domains, Technical Report 92-16, LIP-IMAG (April 1992).Google Scholar
  28. 28.
    Hervé Leverge, A note on Chernikova's algorithm, Technical Report 635, INRIA (May 1992).Google Scholar
  29. 29.
    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).Google Scholar
  30. 30.
    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).Google Scholar
  31. 31.
    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).Google Scholar
  32. 32.
    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. Google Scholar

Copyright information

© Plenum Publishing Corporation 1992

Authors and Affiliations

  • Paul Feautrier
    • 1
  1. 1.Laboratoire MASI, Institut Blaise PascalUniversité de Versailles St. QuentinVersailles CedexFrance

Personalised recommendations