Automated Dynamic Reconfiguration for High-Performance Regular Expression Searching

International Conference on Field-Programmable Technology (short paper) |

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.