A Residue Number System on Reconfigurable Mesh with Applications to Prefix Sums and Approximate String Matching

  • Authors:
  • Alan A. Bertossi;Alessandro Mei

  • Affiliations:
  • Univ. of Trento, Povo (Trento), Italy;Univ. of Trento, Povo (Trento), Italy

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

Several new number representations based on a Residue Number System are presented which use the smallest prime numbers as moduli and are suited for parallel computations on a reconfigurable mesh architecture. The bit model of linear reconfigurable mesh with exclusive write and unit-time delay for broadcasting on a subbus is assumed. It is shown how to convert in $O(1)$ time any integer, ranging between $0$ and $n-1$, from any commonly used representation to any new representation proposed in this paper (and vice versa) using an $n\times O\left({\log^2 n\over\log\log n}\right)$ reconfigurable mesh. In particular, some of the previously known conversion techniques are improved. Moreover, as a byproduct, it is shown how to compute in $O(1)$ time the Prefix Sums of $n$ bits by a reconfigurable mesh having the above mentioned size, thus improving previously known results. Applications to the Prefix Sums of $N$h-bit integers and to Approximate String Matching with $\alpha$ mismatches are also considered. The Summation and the Prefix Sums can be computed in $O(1)$ time using $O\left(h\log N+ {\log^2 N\over\log\log N}\right)\times Nh$ and $O\left({h^2+\log^2 N\over\log(h+\log N)}\right)\times O(N(h+\log N))$ reconfigurable meshes, respectively. Moreover, it is shown for the first time how to find in $O(1)$ time all the occurrences of a pattern of length $m$ in a text of length $n$, allowing less than $\alpha$ mismatches, using a reconfigurable mesh of size $O(m\log|\Sigma|)\times O\left(n\left(\log|\Sigma|+{\log^2\alpha\over\log\log\alpha}\right)\right)$, where the pattern and the text are strings over a finite alphabet $\Sigma$ and $\alpha