Multiple Pattern Matching for Network Security Applications: Acceleration through Vectorization

被引:5
作者
Stylianopoulos, Charalampos [1 ]
Almgren, Magnus [1 ]
Landsiedel, Olaf [1 ]
Papatriantafilou, Marina [1 ]
机构
[1] Chalmers Univ Technol, Gothenburg, Sweden
来源
2017 46TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING (ICPP) | 2017年
基金
瑞典研究理事会;
关键词
pattern matching; SIMD vectorization; gather;
D O I
10.1109/ICPP.2017.56
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Pattern matching is a key building block of Intrusion Detection Systems and firewalls, which are deployed nowadays on commodity systems from laptops to massive web servers in the cloud. In fact, pattern matching is one of their most computationally intensive parts and a bottleneck to their performance. In Network Intrusion Detection, for example, pattern matching algorithms handle thousands of patterns and contribute to more than 70% of the total running time of the system. In this paper, we introduce efficient algorithmic designs for multiple pattern matching which (a) ensure cache locality and (b) utilize modern SIMD instructions. We first identify properties of pattern matching that make it fit for vectorization and show how to use them in the algorithmic design. Second, we build on an earlier, cache-aware algorithmic design and we show how cache-locality combined with SIMD gather instructions, introduced in 2013 to Intel's family of processors, can be applied to pattern matching. We evaluate our algorithmic design with open data sets of real-world network traffic: Our results on two different platforms, Haswell and Xeon-Phi, show a speedup of 1.8x and 3.6x, respectively, over Direct Filter Classification (DFC), a recently proposed algorithm by Choi et al. for pattern matching exploiting cache locality, and a speedup of more than 2.3x over Aho-Corasick, a widely used algorithm in today's Intrusion Detection Systems.
引用
收藏
页码:472 / 482
页数:11
相关论文
共 24 条
[1]  
Aho A., 1975, Communications of the ACM, V18
[2]  
Amdahl G., 1967, AFIPS 67
[3]  
[Anonymous], 1999, P 13 USENIX C SYST A
[4]  
Antonatos Spyros., 2004, SIGSOFT Softw. Eng. Notes, V29
[5]  
Cabrera J. B. D., 2004, 2004 43 IEEE C DEC C, V1
[6]  
Choi B., 2016, 13 USENIX S NETW SYS
[7]  
Faro Simone., 2012, Fast Multiple String Matching Using Streaming SIMD Extensions Technology
[8]  
Hofmann J., 2014, WPMVP 14
[9]  
Jiang P., 2017, PPOPP 17
[10]  
Kouzinopoulos Charalampos S, 2009, INF PCI 09 13 PANH C