|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
MIN-MAX: A Counter-Based Algorithm for Regular Expression Matching
Jan. 2013 (vol. 24 no. 1)
pp. 92-103
| ASCII Text | x | ||
| Hao Wang, Shi Pu, Gabe Knezek, Jyh-Charn Liu, "MIN-MAX: A Counter-Based Algorithm for Regular Expression Matching," IEEE Transactions on Parallel and Distributed Systems, vol. 24, no. 1, pp. 92-103, Jan., 2013. | |||
| BibTex | x | ||
| @article{ 10.1109/TPDS.2012.116, author = {Hao Wang and Shi Pu and Gabe Knezek and Jyh-Charn Liu}, title = {MIN-MAX: A Counter-Based Algorithm for Regular Expression Matching}, journal ={IEEE Transactions on Parallel and Distributed Systems}, volume = {24}, number = {1}, issn = {1045-9219}, year = {2013}, pages = {92-103}, doi = {http://doi.ieeecomputersociety.org/10.1109/TPDS.2012.116}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Parallel and Distributed Systems TI - MIN-MAX: A Counter-Based Algorithm for Regular Expression Matching IS - 1 SN - 1045-9219 SP92 EP103 EPD - 92-103 A1 - Hao Wang, A1 - Shi Pu, A1 - Gabe Knezek, A1 - Jyh-Charn Liu, PY - 2013 KW - Radiation detectors KW - Engines KW - Doped fiber amplifiers KW - Field programmable gate arrays KW - Computer architecture KW - Registers KW - Algorithm design and analysis KW - reconfigurable hardware KW - Nondeterministic Finite Automata KW - algorithm design and analysis VL - 24 JA - IEEE Transactions on Parallel and Distributed Systems ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2012.116
Web Extra: View Supplemental Material(PDF)
We propose an NFA-based algorithm called MIN-MAX to support matching of regular expressions (regexp) composed of Character Classes with Constraint Repetitions (CCR). MIN-MAX is well suited for massive parallel processing architectures, such as FPGAs, yet it is effective on any other computing platform. In MIN-MAX, each active CCR engine (to implement one CCR term) evaluates input characters, updates (MIN, MAX) counters, and asserts control signals, and all the CCR engines implemented in the FPGA run simultaneously. Unlike traditional designs, (MIN, MAX) counters contain dynamically updated lower and upper bounds of possible matching counts, instead of actual matching counts, so that feasible matching lengths are compactly enclosed in the counter value. The counter-based design can support constraint repetitions of n using O({\rm log} n) memory bits rather than that of O(n) in existing solutions. MIN-MAX can resolve character class ambiguity between adjacent CCR terms and support overlapped matching when matching collisions are absent. We developed a set of heuristic rules to assess the absence of collision for CCR-based regexps, and tested them on Snort and SpamAssassin rule sets. The results show that the vast majority of rules are immune from collisions, so that MIN-MAX can cost effectively support overlapped matching. As a bonus, the new architecture also supports fast reconfiguration via ordinary memory writes rather than resynthesis of the entire design, which is critical for time-sensitive regexp deployment scenarios.
Index Terms:
Radiation detectors,Engines,Doped fiber amplifiers,Field programmable gate arrays,Computer architecture,Registers,Algorithm design and analysis,reconfigurable hardware,Nondeterministic Finite Automata,algorithm design and analysis
Citation:
Hao Wang, Shi Pu, Gabe Knezek, Jyh-Charn Liu, "MIN-MAX: A Counter-Based Algorithm for Regular Expression Matching," IEEE Transactions on Parallel and Distributed Systems, vol. 24, no. 1, pp. 92-103, Jan. 2013, doi:10.1109/TPDS.2012.116
Usage of this product signifies your acceptance of the Terms of Use.

