Hyperscan: A Fast Multi-pattern Regex Matcher for Modern CPUs
summary
Hyperscan decomposes complex regexes into string fragments and small FA components using graph analyses (dominant path, region, max‑flow/min‑cut), compiles tens of thousands of rules in under a second, and implements graph decomposition plus SIMD‑accelerated shift/bitset DFA engines. It replaces two‑stage manual prefilt ers to avoid duplicate scans, yields about 3x–13x component speedups and an 8.7× Snort throughput improvement on real traces, and is production‑deployed in 40+ commercial products and many cloud servers.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:24Networking Applications with Regex Matching
- 3:16Contributions
- 4:05Wide Adoption of Hyperscan
- 4:43Decomposition-based Matching
- 6:40Key Issues with Regex Decomposition
- 7:06Graph-based Regex Decomposition
- 9:14Effectiveness of Graph Analysis on Real-world Rules
- 9:44Quality of Automatically Extracted Keywords
- 10:43How to Accelerate Pattern Matching Algorithms?
- 11:15Multi-string Pattern Matching Overview
- 12:51Multi-string Shift-or Matching
- 15:42Other Subsystems
- 16:12Evaluation of Hyperscan
- 17:19Repex Matching Performance
- 17:45Real-world DPI Application - Snort
- 18:33Conclusion
related talks
18mLearning-Enhanced High-Throughput Pattern Matching Based on Programmable Data Plane
59mCatching Malware En Masse: DNS and IP Style
58mHunting Malware with Suricata Metadata
16mSequence Abstractions for Flexible, Line-Rate Network Monitoring
16mIMap: Fast and Scalable In-Network Scanning with Programmable Switches
44mNetsec is Dead(?): Modern Network Fingerprinting for...
24mImproving Internet-Wide Scanning with Dynamic Scanning
41mInternet Spelunking: IPv6 Scanning and Device Fingerprinting
