Automated Dynamic Reconfiguration for High-Performance Regular Expression Searching

MSR-TR-2009-195 |

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 that runtime reconfiguration is not more commonly used 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 e-mail 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.