Reconfigurable hardware implementation of a multivariate polynomial interpolation algorithm

  • Authors:
  • Rafael A. Arce-Nazario;Edusmildo Orozco;Dorothy Bollman

  • Affiliations:
  • Department of Computer Science, University of Puerto Rico, Río Piedras, PR, Puerto Rico;Department of Computer Science, University of Puerto Rico, Río Piedras, PR, Puerto Rico;Department of Mathematical Sciences, University of Puerto Rico, Mayagüez, PR, Puerto Rico

  • Venue:
  • International Journal of Reconfigurable Computing - Special issue on selected papers from ReconFig 2009 International conference on reconfigurable computing and FPGAs (ReconFig 2009)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multivariate polynomial interpolation is a key computation in many areas of science and engineering and, in our case, is crucial for the solution of the reverse engineering of genetic networks modeled by finite fields. Faster implementations of such algorithms are needed to cope with the increasing quantity and complexity of genetic data. We present a new algorithm based on Lagrange interpolation for multivariate polynomials that not only identifies redundant variables in the data and generates polynomials containing only nonredundant variables, but also computes exclusively on a reduced data set. Implementation of this algorithm to FPGA led us to identify a systolic array-based architecture useful for performing three interpolation subtasks: Boolean cover, distinctness, and polynomial addition. We present a generalization of these tasks that simplifies their mapping to the systolic array, and control and storage considerations to guarantee correct results for input sequences longer than the array. The subtasks were modeled and implemented to FPGA using the proposed architecture, then used as building blocks to implement the rest of the algorithm. Speedups up to 172× and 67× were obtained for the subtasks and complete application, respectively, when compared to a software implementation, while achieving moderate resource utilization.