High performance string matching for security applications

Aho-Corasick (AC) algorithm is a commonly used string matching algorithm. It performs multiple patterns matching for computer and network security applications. These applications impose high computational requirements, thus efficient parallelization of the AC algorithm is crucial. In this paper, we present a multi-stream based parallelization approach for the string matching using the AC algorithm on the latest Nvidia Kepler architecture. Our approach efficiently utilizes the HyperQ feature of the Kepler GPU so that multiple steams generated from a number of OpenMP threads running on the host multicore processor can be efficiently executed on a large number of fine-grain processing cores of the GPU. Experimental results show that our approach delivers up to 585Gbps throughput performance on Nvidia Tesla K20 GPU.

[1]  Ben Ross Schneider,et al.  SITAR: an interactive text processing system for small computers , 1977, CACM.

[2]  M. Norton Optimizing Pattern Matching for Intrusion Detection , 2004 .

[3]  Antonino Tumeo,et al.  Efficient pattern matching on GPUs for intrusion detection systems , 2010, CF '10.

[4]  James Demmel,et al.  Benchmarking GPUs to tune dense linear algebra , 2008, HiPC 2008.

[5]  Sartaj Sahni,et al.  Highly compressed multi-pattern string matching on the cell broadband engine , 2011, 2011 IEEE Symposium on Computers and Communications (ISCC).

[6]  Cole Trapnell,et al.  Fast Exact String Matching on the GPU , 2011 .

[7]  Alfred V. Aho,et al.  Efficient string matching , 1975, Commun. ACM.

[8]  Fabrizio Petrini,et al.  Accelerating Real-Time String Searching with Multicore Processors , 2008, Computer.

[9]  Fabrizio Petrini,et al.  Peak-Performance DFA-based String Matching on the Cell Processor , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[10]  Jyuo-Min Shyu,et al.  Accelerating String Matching Using Multi-Threaded Algorithm on GPU , 2010, 2010 IEEE Global Telecommunications Conference GLOBECOM 2010.

[11]  Sartaj Sahni,et al.  Multipattern string matching on a GPU , 2011, 2011 IEEE Symposium on Computers and Communications (ISCC).

[12]  Carla E. Brodley,et al.  Offloading IDS Computation to the GPU , 2006, 2006 22nd Annual Computer Security Applications Conference (ACSAC'06).

[13]  Sotiris Ioannidis,et al.  Gnort: High Performance Network Intrusion Detection Using Graphics Processors , 2008, RAID.

[14]  David E. Culler,et al.  Analysis of multithreaded architectures for parallel computing , 1990, SPAA '90.

[15]  Karthikeyan Sankaralingam,et al.  Evaluating GPUs for network packet signature matching , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.

[16]  Antonino Tumeo,et al.  Accelerating DNA analysis applications on GPU clusters , 2010, 2010 IEEE 8th Symposium on Application Specific Processors (SASP).