Algorithms for systolic-array synthesis
This dissertation presents efficient algorithms for solving some crucial transformation/optimization problems in the automatic synthesis of systolic arrays from algorithm specifications. The synthesis process consists of two steps. First, the given algorithm specification is transformed into a functionally equivalent form more amenable to systolic array implementation. Then, the computations defined by the equivalent form are assigned for execution on the processors (processor allocation) at different time steps (scheduling), with the objective that the time and space costs of the implementation be minimized. Many computation intensive algorithms, when expressed in their natural form, are unsuitable for systolic array implementations because they contain many-to-one data dependences (data sharing) which cannot be directly realized on processors with bounded fan-out and localized interconnections. A data routing scheme, called data propagation, is proposed which can be implemented as pipelining on a systolic array. It is shown that any data sharing can be transformed into data propagation and that the increase in I/O bandwidth requirement due to such transformation is bounded. Polynomial time procedures are devised for determining the necessary transformations. The time cost of a systolic array implementation of an algorithm is given by the product of two related quantities: the total number of systolic cycles required and the maximum duration of a cycle. It is shown that the scheduling which minimizes the time cost can be determined from solving a discrete optimization problem. Furthermore, the optimization problem is shown to have a bounded solution space, an efficient branch-and-bound method is proposed for determining the optimal solution. The space cost, on the other hand, is defined as the number of processors required for constructing the array.
- Research Organization:
- Yale Univ., New Haven, CT (USA)
- OSTI ID:
- 6156049
- Country of Publication:
- United States
- Language:
- English
Similar Records
Subspace scheduling and parallel implementation of non-systolic regular iterative algorithms
Reasoning about systolic algorithms