Publication | Closed Access
Variable-Stride Multi-Pattern Matching For Scalable Deep Packet Inspection
94
Citations
20
References
2009
Year
Unknown Venue
Internet Traffic AnalysisEngineeringHigh ThroughputComputer ArchitectureInformation ForensicsFormal VerificationHardware SecurityString-searching AlgorithmPattern RecognitionParallel ComputingComputer EngineeringHash FunctionComputer SciencePattern MatchingMulti-pattern MatchingVariable-stride Multi-pattern MatchingPattern CharacterEdge ComputingCloud ComputingCombinatorial Pattern MatchingParallel ProgrammingNetwork Traffic Measurement
Accelerating multi-pattern matching is a critical issue in building high-performance deep packet inspection systems. Achieving high-throughputs while reducing both memory-usage and memory-bandwidth needs is inherently difficult. In this paper, we propose a pattern (string) matching algorithm that achieves high throughput while limiting both memory-usage and memory-bandwidth. We achieve this by moving away from a byte-oriented processing of patterns to a block-oriented scheme. However, different from previous block-oriented approaches, our scheme uses variable-stride blocks. These blocks can be uniquely identified in both the pattern and the input stream, hence avoiding the multiplied memory costs which is intrinsic in previous approaches. We present the algorithm, tradeoffs, optimizations, and implementation details. Performance evaluation is done using the Snort and ClamAV pattern sets. Using our algorithm, the throughput of a single search engine can easily have a many-fold increase at a small storage cost, typically less than three bytes per pattern character.
| Year | Citations | |
|---|---|---|
Page 1
Page 1