Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Note that the inclusion of n-grams makes our vocabulary size much larger than expected. For example, the Oxford Dictionaries FAQ indicates about a quarter of a million distinct English terms, but the vocabulary size for our collection is 16 million terms.
- 2.
- 3.
References
C.L. Belady, In the data center, power and cooling costs more than the it equipment it supports. Electronics Cooling 13(1), 24 (2007)
J.M. Kaplan, W. Forrest, N. Kindler, Revolutionizing data center efficiency, in Uptime Institute Symposium (2008)
W. Vanderbauwhede, L. Azzopardi, M. Moadeli, in 19th IEEE International Conference on Field Programmable Logic and Applications (FPL09) (IEEE, New York, 2009), pp. 417–422
L. Azzopardi, W. Vanderbauwhede, M. Moadeli, in Proceedings of the 32nd International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR09) (ACM, New York, 2009), pp. 664–665
Google n-gram project (2010), http://ngrams.googlelabs.com/ngrams/info
Lemur, The Lemur toolkit for language modeling and information retrieval (2005), http://www.lemurproject.org/. Accessed 25th April 2012
V. Lavrenko, W.B. Croft, Relevance based language models, in Proceedings of the 24th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (ACM, New York, 2001), pp. 120–127
V. Kindratenko, R. Wilhelmson, R. Brunner, T.J. Martinez, W. Hwu, High-performance computing with accelerators. Comput. Sci. Eng. 12(4), 12–16 (2010)
GiDEL Ltd, PROCStar III, Data Book (2009)
B.H. Bloom, Commun. ACM 13(7), 422 (1970). doi:http://doi.acm.org/10.1145/362686.362692
G. Andrews, K. Eriksson, Integer Partitions (Cambridge University Press, Cambridge, 2004)
C. Chen, K. Koh, Principles and Techniques in Combinatorics (World Scientific, Singapore, 1992)
Stratix iv handbook, http://www.altera.com/literature/hb/stratix-iv/stratix4_handbook.pdf. Accessed 25th April 2012
W. Vanderbauwhede, L. Azzopardi, M. Moadeli, in International Conference on Field Programmable Logic and Applications, 2009 (FPL 2009) (IEEE, New York, 2009), pp. 417–422
R. Losee, J. Am. Soc. Inf. Sci. Technol. 52(12), 1019 (2001)
M. Montemurro, Phys. A Stat. Mech. Appl. 300(3–4), 567 (2001)
W. Press, Numerical Recipes: The Art of Scientific Computing (Cambridge University Press, Cambridge, 2007)
C. Patel, A. Shah, Hewlett-Packard Laboratories Technical Report (2005)
J. Xu, N. Subramanian, A. Alessio, S. Hauck, in 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines (IEEE, New York, 2010), pp. 171–174
B. Holland, M. Vacas, V. Aggarwal, R. DeVille, I. Troxel, A.D. George, Survey of C-based application mapping tools for reconfigurable computing, in Proceedings of the 8th International Conference on Military and Aerospace Programmable Logic Devices (MAPLD’05) (NASA, Washington, 2005)
W. Vanderbauwhede, M. Margala, S.R. Chalamalasetti, S. Purohit, A C++-embedded domain-specific Language for programming the MORA soft processor array, in 2010 21st IEEE International Conference on Application-specific Systems Architectures and Processors (ASAP) (IEEE, Washington, 2010), pp. 141–148
J. Stone, D. Gohara, G. Shi, Comput. Sci. Eng. 12(3), 66 (2010). doi:10.1109/MCSE.2010.69
Acknowledgements
The authors acknowledge the support from HP, who hosted the FPGA boardand provided funding for a summer internship. In particular, we’d like to thankMitch Wright for technical support and Partha Ranganathan for managing theproject.
We’d like to acknowledge Anton Frolov who implemented the syntheticdocument model.
Wim Vanderbauwhede wants to thank Dr Catherine Brys for fruitful discussions on probability theory and counting problems.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Vanderbauwhede, W., Chalamalasetti, S.R., Margala, M. (2013). High-Performance FPGA-Accelerated Real-Time Search. In: Vanderbauwhede, W., Benkrid, K. (eds) High-Performance Computing Using FPGAs. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-1791-0_7
Download citation
DOI: https://doi.org/10.1007/978-1-4614-1791-0_7
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-1790-3
Online ISBN: 978-1-4614-1791-0
eBook Packages: EngineeringEngineering (R0)