Skip to main content

Experiences with String Matching on the Fermi Architecture

  • Conference paper
Architecture of Computing Systems - ARCS 2011 (ARCS 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6566))

Included in the following conference series:

Abstract

String matching is a computationally intensive procedure which poses significant challenges on current software and hardware implementations. In this paper we present an efficient implementation of the Aho-Corasick string matching algorithm on Graphic Processing Units (GPUs), showing how we progressively redesigned the algorithm and the data structures to fit on the architecture. We then evaluate the implementation on single and multiple Tesla C2050 (T20 “Fermi” based) boards, comparing them to the previous Tesla C1060 (T10 based) solutions and equivalent multi-core implementations on x86 CPUs. We discuss the various tradeoffs of the different architectures.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cho, Y.H., Mangione-Smith, W.H.: Deep packet filter with dedicated logic and read only memories. In: FCCM 2004: 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 125–134 (April 2004)

    Google Scholar 

  2. Sourdis, I., Pnevmatikatos, D.: Fast, Large-Scale String Match for a 10Gbps FPGA-Based Network Intrusion Detection System. In: Y. K. Cheung, P., Constantinides, G.A. (eds.) FPL 2003. LNCS, vol. 2778, pp. 880–889. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  3. Mitra, A., Najjar, W., Bhuyan, L.: Compiling PCRE to FPGA for accelerating SNORT IDS. In: ANCS 2007: 3rd ACM/IEEE Symposium on Architecture for Networking and Communications Systems, pp. 127–136 (2007)

    Google Scholar 

  4. Clark, C.R., Schimmel, D.E.: Scalable pattern matching for high speed networks. In: FCCM 2004: 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 249–257 (April 2004)

    Google Scholar 

  5. Villa, O., Chavarria-Miranda, D., Maschhoff, K.: Input-independent, scalable and fast string matching on the cray xmt. In: IPDPS 2009: the 2009 IEEE International Symposium on Parallel & Distributed Processing, pp. 1–12 (2009)

    Google Scholar 

  6. Villa, O., Scarpazza, D.P., Petrini, F.: Accelerating Real-Time String Searching with Multicore Processors. Computer 41(4), 42–50 (2008)

    Article  Google Scholar 

  7. Scarpazza, D.P., Villa, O., Petrini, F.: Exact multi-pattern string matching on the Cell/B.E. processor. In: CF 2008: Proceedings of the 2008 Conference on Computing Frontiers, pp. 33–42 (2008)

    Google Scholar 

  8. Roesch, M.: Snort: Lightweight Intrusion Detection for Networks. In: LISA, pp. 229–238 (1999)

    Google Scholar 

  9. Jacob, N., Brodley, C.: Offloading ids computation to the gpu. In: ACSAC 2006: 22nd Annual Computer Security Applications Conference, pp. 371–380 (December 2006)

    Google Scholar 

  10. Vasiliadis, G., Antonatos, S., Polychronakis, M., Markatos, E.P., Ioannidis, S.: Gnort: High performance network intrusion detection using graphics processors. In: Lippmann, R., Kirda, E., Trachtenberg, A. (eds.) RAID 2008. LNCS, vol. 5230, pp. 116–134. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  11. Knuth Jr., D.E., Pratt, V.R.: Fast pattern matching in strings. SIAM Journal on Computing 6(2), 323–350 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  12. Boyer, R.S., Strother Moore, J.: A fast string searching algorithm. Communications of the ACM 20(10), 62–72 (1977)

    Article  MATH  Google Scholar 

  13. Aho, A.V., Corasick, M.J.: Efficient string matching: an aid to bibliographic search. Communications of the ACM 18(6), 333–340 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  14. Wu, S., Manber, U.: A fast algorithm for multi-pattern searching. technical report tr-94-17 (1994)

    Google Scholar 

  15. Commentz-Walter, B.: A string matching algorithm fast on the average. In: Proceedings of the 6th Colloquium, on Automata, Languages and Programming, pp. 118–132 (1979)

    Google Scholar 

  16. Smith, R., Goyal, N., Ormont, J., Sankaralingam, K., Estan, C.: Evaluating gpus for network packet signature matching. In: ISPASS 2009: IEEE International Symposium on Performance Analysis of Systems and Software, pp. 175–184 (April 2009)

    Google Scholar 

  17. Huang, N.-F., Hung, H.-W., Lai, S.-H., Chu, Y.-M., Tsai, W.-Y.: A gpu-based multiple-pattern matching algorithm for network intrusion detection systems. In: AINAW 2008: 22nd International Conference on Advanced Information Networking and Applications - Workshops, pp. 62–67 (March 2008)

    Google Scholar 

  18. Vasiliadis, G., Ioannidis, S.: GrAVity: A Massively Parallel Antivirus Engine. In: Jha, S., Sommer, R., Kreibich, C. (eds.) RAID 2010. LNCS, vol. 6307, pp. 79–96. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tumeo, A., Secchi, S., Villa, O. (2011). Experiences with String Matching on the Fermi Architecture. In: Berekovic, M., Fornaciari, W., Brinkschulte, U., Silvano, C. (eds) Architecture of Computing Systems - ARCS 2011. ARCS 2011. Lecture Notes in Computer Science, vol 6566. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19137-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-19137-4_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-19136-7

  • Online ISBN: 978-3-642-19137-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics