# On the optimality of linear schedules

- 30 Downloads
- 8 Citations

## Abstract

An algorithm can be modeled as a set of indexed computations, and a schedule is a mapping of the algorithm index space into time.*Linear schedules* are a special class of schedules that are described by a linear mapping and are commonly used in many systolic algorithms.*Free schedules* cause computations of an algorithm to execute as soon as their operands are available. If one computation uses data generated by another computation, then a data dependence exists between these two computations which can be represented by the difference of their indices (called*dependence vector*). Many important algorithms are characterized by the fact that data dependencies are*uniform*, i.e., the values of the dependence vectors are independent of the indices of computations. There are applications where it is of interest to find an optimal linear schedule with respect to the time of execution of*a specific* computation of the given algorithm. This paper addresses the problem of identifying optimal linear schedules for uniform dependence algorithms so that the execution time of*a specific* computation of the algorithm is minimized and proposes a procedure to solve this problem based on the mathematical solution of a linear optimization problem. Also, linear schedules are compared with free schedules. The comparison indicates that optimal linear schedules can be as efficient as free schedules, the best schedules possible, and identifies a class of algorithms for which this is always true.

### Keywords

Execution Time Parallel Processing Linear Programming Problem Specific Computation Systolic Array## Preview

Unable to display preview. Download preview PDF.

### References

- 1.R. M. Karp, R. E. Miller and S. Winograd. The organization of computations for uniform recurrence equations.
*JACM*14, 3, Jul. 1967, pp. 563–590.MathSciNetCrossRefMATHGoogle Scholar - 2.D.I. Moldovan and J.A.B. Fortes. Partitioning and mapping algorithms into fixed size systolic arrays.
*IEEE Trans. Computers*, Vol. C-35, No. 1, Jan. 1986, pp. 1–12.CrossRefGoogle Scholar - 3.P.R. Cappello and K. Steiglitz. Unifying VLSI array designs with geometric transformations.
*Proc. Int’l Conf on Parallel Processing*, 1983, pp. 448–457.Google Scholar - 4.P. Quinton. Automatic synthesis of systolic arrays from uniform recurrent equations.
*Proc. 11th Annual Symposium on Computer Architecture*, 1984, pp. 208–214.Google Scholar - 5.S.K. Rao.
*Regular iterative algorithms and their implementations on processor arrays*. Ph.D. Dissertation, Stanford University, Stanford, California, Oct. 1985.Google Scholar - 6.M. Chen. A design methodology for synthesizing parallel algorithms and architectures.
*Journal of Parallel and Distributed Computing*, Dec. 1986, pp. 461–491.Google Scholar - 7.J.-M. Delosme and I.C. F. Ipsen. An illustration of a methodology for the construction of efficient systolic architectures in VLSI. Proc. Second Int’l Symposium on VLSI Technology, Systems and Applications, 1985, pp. 268–273.Google Scholar
- 8.S.Y. Kung.
*VLSI Array Processors*. Englewood Cliffs, N.J.: Prentice-Hall, 1987.Google Scholar - 9.C. Guerra and R. Melhem. Synthesizing non-uniform systolic designs,
*Proc. Int’l Conf. on Parallel Processing*, 1986, pp. 765–771.Google Scholar - 10.G.-J. Li and B.W. Wah. The design of optimal systolic arrays.
*IEEE Trans. Computers*, Vol. C-34, Jan. 1985, pp. 66–77.CrossRefGoogle Scholar - 11.M.T. O’Keefe and J.A.B. Fortes. A comparative study of two systematic design methodologies for systolic arrays.
*Proc. Int’l Conf. on Parallel Processing*, 1986, pp. 672–675.Google Scholar - 12.J.A.B. Fortes, F. Parisi-Presicce, Optimal linear schedule for the parallel execution of algorithms.
*Proc. Int’l Conf. on Parallel Processing*, 1984, pp. 322–328.Google Scholar - 13.R. Cytron. Doacross: Beyond vectorization for multiprocessors (extended abstract).
*Proc. Int’l Conf. on Parallel Processing*, 1986, pp. 836–844.Google Scholar - 14.W. Shang and J.A.B. Fortes. Time optimal linear schedules for algorithms with uniform dependencies.
*Proc. Int’l Conf. on Systolic Arrays*, May 1988, pp. 393–402.Google Scholar - 15.D.A. Padua.
*Multiprocessors: Discussion of theoretical and practical problems*. Ph.D. Thesis, Univ. of Illinois at Urb.-Champ., Rept. No. UIUCDCS-R79-990, Nov. 1979.Google Scholar - 16.J.-K. Peir and R. Cytron. Minimum distance: a method for partitioning recurrences for multiprocessors.
*Proc. Int’l Conf. on Parallel Processing*, 1987, pp. 217–225.Google Scholar - 17.W. Shang and J.A.B. Fortes. Independent partitioning of algorithms with uniform dependencies.
*Proc. Int’l Conf. on Parallel Processing*, Vol. 2, 1988, pp 26–33.Google Scholar - 18.P.E. Gill, W. Murray and M.H. Wright.
*Practical Optimization*. New York: Academic Press, 1981.MATHGoogle Scholar - 19.D.G. Luenberger.
*Linear and Nonlinear Programming*. Second Edition, Menlo Park, California: Addison-Wesley Publishing Company, 1984.MATHGoogle Scholar