Accelerating Pattern Matching Using a Novel Parallel Algorithm on GPUs
Authors:
- 24 October 2012
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 62 (10) , 1906-1916
Abstract
Graphics processing units (GPUs) have attracted a lot of attention due to their cost-effective and enormous power for massive data parallel computing. In this paper, we propose a novel parallel algorithm for exact pattern matching on GPUs. A traditional exact pattern matching algorithm matches multiple patterns simultaneously by traversing a special state machine called an Aho-Corasick machine. Considering the particular parallel architecture of GPUs, in this paper, we first propose an efficient state machine on which we perform very efficient parallel algorithms. Also, several techniques are introduced to do optimization on GPUs, including reducing global memory transactions of input buffer, reducing latency of transition table lookup, eliminating output table accesses, avoiding bank-conflict of shared memory, coalescing writes to global memory, and enhancing data transmission via peripheral component interconnect express. We evaluate the performance of the proposed algorithm using attack patterns from Snort V2.8 and input streams from DEFCON. The experimental results show that the proposed algorithm performed on NVIDIA GPUs achieves up to 143.16-Gbps throughput, 14.74 times faster than the Aho-Corasick algorithm implemented on a 3.06-GHz quad-core CPU with the OpenMP. The library of the proposed algorithm is publically accessible through Google Code.Keywords
This publication has 25 references indexed in Scilit:
- iNFAntACM SIGCOMM Computer Communication Review, 2010
- GrAVity: A Massively Parallel Antivirus Engine2010
- Regular Expression Matching on Graphics Hardware for Intrusion Detection2009
- Distributed Data Parallel Techniques for Content-Matching Intrusion Detection Systems2007
- Fast and scalable pattern matching for content filtering2005
- A High Throughput String Matching Architecture for Intrusion Detection and PreventionACM SIGARCH Computer Architecture News, 2005
- Configurable string matching hardware for speeding up intrusion detectionACM SIGARCH Computer Architecture News, 2005
- A pattern matching co-processor for network security2005
- Scalable Pattern Matching for High Speed Networks2004
- Implementation of a content-scanning module for an Internet firewall2003