Issue No.06 - June (1997 vol.8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.595572
<p><b>Abstract</b>—We present a parallel solution to the unbounded knapsack problem on a linear systolic array. It achieves optimal speedup for this well-known, NP-hard problem on a model of computation that is weaker than the PRAM. Our array is correct by construction, as it is formally derived by transforming a recurrence equation specifying the algorithm.</p><p>This recurrence has dynamic dependencies, a property that puts it beyond the scope of previous methods for automatic systolic synthesis. Our derivation thus serves as a case study. We generalize the technique and propose a systematic method for deriving systolic arrays by nonlinear transformations of recurrences. We give sufficient conditions that the transformations must satisfy, thus extending systolic synthesis methods.</p><p>We address a number of pragmatic considerations: implementing the array on only a fixed number of PEs, simplifying the control to just two counters and a few latches, and loading the coefficients so that successive problems can be pipelined without any loss of throughput.</p><p>Using a register level model of VLSI, we formulate a nonlinear optimization problem to minimize the expected running time of the array. The analytical solution of this problem allows us to choose the memory size of each PE in an optimal manner.</p>
Application specific VLSI design, systolic arrays, unbounded knapsack problem, space-time transformations, recurrence equations, dynamic dependencies, nonlinear discrete optimization, correctness preserving transformations.
Rumen Andonov, Sanjay Rajopadhye, "Knapsack on VLSI: from Algorithm to Optimal Circuit", IEEE Transactions on Parallel & Distributed Systems, vol.8, no. 6, pp. 545-561, June 1997, doi:10.1109/71.595572