A pipelined processor architecture for regular expression string matching

被引:1
作者
Li Qiyue [1 ]
Li Jie [2 ]
Wang Jianping [1 ]
Zhao Baohua [3 ,4 ,5 ]
Qu Yugui [6 ]
机构
[1] Hefei Univ Technol, Sch Elect Engn & Automat, Hefei 230009, Anhui, Peoples R China
[2] Hefei Univ Technol, Sch Comp & Informat, Hefei 230009, Anhui, Peoples R China
[3] Univ Sci & Technol China, Dept Comp Sci & Technol, Hefei 230027, Anhui, Peoples R China
[4] State Key Lab Networking & Switching Technol, Beijing 100876, Peoples R China
[5] Prov Key Lab Software Comp & Commun, Hefei 230027, Anhui, Peoples R China
[6] Univ Sci & Technol China, Dept Elect Engn & Informat Sci, Hefei 230027, Anhui, Peoples R China
基金
中国国家自然科学基金;
关键词
Regular expression; String matching; Special purpose processor; Fast branch; FPGA;
D O I
10.1016/j.micpro.2012.04.004
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The expressive power of regular expressions has been often adopted in network intrusion detection systems, virus scanners, and spam filtering applications. However in the CPU based systems, pattern matching is one of the most computation intensive parts. In this paper, we present the design, implementation and evaluation of a regular expression string matching processing unit (SMPU). This special purpose processor is a parallel and pipelined architecture which can deal with the regular expression semantics. Two hardware stacks are implemented in SMPU to support fast branches when the non-matching occurs. Our implementation processes four characters per clock cycle (maximum performance of state of the art solutions) and occupies only O(n) memory (where n is the length of the regular expression) via synthesizing the verilog description and analyzing area/time constraints, SMPU can achieve 200-400 times speedup over traditional CPU implementations and up to 7.9 Gbps in processing throughput. Besides it outperforms the counterparts greatly as the complexity of regular expressions increases. (C) 2012 Elsevier B.V. All rights reserved.
引用
收藏
页码:520 / 526
页数:7
相关论文
共 16 条
[1]  
[Anonymous], 2001, 9 ANN IEEE S FIELD P, DOI DOI 10.1109/FCCM.2001.22
[2]   Regular expression matching for reconfigurable packet inspection [J].
Bispo, Joao ;
Sourdis, Ioannis ;
Cardoso, Joao M. P. ;
Vassiliadis, Stamatis .
2006 IEEE INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE TECHNOLOGY, PROCEEDINGS, 2006, :119-126
[3]  
Brown BO, 2004, P ANN INT IEEE EMBS, V26, P3043
[4]  
Buboltz J., 2008, P C DES AUT TEST EUR, P1456
[5]   IP route lookups as string matching [J].
Donnelly, A ;
Deegan, T .
25TH ANNUAL IEEE CONFERENCE ON LOCAL COMPUTER NETWORKS - PROCEEDINGS, 2000, :589-595
[6]  
Friedl J.E.F., 2006, Mastering Regular Expressions, V3
[7]   A system architecture for high-speed deep packet inspection in signature-based network intrusion prevention [J].
Kim, Sunil ;
Lee, Jun-yong .
JOURNAL OF SYSTEMS ARCHITECTURE, 2007, 53 (5-6) :310-320
[8]  
Lin C.-H., 2006, P C DES AUT TEST EUR, P119
[9]   A platform-based SoC design and implementation of scalable automaton matching for deep packet inspection [J].
Lin, Ying-Dar ;
Tseng, Kuo-Kun ;
Lee, Tsern-Huei ;
Lin, Yi-Neng ;
Hung, Chen-Chou ;
Lai, Yuan-Cheng .
JOURNAL OF SYSTEMS ARCHITECTURE, 2007, 53 (12) :937-950
[10]   Space Optimization on Counters for FPGA-Based Perl Compatible Regular Expressions [J].
Lo, Chia-Tien Dan ;
Tai, Yi-Gang .
ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, 2009, 2 (04)