DocumentCode :
26409
Title :
Robust and Scalable String Pattern Matching for Deep Packet Inspection on Multicore Processors
Author :
Yang, Yi-Hua E. ; Prasanna, Viktor K.
Author_Institution :
Xilinx, Inc., San Jose, CA, USA
Volume :
24
Issue :
11
fYear :
2013
fDate :
Nov. 2013
Firstpage :
2283
Lastpage :
2292
Abstract :
Conventionally, dictionary-based string pattern matching (SPM) has been implemented as Aho-Corasick deterministic finite automaton (AC-DFA). Due to its large memory footprint, a large-dictionary AC-DFA can experience poor cache performance when matching against inputs with high match ratio on multicore processors. We propose a head-body finite automaton (HBFA), which implements SPM in two parts: a head DFA (H-DFA) and a body NFA (B-NFA). The H-DFA matches the dictionary up to a predefined prefix length in the same way as AC-DFA, but with a much smaller memory footprint. The B-NFA extends the matching to full dictionary lengths in a compact variable-stride branch data structure, accelerated by single-instruction multiple-data (SIMD) operations. A branch grafting mechanism is proposed to opportunistically advance the state of the H-DFA with the matching progress in the B-NFA. Compared with a fully populated AC-DFA, our HBFA prototype has <;1/5 construction time, requires <;1/20 runtime memory, and achieves 3x to 8x throughput when matching real-life large dictionaries against inputs with high match ratios. The throughput scales up 27x to over 34 Gbps on a 32-core Intel Manycore Testing Lab machine based on the Intel Xeon X7560 processors.
Keywords :
cache storage; computer network security; data structures; finite automata; multiprocessing systems; string matching; 32-core Intel Manycore Testing Lab machine; B-NFA; H-DFA; HBFA prototype; Intel Xeon X7560 processors; SIMD operations; body NFA; branch grafting mechanism; deep packet inspection; head DFA; head-body finite automaton; multicore processors; prefix length; real-life large dictionary matching; robust string pattern matching; scalable string pattern matching; single-instruction multiple-data operations; variable-stride branch data structure; Automata; Data structures; Dictionaries; Doped fiber amplifiers; Impedance matching; Throughput; Vegetation; DFA; NFA; SIMD; String matching; deep packet inspection; multicore platform; variable-stride tree;
fLanguage :
English
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1045-9219
Type :
jour
DOI :
10.1109/TPDS.2012.217
Filename :
6247434
Link To Document :
بازگشت