Hierarchical algorithm partitioning at system level for an improved utilization of memory structures

The object of algorithm design in context with a hierarchically structured memory system is a reduction of access cycles to higher memory levels by an increase of data reuse from levels closer to execution units. The object of our approach is to systematically construct an algorithm coding, starting from a weak single assignment form, so that parameters of the algorithm code (number and type of partitions, scheduling orders) can be directly mapped on parameters of the architecture (number of memory levels, size of the memories, input/output access behavior) and vice versa. Target architectures are processors with from one up to a few execution units and with a hierarchically structured memory system. The approach is based on methods derived from the realm of array synthesis and consists of a recursively defined algorithm partitioning. An approach to a quantitative determination of data reuse in recursively partitioned algorithms is given.

[1]  Yu Hen Hu,et al.  Novel Scheduling Scheme For Systolic Array Partitioning Problem , 1992, Workshop on VLSI Signal Processing.

[2]  Patrice Quinton Automatic synthesis of systolic arrays from uniform recurrent equations , 1984, ISCA '84.

[3]  Optimisation of Global Data Transfer and Storage Organisation for Decreased Area and Power in Data-dominated Real-time Systems , 1997 .

[4]  E. Deprettere,et al.  Automatic design and partitioning of systolic/wavefront arrays for VLSI , 1988 .

[5]  Jack Dongarra,et al.  Automatic Blocking of Nested Loops , 1990 .

[6]  Jürgen Teich,et al.  Scheduling of partitioned regular algorithms on processor arrays with constrained resources , 1996, Proceedings of International Conference on Application Specific Systems, Architectures and Processors: ASAP '96.

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

[8]  T. Kailath,et al.  Array architectures for iterative algorithms , 1987, Proceedings of the IEEE.

[9]  Richard M. Karp,et al.  The Organization of Computations for Uniform Recurrence Equations , 1967, JACM.

[10]  Thomas Kailath,et al.  Regular iterative algorithms and their implementation on processor arrays , 1988, Proc. IEEE.

[11]  Patrice Quinton,et al.  The mapping of linear recurrence equations on regular arrays , 1989, J. VLSI Signal Process..

[12]  D.I. Moldovan,et al.  On the design of algorithms for VLSI systolic arrays , 1983, Proceedings of the IEEE.

[13]  Joos Vandewalle,et al.  Background Memory Synthesis for Algebraic Algorithms on Multi-Processor DSP Chips , 1989 .

[14]  Uwe Eckhardt,et al.  Scheduling in co-partitioned array architectures , 1997, Proceedings IEEE International Conference on Application-Specific Systems, Architectures and Processors.

[15]  Massoud Pedram,et al.  Power conscious CAD tools and methodologies: a perspective , 1995, Proc. IEEE.

[16]  Jürgen Teich,et al.  Partitioning of processor arrays: a piecewise regular approach , 1993, Integr..

[17]  Monica S. Lam,et al.  A data locality optimizing algorithm , 1991, PLDI '91.

[18]  Ed F. Deprettere,et al.  Converting sequential iterative algorithms to recurrent equations for automatic design of systolic arrays , 1988, ICASSP-88., International Conference on Acoustics, Speech, and Signal Processing.

[19]  Jürgen Teich,et al.  A compiler for application specific processor arrays , 1993 .

[20]  Tomás Lang,et al.  Matrix Computations on Systolic-Type Meshes , 1990, Computer.

[21]  Joos Vandewalle,et al.  In-place memory management of algebraic algorithms on application specific ICs , 1991, J. VLSI Signal Process..

[22]  Mateo Valero,et al.  Partitioning: An Essential Step in Mapping Algorithms Into Systolic Array Processors , 1987, Computer.

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

[24]  Sun-Yuan Kung,et al.  Scheduling partitioned algorithms on processor arrays with limited communication supports , 1993, Proceedings of International Conference on Application Specific Array Processors (ASAP '93).

[25]  Lothar Thiele,et al.  Compiler Techniques for Massive Parallel Architectures , 1992 .