Automated dynamic reconfiguration for high-performance regular expression searching

Dynamic reconfiguration can be necessary to produce fast and flexible FPGA-based applications. However, in practice very few developers actually use this capability. One reason for this is that it is very difficult to write and execute applications that are spread across multiple configurations. This paper uses the problem of regular expression searching for email spam filtering to illustrate the potential advantages of dynamic reconfiguration and the inherent development problems associated with the conventional design methodology. To solve these problems, we present a regular expression system compiler. This automated tool includes 1) a mechanism to split a large set of searches into multiple hardware configurations and 2) a control system to manage reconfiguration and I/O marshalling during execution. Even with very rudimentary reconfiguration support from the platform used in our testing, we are able to perform 3 to 4 orders of magnitude faster than software.

[1]  William Fornaciari,et al.  An area estimation methodology for FPGA based designs at systemc-level , 2004, Proceedings. 41st Design Automation Conference, 2004..

[2]  Cheng-Hung Lin,et al.  Optimization of Regular Expression Pattern Matching Circuits on FPGA , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[3]  Viktor K. Prasanna,et al.  Fast Regular Expression Matching Using FPGAs , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[4]  D. Jones,et al.  A time-multiplexed FPGA architecture for logic emulation , 1995, Proceedings of the IEEE 1995 Custom Integrated Circuits Conference.

[5]  Brad L. Hutchings,et al.  A dynamic instruction set computer , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[6]  Mark de Wit,et al.  A dynamic reconfiguration run-time system , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[7]  Zhiyuan Li,et al.  Configuration Compression for Virtex FPGAs , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[8]  Bell Telephone,et al.  Regular Expression Search Algorithm , 1968 .

[9]  Seong-Won Lee,et al.  A high performance NIDS using FPGA-based regular expression matching , 2007, SAC '07.

[10]  Yiming Yang,et al.  Introducing the Enron Corpus , 2004, CEAS.

[11]  Marco D. Santambrogio,et al.  An adaptable FPGA-based System for Regular Expression Matching , 2008, 2008 Design, Automation and Test in Europe.

[12]  Wayne Luk,et al.  Customisable EPIC processor: architecture and tools , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[13]  James C. Hoe,et al.  Fast and accurate resource estimation of automatically generated custom DFT IP cores , 2006, FPGA '06.

[14]  Viktor K. Prasanna,et al.  Time and area efficient pattern matching on FPGAs , 2004, FPGA '04.

[15]  Stephen M. Scalera,et al.  The design and implementation of a context switching FPGA , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[16]  Ken Thompson,et al.  Programming Techniques: Regular expression search algorithm , 1968, Commun. ACM.

[17]  Stamatis Vassiliadis,et al.  Regular expression matching for reconfigurable packet inspection , 2006, 2006 IEEE International Conference on Field Programmable Technology.