The projection of systolic programs

C. Lengauer, J. W. Sanders
1990 Formal Aspects of Computing  
A scheme is presented which transforms systolic programs with a two-dimensional structure to one dimension. The elementary steps of the transformation are justified by theorems in the theory of communicating sequential processes and the scheme is demonstrated with an example in occam: matrix composition/decomposition. I n t r o d u c t i o n We combine two types of formal refinement to transform a two-dimensional systolic program to one dimension. Systolic array~ are particularly regular
more » ... uted processor networks capable of processing large amounts of data quickly by accepting streams of input and producing streams of output [6] . Typical applications are to image or signal processing; ours is an algorithm which subsumes matrix composition and decomposition. Systolic arrays are usually realized in hardware. We are interested in realizing them in 8oftware, because then they can run on one of the families of distributed compu~rs (now plentiful) capable of emulating systolic arrays. We are led to express such software in a distributed progralrm'ring language that provides constructs for process definition and communication. The production of that software is relatively straight-forward if the program's process and channel structure, which matches the processor and communication structure of the systolic array~ also matches the distributed computer. That is not always the case. If the distributed computer does not offer the processor layout and interconnections that the systolic program prescribes, one has two options: 1. one can derive a systolic array that matches the limitations of the computer and derive a program from it~ or 2. one can adjust the program derived from the ideal systolic array. We pursue the second route, following the principle that real-world limitations should be imposed as late as possible in the design. We consider one specific case: the processor layout of the machine has fewer dimensions than the process layout of the systolic program. I In this case, a projection, i.e., a transformation of ~On leave from the
doi:10.1007/bf01888228 fatcat:ncn7wplu6nhhbikm5fr6edlfda