A Hybrid Parallel Implementation of the Aho-Corasick and Wu-Manber Algorithms Using NVIDIA CUDA and MPI Evaluated on a Biological Sequence Database

Multiple matching algorithms are used to locate the occurrences of patterns from a finite pattern set in a large input string. Aho–Corasick and Wu–Manber, two of the most well known algorithms for multiple matching require an increased computing power, particularly in cases where large-size datasets must be processed, as is common in computational biology applications. Over the past years, Graphics Processing Units (GPUs) have evolved to powerful parallel processors outperforming Central Processing Units (CPUs) in scientific calculations. Moreover, multiple GPUs can be used in parallel, forming hybrid computer cluster configurations to achieve an even higher processing throughput. This paper evaluates the speedup of the parallel implementation of the Aho–Corasick and Wu–Manber algorithms on a hybrid GPU cluster, when used to process a snapshot of the Expressed Sequence Tags of the human genome and for different problem parameters.

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

[2]  Udi Manber,et al.  A FAST ALGORITHM FOR MULTI-PATTERN SEARCHING , 1999 .

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

[4]  Nicholas Wilt,et al.  The CUDA Handbook: A Comprehensive Guide to GPU Programming , 2013 .

[5]  Sotiris Ioannidis,et al.  GrAVity: A Massively Parallel Antivirus Engine , 2010, RAID.

[6]  Antonino Tumeo,et al.  Aho-Corasick String Matching on Shared and Distributed-Memory Parallel Architectures , 2012, IEEE Transactions on Parallel and Distributed Systems.

[7]  Viorel Negru,et al.  A Highly-Efficient Memory-Compression Approach for GPU-Accelerated Virus Signature Matching , 2012, ISC.

[8]  Chao-Tung Yang,et al.  Hybrid CUDA, OpenMP, and MPI parallel programming on multicore GPU clusters , 2011, Comput. Phys. Commun..

[9]  Konstantinos G. Margaritis,et al.  Parallel Processing of Multiple Pattern Matching Algorithms for Biological Sequences: Methods and Performance Results , 2011 .

[10]  Gad M. Landau,et al.  Construction of Aho Corasick automaton in linear time for integer alphabets , 2006, Inf. Process. Lett..

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

[12]  Lei Li,et al.  WM+: An Optimal Multi-pattern String Matching Algorithm Based on the WM Algorithm , 2005, APPT.

[13]  Charalampos Kouzinopoulos,et al.  Parallel and distributed implementations of multiple and two-dimensional pattern matching algorithms , 2013 .

[14]  Simone Secchi,et al.  Experiences with String Matching on the Fermi Architecture , 2011, ARCS.

[15]  Kwong-Sak Leung,et al.  A fast CUDA implementation of agrep algorithm for approximate nucleotide sequence matching , 2011, 2011 IEEE 9th Symposium on Application Specific Processors (SASP).

[16]  Liang Hu,et al.  An Efficient AC Algorithm with GPU , 2012 .

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

[18]  N. H. Kim Effect of Instruction Fetch and Memory Scheduling on GPU Performance , 2009 .

[19]  Nen-Fu Huang,et al.  A GPU-Based Multiple-Pattern Matching Algorithm for Network Intrusion Detection Systems , 2008, 22nd International Conference on Advanced Information Networking and Applications - Workshops (aina workshops 2008).

[20]  William J. Dally,et al.  Unifying Primary Cache, Scratch, and Register File Memories in a Throughput Processor , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

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

[22]  Gonzalo Navarro,et al.  Average complexity of exact and approximate multiple string matching , 2004, Theor. Comput. Sci..

[23]  Jean-Stéphane Varré,et al.  Bit-Parallel Multiple Pattern Matching , 2011, PPAM.

[24]  Konstantinos G. Margaritis,et al.  Parallel Implementation of the Wu-Manber Algorithm Using the OpenCL Framework , 2012, AIAI.

[25]  Sungryoul Lee,et al.  Kargus: a highly-scalable software-based intrusion detection system , 2012, CCS.

[26]  Konstantinos G. Margaritis,et al.  Performance Study of Parallel Hybrid Multiple Pattern Matching Algorithms for Biological Sequences , 2012, BIOINFORMATICS.