DocumentCode :
1278247
Title :
High-Performance and Compact Architecture for Regular Expression Matching on FPGA
Author :
Yang, Yi-Hua Edward ; Prasanna, Viktor K.
Author_Institution :
Ming Hsieh Dept. of Electr. Eng., Univ. of Southern California, Los Angeles, CA, USA
Volume :
61
Issue :
7
fYear :
2012
fDate :
7/1/2012 12:00:00 AM
Firstpage :
1013
Lastpage :
1025
Abstract :
We present the design, implementation and evaluation of a high-performance architecture for regular expression matching (REM) on field-programmable gate array (FPGA). Each regular expression (regex) is first parsed into a concise token list representation, then compiled to a modular nondeterministic finite automaton (RE-NFA) using a modified version of the McNaughton-Yamada algorithm. The RE-NFA can be mapped directly onto a compact register-transistor level (RTL) circuit. A number of optimizations are applied to improve the circuit performance: 1) spatial stacking is used to construct an REM circuit processing m ≥ 1 input characters per clock cycle; 2) single-character constrained repetitions are matched efficiently by parallel shift-register lookup tables; 3) complex character classes are matched by a BRAM-based classifier shared across regexes; 4) a multipipeline architecture is used to organize a large number of RE-NFAs into priority groups to limit the I/O size of the circuit. We implemented 2,630 unique PCRE regexes from Snort rules (February 2010) in the proposed REM architecture. Based on the place-and-route results from Xilinx ISE 11.1 targeting Virtex5 LX-220 FPGAs, the proposed REM architecture achieved up to 11 Gbps concurrent throughput for various regex sets and up to 2.67× the throughput efficiency of other state-of-the-art designs.
Keywords :
circuit optimisation; clocks; field programmable gate arrays; finite automata; logic design; network routing; parallel architectures; performance evaluation; pipeline processing; shift registers; table lookup; BRAM-based classifier; McNaughton-Yamada algorithm; REM architecture; REM circuit processing; Snort rules; Virtex5 LX-220 FPGAs; Xilinx ISE 11.1; compact architecture; compact register-transistor level circuit; complex character classes; field-programmable gate array; high-performance architecture; modular nondeterministic finite automaton; multipipeline architecture; parallel shift-register lookup tables; regular expression matching; single-character constrained repetitions; spatial stacking; state-of-the-art designs; Automata; Clocks; Field programmable gate arrays; Logic gates; Table lookup; Throughput; BRAM; FPGA; LUT; NFA; Regular expression; SRL.; finite state machine; network intrusion detection;
fLanguage :
English
Journal_Title :
Computers, IEEE Transactions on
Publisher :
ieee
ISSN :
0018-9340
Type :
jour
DOI :
10.1109/TC.2011.129
Filename :
5959160
Link To Document :
بازگشت