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.
Similar content being viewed by others
References
Burstall RM, Darlington J (1977) A transformation system for developing recursive programs. J ACM 24:44–67
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
Chen MC (1983) Space-time algorithms: semantics and methodology. PhD thesis, California Institute of Technology, Pasadena, Ca
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
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
Jagadish HV, Rao S, Kailath T (1987) Array architectures for iterative algorithms. Proc IEEE 75:1304–1321
Karp RM, Miller RE, Winograd S (1967) The organization of computations for uniform recurrence equations. JACM 14:563–590
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
Lam MS, Mostow JA (1985) A transformational model of VLSI systolic design. IEEE Comput 18:42–52
Leiserson CE, Saxe JB (1983) Optimizing synchronous systems. J VLSI Comput Syst 1:41–68
Li GJ, Wah BW (1985) Design of optimal systolic arrays. IEEE Trans Comput C-35:66–77
Moldovan DI (1983) On the design of algorithms for VLSI systolic arrays. Proc. IEEE 71:113–120
Melhem RG, Rheinboldt WC (1984) A mathematical model for the verification of systolic networks. SIAM J Comput 13:541–565
Miranker WL, Winkler A (1984) Space-time representation of computational structures. Computing 32:93–114
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
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
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
Ramakrishnan IV, Fussell DS, Silberschatz A (1985) Mapping homogeneous graphs on linear arrays. IEEE Trans Comput C-35:189–209
Rao S (1985) Regular iterative algorithms and their implementations on processor arrays. Ph D thesis, Standord University, Information Systems Lab, Stanford, Ca, October 1985
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
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
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
Author information
Authors and Affiliations
Additional information
Supported by a University of Utah Graduate Research Fellowship, and NSF grant No. MIP-8802454
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF01558666