Distributed control synthesis for data-dependent iterative algorithms

Data-dependent control flow changes are typically implemented in complex general-purpose controllers. However, in medium to fine-grained iterative algorithms found in DSP and arithmetic, it is desirable for both cost and performance reasons to develop simplified and distributed control structures throughout the array architectures. We present a transformation technique to systematically convert an iterative algorithm whose loop bounds are data-dependent to an equivalent data-independent regular algorithm. We use the worst-case situation to define the structure of a given computation. Then, depending upon applications, various optimizations are performed to minimize cost overhead associated with data-dependent characteristics. To demonstrate the feasibility of our methodologies, we have designed and simulated parallel algorithms for two important applications using the proposed transformation. Based on the resulting algorithms, we have developed VLSI array architectures using conventional methods of regular array synthesis (S.Y. Kung, 1988). Compared with previously reported structures, we have achieved substantial improvements in terms of both performance and array costs.<<ETX>>

[1]  Sanjay V. Rajopadhye Synthesizing systolic arrays with control signals from recurrence equations , 2005, Distributed Computing.

[2]  W. Shang,et al.  On Time Mapping of Uniform Dependence Algorithms into Lower Dimensional Processor Arrays , 1992, IEEE Trans. Parallel Distributed Syst..

[3]  Lothar Thiele,et al.  A transformative approach to the partitioning of processor arrays , 1992, [1992] Proceedings of the International Conference on Application Specific Array Processors.

[4]  E.F. Deprettere,et al.  Regular processor arrays with data-dependent dependencies , 1993, Proceedings of IEEE Workshop on VLSI Signal Processing.

[5]  Yongjin Jeong,et al.  VLSI array synthesis for polynomial GCD computation , 1993, Proceedings of International Conference on Application Specific Array Processors (ASAP '93).

[6]  Nagarajan Ranganathan,et al.  High-speed VLSI designs for Lempel-Ziv-based data compression , 1993 .

[7]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[8]  Wayne Burleson,et al.  A VLSI systolic array architecture for Lempel-Ziv-based data compression , 1994, Proceedings of IEEE International Symposium on Circuits and Systems - ISCAS '94.

[9]  Giovanni De Micheli,et al.  Optimal synthesis of control logic from behavioral specifications , 1991, Integr..

[10]  P. Quinton Automatic synthesis of systolic arrays from uniform recurrent equations , 1984, ISCA 1984.

[11]  Dan I. Moldovan,et al.  Partitioning and Mapping Algorithms into Fixed Size Systolic Arrays , 1986, IEEE Transactions on Computers.

[12]  J. Bu,et al.  Systematic design of regular VLSI processor arrays , 1990 .

[13]  Miodrag Potkonjak,et al.  On unlimited parallelism of DSP arithmetic computations , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[14]  Sanjay V. Rajopadhye,et al.  An optimal algo-tech-cuit for the knapsack problem , 1993, Proceedings of International Conference on Application Specific Array Processors (ASAP '93).

[15]  Peter R. Cappello,et al.  Unifying VLSI Array Designs with Geometric Transformations , 1983, International Conference on Parallel Processing.