High-Performance FPGA-Accelerated Real-Time Search

This chapter presents our work on accelerating real-time search applications using FPGAs.A real-time search (or document classification) application matches terms (words and groups of words) in a stream of documents against a static list of terms with associated weights. We discuss a novel FPGA design for the term matching and relevancy computation part of a high-throughput real-time search application. The design, implemented on the GiDEL PROCStar-IV board, is capable of processing streams of documents at a rate of 32 Gterms/s. We present a mathematical analysis of the throughput of the application, discussing in particular the problem of scaling the Bloom filter used to reduce the number of required lookups in external memory. Using the performance and power measurements obtained from our implementation and a high-performance multithreaded software reference implementation as inputs for an economic cost model, we show that using our technology can reduce the total cost of ownership of data centres for processing data-centric workloads with a factor of 10.