Regular Expression Matching Algorithm Based on FPGA Circuit

2014 ◽  
Vol 556-562 ◽  
pp. 1730-1736
Author(s):  
Cheng Qing Guo ◽  
Jun Feng Xu

With the rapid development of network bandwidth, the matching-performance of regular expression is gradually of crucial importance for networking security. There are many hardware acceleration designs of regular expression matching on the basis of NFA and DFA, of which NFA designs require more logic circuit resources while the DFA designs more memory resources. However, because there are too many states and transition edges in DFA, the performance of DFA is much inferior to the performance of NFA. In this paper we designed a DFA regular expression matching algorithm fully based on FPGA logic circuit. The algorithm exploits the feature of DFA that many transitions for a state may have the same next state pointer and setting a default transition for each state of DFA will result in the reduction of logic circuit and the simplification of the electronic circuit. To evaluate performance, this DFA algorithm was mapped onto the Altera Cyclone FPGA, and got the experimental results based on the L7-filter rule set. The performance of the DFA algorithm acquired an approximate performance compared to the NFA algorithm. Experimental result shows that, compared with the NFA algorithm, in the improved DFA plan, 10% rules got a higher throughput, reaching 60% in the best case; while 62% rules cost less logic resources, saving 87% logic resources in the best case.

2010 ◽  
Vol 33 (10) ◽  
pp. 1976-1986 ◽  
Author(s):  
Shu-Zhuang ZHANG ◽  
Hao LUO ◽  
Bin-Xing FANG ◽  
Xiao-Chun YUN

2013 ◽  
Vol 33 (8) ◽  
pp. 2370-2374
Author(s):  
Wei HE ◽  
Yunfei GUO ◽  
Han MO ◽  
Hongchao HU

2021 ◽  
Vol 20 (5s) ◽  
pp. 1-24
Author(s):  
Daniele Parravicini ◽  
Davide Conficconi ◽  
Emanuele Del Sozzo ◽  
Christian Pilato ◽  
Marco D. Santambrogio

Regular Expression (RE) matching is a computational kernel used in several applications. Since RE complexity and data volumes are steadily increasing, hardware acceleration is gaining attention also for this problem. Existing approaches have limited flexibility as they require a different implementation for each RE. On the other hand, it is complex to map efficient RE representations like non-deterministic finite-state automata onto software-programmable engines or parallel architectures. In this work, we present CICERO , an end-to-end framework composed of a domain-specific architecture and a companion compilation framework for RE matching. Our solution is suitable for many applications, such as genomics/proteomics and natural language processing. CICERO aims at exploiting the intrinsic parallelism of non-deterministic representations of the REs. CICERO can trade-off accelerators’ efficiency and processors’ flexibility thanks to its programmable architecture and the compilation framework. We implemented CICERO prototypes on embedded FPGA achieving up to 28.6× and 20.8× more energy efficiency than embedded and mainstream processors, respectively. Since it is a programmable architecture, it can be implemented as a custom ASIC that is orders of magnitude more energy-efficient than mainstream processors.


Sign in / Sign up

Export Citation Format

Share Document