Systolic Arrays for the Recognition of Permutation-Invariant Segments

Let P be a permutation defined on sequences of length N. A sequence of N values is said to be P-invariant when it does not change when permuted according to P. A program is said to recognize P-invariant segments when it determines for each segment of N successive input values whether it is P-invariant. In this paper we derive a program scheme that generates efficient parallel programs for the recognition of P-invariant segments. The programs consist of a chain of cells extended with a linear number of links between non-neighbouring cells. Under reasonable conditions on P, these programs correspond to systolic arrays with both constant response time and constant latency (independent of N). Efficient systolic arrays for problems such as palindrome recognition or perfect shuffle recognition can be constructed automatically in this way. This is illustrated for the palindrome recognition problem.

[1]  P Pieter Struik Designing parallel programs of parameterized granularity , 1992 .

[2]  Jan L. A. van de Snepscheut,et al.  On the design of some systolic algorithms , 1989, JACM.

[3]  J. Cosgrove,et al.  Array processors , 1980, IEEE Acoustics, Speech, and Signal Processing Newsletter.

[4]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[5]  Patrice Quinton,et al.  Systolic algorithms and architectures , 1987 .

[6]  G. Rodrigue Parallel Computations , 1982 .

[7]  Martin Rem,et al.  The Derivation of Systolic Computations , 1990, Sci. Comput. Program..

[8]  Joost-Pieter Katoen,et al.  Recognizing k-Rotated Segments , 1993, Int. J. High Speed Comput..

[9]  S. Kung,et al.  VLSI Array processors , 1985, IEEE ASSP Magazine.

[10]  Martin Rem,et al.  Trace Theory and Systolic Computations , 1987, PARLE.