Robust and Scalable String Pattern Matching for Deep Packet Inspection on Multicore Processors

  • Authors:
  • Yi-Hua E. Yang;Viktor K. Prasanna

  • Affiliations:
  • Futurewei Technologies, Inc.;University of Southern California, Los Angeles

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

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 $({