Skip to main content
Log in

Synthesizing systolic arrays with control signals from recurrence equations

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We present a technique for synthesizing systolic arrays which have non-uniform data flow governed by control signals. The starting point for the synthesis is anAffine Recurrence Equation—a generalization of the simple recurrences encountered in mathematics. A large class of programs, including most (single and multiple) nested-loop programs can be described by such recurrences. In this paper we extend our earlier work (Rajopadhye and Fujimoto 1986) in two principal directions. Firstly, we characterize a class of transformations calleddata pipelining and show that they yield recurrences that havelinear conditional expressions governing the computation. Secondly, we discuss the synthesis of systolic arrays that have non-uniform data flow governed by control signals. We show how to derive the control signals in such arrays by applying similar pipelining transformations to theselinear conditional expressions. The approach is illustrated by deriving the Guibas-Kung-Thompson architecture for computing the cost of optimal string parenthesization.

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

Access this article

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

  • Burstall RM, Darlington J (1977) A transformation system for developing recursive programs. J ACM 24:44–67

    Google Scholar 

  • Cappello PR, Steiglitz K (1984) Unifying VLSI designs with linear transformations of space-time. Adv Comput Res

  • Cassels JWS (1959) An introduction to the geometry of numbers. Springer, Berlin Heidelberg

    Google Scholar 

  • Chen MC (1983) Space-time algorithms: semantics and methodology. PhD thesis, California Institute of Technology, Pasadena, Ca

    Google Scholar 

  • Chen MC (1986) A parallel language and its compilation to multiprocessor machines for VLSI. ACM Principles of Programming Languages

  • Chen MC (1986) A design methodology for synthesizing parallel algorithms and architectures. J Parallel Distrib Compt 3

  • Delosme J-M, Ipsen ICF (1985) An illustration of a methodology for the construction of efficient systolic architectures in VLSI. Int Symp on VLSI Technology, Systems and Applications. Taipei, Taiwan, pp 268–273

  • Delosme J-M, Ipsen ICF (1986) Systolic array synthesis: computability and time cones. In: Cosnard M, Quinton P, Robert Y, Tchuente M (eds) Parallel algorithms and architectures conference. North-Holland, pp 295–312

  • Fortes JAB, Moldovan D (1984) Data broadcasting in linearly scheduled array processors. Proc 11th Ann Symp on Computer Architecture, pp 224–231

  • Gachet P, Joinnault B, Quinton P (1987) Synthesizing systolic arrays using DIASTOL. In: Moore A, McCabe W, Urquhart R (eds) Systolic arrays. Hilger, Oxford, England

    Google Scholar 

  • Guerra C, Melhem R (1986) Synthesizing non-uniform systolic designs. Proc Int Conf on Parallel Processing. IEEE, August 1986, pp 765–771

  • Guibas L, Kung HT, Thompson CD (1979) Direct VLSI implementation of combinatorial algorithms. Proc Conf on Very Large Scale Integration: Architecture, Design and Fabrication, January 1979, pp 509–525

  • Huang C-H, Lengauer C (1987)a Mechanically derived systolic solutions to the algebraic path problem. In: Proebster WE, Reiner H (eds) Proc VLSI and Computers. IEEE Computer Society Press, pp 307–310

  • Huang C-H, Lengauer C (1987b) The derivation of systolic implementations of programs, Acta Inf 24:595–632

    Google Scholar 

  • Jagadish HV, Rao S, Kailath T (1987) Array architectures for iterative algorithms. Proc IEEE 75:1304–1321

    Google Scholar 

  • Karp RM, Miller RE, Winograd S (1967) The organization of computations for uniform recurrence equations. JACM 14:563–590

    Google Scholar 

  • Kung HT (1979) Let's design algorithms for VLSI. Proc Caltech Conf on VLSI, January 1979

  • Kung HT (1982) Why systolic architectures. Computer 15:37–46

    Google Scholar 

  • Lam MS, Mostow JA (1985) A transformational model of VLSI systolic design. IEEE Comput 18:42–52

    Google Scholar 

  • Leiserson CE, Saxe JB (1983) Optimizing synchronous systems. J VLSI Comput Syst 1:41–68

    Google Scholar 

  • Li GJ, Wah BW (1985) Design of optimal systolic arrays. IEEE Trans Comput C-35:66–77

    Google Scholar 

  • Moldovan DI (1983) On the design of algorithms for VLSI systolic arrays. Proc. IEEE 71:113–120

    Google Scholar 

  • Melhem RG, Rheinboldt WC (1984) A mathematical model for the verification of systolic networks. SIAM J Comput 13:541–565

    Google Scholar 

  • Miranker WL, Winkler A (1984) Space-time representation of computational structures. Computing 32:93–114

    Google Scholar 

  • Quinton P (1983) The systematic design of systolic arrays. Tech rep 216, Institut National de Recherche en Informatique et en Automatique INRIA, July 1983

  • Rajopadhye SV (1986) Synthesis, optimization and verification of systolic architectures. PhD thesis, University of Utah, Salt Lake City, December 1986

    Google Scholar 

  • Rajopadhye SV, Fujimoto RM (1986) Systolic array synthesis by static analysis of program dependencies. Tech Rep UUCS-86-0011, University of Utah. Comput Sci Dep, August 1986

  • Rajopadhye SV, Fujimoto RM (1987) Systolic array synthesis by static analysis of program dependencies. Proc Parallel Architectures and Languages, Europe. Eindhoven, The Netherlands, June 1987. Lect Notes Comput Sci 258. Springer, Berlin Heidelberg New York Tokyo

    Google Scholar 

  • Rajopadhye SV, Fujimoto RM (1988) Synthesizing systolic arrays from recurrence equations. Parallel Computing (in press)

  • Rajopadhye SV, Purushothaman S, Fujimoto RM (1986) On synthesizing systolic arrays from recurrence equations with linear dependencies. Proc, 6th Conf on Foundations of Software Technology and Theoretical Computer Science, New Delhi, India, December 1986. Lect Notes Comput Sci No 241, Springer, Berlin Heidelberg New York Tokyo

    Google Scholar 

  • Ramakrishnan IV, Fussell DS, Silberschatz A (1985) Mapping homogeneous graphs on linear arrays. IEEE Trans Comput C-35:189–209

    Google Scholar 

  • Rao S (1985) Regular iterative algorithms and their implementations on processor arrays. Ph D thesis, Standord University, Information Systems Lab, Stanford, Ca, October 1985

    Google Scholar 

  • Rao S, Kailath T (1986) What is a systolic algorithm. Proc Highly Parallel Signal Processing Architectures. SPIE, Los Angeles, Ca, January 1986, pp 34–48

    Google Scholar 

  • Weiser UC, Davis AL (1981) A wavefront notational tool for VLSI array design. VLSI Systems and Computations. Carnegie Mellon University, October 1981, pp 226–234

  • Yaacoby Y, Cappello PR (1988a) Scheduling a system of affine recurrence equations onto a systolic array. Tech Rep TRCS 87-19, University of California at Santa Barbara, Comput Sci Dept, Santa Barbara, Ca, February 1988

    Google Scholar 

  • Yaacoby Y, Cappello PR (1988b) Bounded broadcast in systolic arrays. Tech Rep TRCS 88-13, University of California at Santa Barbara, April 1988

  • Yaacoby Y, Cappello PR (1988c) Converting affine recurrence equations to quasiuniform recurrence equations. AWOC 1988: 3rd Int Workshop on Parallel Computation and VLSI Theory, June 1988. Springer, Berlin Heidelberg New York Tokyo

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Supported by a University of Utah Graduate Research Fellowship, and NSF grant No. MIP-8802454

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rajopadhye, S.V. Synthesizing systolic arrays with control signals from recurrence equations. Distrib Comput 3, 88–105 (1989). https://doi.org/10.1007/BF01558666

Download citation

  • Issue Date:

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

Key words

Navigation