Skip to main content

High-Performance FPGA-Accelerated Real-Time Search

  • Chapter
  • First Online:
High-Performance Computing Using FPGAs

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 219.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 279.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 279.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    http://www.chrec.org.

  3. 3.

    http://www.lemurproject.org.

References

  1. C.L. Belady, In the data center, power and cooling costs more than the it equipment it supports. Electronics Cooling 13(1), 24 (2007)

    Google Scholar 

  2. J.M. Kaplan, W. Forrest, N. Kindler, Revolutionizing data center efficiency, in Uptime Institute Symposium (2008)

    Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    MATH  Google Scholar 

  5. Google n-gram project (2010), http://ngrams.googlelabs.com/ngrams/info

  6. Lemur, The Lemur toolkit for language modeling and information retrieval (2005), http://www.lemurproject.org/. Accessed 25th April 2012

  7. 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

    Google Scholar 

  8. V. Kindratenko, R. Wilhelmson, R. Brunner, T.J. Martinez, W. Hwu, High-performance computing with accelerators. Comput. Sci. Eng. 12(4), 12–16 (2010)

    Article  Google Scholar 

  9. GiDEL Ltd, PROCStar III, Data Book (2009)

    Google Scholar 

  10. B.H. Bloom, Commun. ACM 13(7), 422 (1970). doi:http://doi.acm.org/10.1145/362686.362692

  11. G. Andrews, K. Eriksson, Integer Partitions (Cambridge University Press, Cambridge, 2004)

    Book  MATH  Google Scholar 

  12. C. Chen, K. Koh, Principles and Techniques in Combinatorics (World Scientific, Singapore, 1992)

    Book  MATH  Google Scholar 

  13. Stratix iv handbook, http://www.altera.com/literature/hb/stratix-iv/stratix4_handbook.pdf. Accessed 25th April 2012

  14. 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

    Google Scholar 

  15. R. Losee, J. Am. Soc. Inf. Sci. Technol. 52(12), 1019 (2001)

    Article  Google Scholar 

  16. M. Montemurro, Phys. A Stat. Mech. Appl. 300(3–4), 567 (2001)

    Article  MATH  Google Scholar 

  17. W. Press, Numerical Recipes: The Art of Scientific Computing (Cambridge University Press, Cambridge, 2007)

    Google Scholar 

  18. C. Patel, A. Shah, Hewlett-Packard Laboratories Technical Report (2005)

    Google Scholar 

  19. 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

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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

    Google Scholar 

  22. J. Stone, D. Gohara, G. Shi, Comput. Sci. Eng. 12(3), 66 (2010). doi:10.1109/MCSE.2010.69

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Wim Vanderbauwhede .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics