Efficient string matching on graphics processing unit using bit-parallelism

String matching and regular expression matching have many applications in search engines, antivirus systems, intrusion detection systems, and others. Bit-parallelism is a widely used technique in the design of efficient string matching algorithms. In this paper, we present the design and implementation of string matching algorithms and regular expression matching algorithms on Graphics Processing Units GPUs using bit-parallelism. We conduct several experiments to compare the speed of algorithms on CPU and GPU. The results show that the new approach achieves significant improvements on the speed of pattern matching and regular expression matching.

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

[2]  Ken Thompson,et al.  Programming Techniques: Regular expression search algorithm , 1968, Commun. ACM.

[3]  Gaston H. Gonnet,et al.  A new approach to text searching , 1992, CACM.

[4]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[5]  Philip Bille,et al.  Regular expression matching with multi-strings and intervals , 2010, SODA '10.

[6]  Gonzalo Navarro,et al.  New Techniques for Regular Expression Searching , 2005, Algorithmica.

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

[8]  Sotiris Ioannidis,et al.  Regular Expression Matching on Graphics Hardware for Intrusion Detection , 2009, RAID.

[9]  Gérard Berry,et al.  From Regular Expressions to Deterministic Automata , 1986, Theor. Comput. Sci..

[10]  V. Glushkov THE ABSTRACT THEORY OF AUTOMATA , 1961 .

[11]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[12]  Somesh Jha,et al.  Deflating the big bang: fast and scalable deep packet inspection with extended finite automata , 2008, SIGCOMM '08.

[13]  Beate Commentz-Walter,et al.  A String Matching Algorithm Fast on the Average , 1979, ICALP.

[14]  Patrick Crowley,et al.  Efficient regular expression evaluation: theory to practice , 2008, ANCS '08.

[15]  Gonzalo Navarro,et al.  Flexible Pattern Matching in Strings: Practical On-Line Search Algorithms for Texts and Biological Sequences , 2002 .

[16]  Robert S. Boyer,et al.  A fast string searching algorithm , 1977, CACM.