Issue No. 02 - February (1990 vol. 39)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.45209
<p>The authors introduce special heuristics to the Knuth-Morris-Pratt algorithm to reduce the time and space required to perform the string matching. They compare their hardware-based approach to the software approaches embodied in the Unix system grep and fgrep commands. Simulation results show that the hardware approach can provide a 25-500-fold performance improvement, depending on the complexity of the query, and that it is fast enough, even in the presence of variable-length 'don't cares' to keep up with a 20-million character/second disk. The approach compares favorably to other hardware designs in speed and space. The proposed hardware implementation requires 10 kB of one cycle static memory, 28 single-character comparators, four 16-b adders, and control logic for four finite-state machines with a term-matcher controller. After that, additional hardware produces negligible performance improvements for queries with up to 80 terms, about half of which have variable-length 'don't cares'.</p>
performance issues; architectural issues; string matching; Knuth-Morris-Pratt algorithm; hardware-based approach; software approaches; Unix system; hardware implementation; control logic; finite-state machines; term-matcher controller; database management systems; finite automata; information retrieval.
M.E. Isenman, D.E. Shasha, "Performance and Architectural Issues for String Matching", IEEE Transactions on Computers, vol. 39, no. , pp. 238-250, February 1990, doi:10.1109/12.45209