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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
Villa, O., Scarpazza, D.P., Petrini, F.: Accelerating Real-Time String Searching with Multicore Processors. Computer 41(4), 42–50 (2008)
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)
Roesch, M.: Snort: Lightweight Intrusion Detection for Networks. In: LISA, pp. 229–238 (1999)
Jacob, N., Brodley, C.: Offloading ids computation to the gpu. In: ACSAC 2006: 22nd Annual Computer Security Applications Conference, pp. 371–380 (December 2006)
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)
Knuth Jr., D.E., Pratt, V.R.: Fast pattern matching in strings. SIAM Journal on Computing 6(2), 323–350 (1977)
Boyer, R.S., Strother Moore, J.: A fast string searching algorithm. Communications of the ACM 20(10), 62–72 (1977)
Aho, A.V., Corasick, M.J.: Efficient string matching: an aid to bibliographic search. Communications of the ACM 18(6), 333–340 (1975)
Wu, S., Manber, U.: A fast algorithm for multi-pattern searching. technical report tr-94-17 (1994)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)