Accelerating Rule-matching Systems with Learned Rankers
- Zhao Lucis Li ,
- Chieh-Jan Mike Liang ,
- Wei Bai ,
- Qiming Zheng ,
- Yongqiang Xiong ,
- Guangzhong Sun
ATC (USENIX Annual Technical Conference) |
Published by USENIX
Infusing machine learning (ML) and deep learning (DL) into modern systems has driven a paradigm shift towards learning-augmented system design. This paper proposes the learned ranker as a system building block, and demonstrates its potential by using rule-matching systems as a concrete scenario. Specifically, checking rules can be time-consuming, especially complex regular expression (regex) conditions. The learned ranker prioritizes rules based on their likelihood of matching a given input. If the matching rule is successfully prioritized as a top candidate, the system effectively achieves early termination. We integrated the learned rule ranker as a component of popular regex matching engines: PCRE, PCRE-JIT, and RE2. Empirical results show that the rule ranker achieves a top-5 classification accuracy at least 96.16%, and reduces the rule-matching system latency by up to 78.81% on a 8-core CPU.