Skip to main content
Log in

Preconditioning index set transformations for time-optimal affine scheduling

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

Many regular algorithms, suitable for VLSI implementation, are naturally described by sets of integer index vectors together with a rule that assigns a computation to each vector. Regular VLSI structures for such algorithms can be found by mapping the index vectors to a discrete space-time with integer coordinates. If the scope is restricted to linear or affine mappings, then the minimization of the execution time for the VLSI implementation with respect to the space-time mapping is essentially an integer linear programming (ILP) problem. If the entries in the vector describing the time function must be integers, ILP techniques can be applied directly. There are, however, index sets that allow space-time mappings with rational, nonintegral entries. In such cases, ILP will not consider all possible affine time functions and an optimal solution may go unnoticed. In this paper we give sufficient conditions on the index set for when only integer time functions are allowed. We also give a general algorithm to find a “preconditioning” affine transformation of the index set, such that the transformed index set allows only integer time functions. ILP methods can then be used to find time-optimal architectures for the transformed algorithm. This considerably extends the class of algorithms for which time-optimal VLSI structures can be found.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. M. C. Chen. Transformation of parallel programs in Crystal. In H.-J. Kugler, editor,INFORMATION PROCESSING 86, pages 455–462. Elsevier, Amsterdam (North-Holland, Amsterdam), 1986.

    Google Scholar 

  2. P. E. Danielsson. SeriaVparallel convolvers.IEEE Trans. Comput., 33:652–667, July 1984.

    Google Scholar 

  3. J.-M. Delosme and I. Ipsen. Efficient systolic arrays for the solution of Toeplitz systems: an illustration of a methodology for the construction of systolic architectures in VLSI. In W. Moore, A. McCabe, and R. Urquhart, editors,Systolic Arrays, pages 37–46. Adam Hilger, Bristol, 1987.

    Google Scholar 

  4. H. V. Jagadish, S. K. Rao, and T. Kailath. Array architectures for iterative algorithms.Proc. IEEE, 75(9): 1304–1321, Sept. 1987.

    Google Scholar 

  5. R. Kannan. A polynomial algorithm for the two-variable integer programming problem.J. Assoc. Comput. Mach., 27(1):118–122, Jan. 1980.

    Google Scholar 

  6. R. M. Karp, R. E. Miller, and S. Winograd. The organization of computations for uniform recurrence equations.J. Assoc. Comput. Mach., 14(3):563–590, July 1967.

    Google Scholar 

  7. D. E. Knuth.The Art of Computer Programming, Vol. 2. Addison-Wesley, Reading, MA, 1969.

    Google Scholar 

  8. S. C. Kothari, H. Oh, and E. Gannett. Optimal designs of linear flow systolic architectures.Proc. 1989Internat. Conf. on Parallel Processing, Vol. I, pages 247–256, Aug. 1989.

    Google Scholar 

  9. H. T. Kung and C. E. Leiserson. In C. Mead and L. Conway, editors,Introduction to VLSI Systems, Chapter 8.3. Addison-Wesley, Reading, MA, 1980.

    Google Scholar 

  10. S. Lang.Algebra. Addison-Wesley, Menlo Park, CA, 1984.

    Google Scholar 

  11. B. Lisper.Synthesis of Synchronous Systems by Static Scheduling in Space-Time. Lecture Notes in Computer Science, Volume 362. Springer-Verlag, Berlin, May 1989.

    Google Scholar 

  12. B. Lisper. Synthesis of time-optimal systolic arrays with cells with inner structure.J. Parallel Distrib. Comput., 10(2):182–187, Oct. 1990.

    Google Scholar 

  13. D. I. Moldovan. On the analysis and synthesis of VLSI algorithms.IEEE Trans. Comput., 31:1121–1126, Oct. 1982.

    Google Scholar 

  14. H. Nelis and E. F. Deprettere. A systematic method for mapping algorithms of arbitrarily large dimensions onto fixed size systolic arrays.Proc. IEEE Internat. Symp. on Circuits and Systems, Vol. 2, pages 559–563, May 1987.

    Google Scholar 

  15. M. Newman.Integral Matrices. Pure and Applied Mathematics, Volume 45. Academic Press, New York, 1972.

    Google Scholar 

  16. P. Quinton. Automatic synthesis of systolic arrays from uniform recurrent equations.Proc. 11th Ann. Internat. Symp. on Computer Architecture, pages 208–214, June 1984.

  17. S. V. Rajopadye. Synthesizing systolic arrays with control signals from recurrence equations.Distrib. Comput., 3:88–105, 1989.

    Google Scholar 

  18. I. V. Ramakrishnan, D. S. Fussell, and A. Silberschatz. Mapping homogeneous graphs on linear arrays.IEEE Trans. Comput., 35(3):189–209, March 1986.

    Google Scholar 

  19. S. K. Rao and T. Kailath. Regular iterative algorithms and their implementation on processor arrays.Proc. IEEE, 76(3):259–269, March 1988.

    Google Scholar 

  20. R. Roychowdhury and T. Kailath. Study of parallelism in regular iterative networks.Proc. 2nd Ann. Symp. on Parallel Algorithms and Architectures, pages 305–314, July 1990.

  21. A. Schrijver.Theory of Linear and Integer Programming. Wiley, New York, 1986.

    Google Scholar 

  22. W. Shang and J. A.B. Fortes. On the optimality of linear schedules.J VLSI Signal Process., 1:209–220, 1989.

    Google Scholar 

  23. Y. Wong and J.-M. Delosme. Optimization of computation time for systolic arrays.Proc. 26th Allerton Conf. on Communication, Control and Computing, pages 1104–1113, Sept. 1988.

  24. Y. Wong and J.-M. Delosme. Optimization of Processor Count for Systolic Arrays. Res. Rep. YALEU/DCS/RR-697, Dept. Computer Science, Yale University, May 1989.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Communicated by M. Snir.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lisper, B. Preconditioning index set transformations for time-optimal affine scheduling. Algorithmica 15, 193–203 (1996). https://doi.org/10.1007/BF01941688

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01941688

Key words