%0 Journal Article %T Throughput Analysis for a High-Performance FPGA-Accelerated Real-Time Search Application %A Wim Vanderbauwhede %A S. R. Chalamalasetti %A M. Margala %J International Journal of Reconfigurable Computing %D 2012 %I Hindawi Publishing Corporation %R 10.1155/2012/507173 %X We propose an FPGA design for the relevancy computation part of a high-throughput real-time search application. The application matches terms in a stream of documents against a static profile, held in off-chip memory. We present a mathematical analysis of the throughput of the application and apply it to the problem of scaling the Bloom filter used to discard nonmatches. 1. Introduction The focus on real-time search is growing with the increasing adoption and spread and of social networking applications. Real-time search is equally important in other areas such as analysing emails for spam or search web traffic for particular patterns. FPGAs have great potential for speeding up many types of applications and algorithms. By performing a task in a fraction of the time of a conventional processor, large energy savings can be achieved. Therefore, there is a growing interest in the use of FPGA platforms for data centres. Because of the dramatic reduction in the required energy per query, data centres with FPGA search solutions could operate at a fraction of the power of current data centres, eliminating the need for cooling infrastructure altogether. As the cost of cooling is actually the dominant cost in today¡¯s data centres [1], the savings would be considerable. In [2, 3] we presented our initial work on applying FPGAs for acceleration or search algorithms. In this paper, we present a novel design for the scoring part of an FPGA-based high-throughput real-time search application. We present a mathematical analysis of the throughput of the system. This novel analysis is applicable to a much wider class of applications than the one discussed in the paper; any algorithm that performs nondeterministic concurrent accesses to a shared resource can be analysed using the model we present. In particular, the technology presented in this paper can also be used for ¡°traditional,¡± that is, inverted index based, web search. 2. Design of the Real-Time Search Application Real-time search, in information retrieval parlance called ¡°document filtering,¡± consists of matching a stream of documents against a fixed set of terms, called the ¡°profile.¡± Typically, the profile is large and must therefore be stored in external memory. The algorithm implemented on the FPGA can be expressed as follows.(i)A document is modelled as a ¡°bag of words,¡± that is, a set of pairs , where is the term frequency, that is, number of occurrences of the term in the document ; is the term identifier.(ii)The profile is a set of pairs where the term weight is determined using the ¡°Relevance Based %U http://www.hindawi.com/journals/ijrc/2012/507173/