PFAC Implementation Issues and their Solutions on GPGPU's using OpenCL

Corasick is a standard string matching algorithm. It can match multiple patterns simultaneously and affirmed deterministic performance under all circumstances. Aho- Corasick feed solutions to various real world applications like intrusion detection systems, text mining, search engine, multimedia and computational biology. In order to improve performance of these applications parallelization of Aho- Corasick is crucial. PFAC (Parallel Failure Less Aho- Corasick) algorithm provides high degree of parallelization in Aho-Corasick algorithm. PFAC implementation on GPGPU's architecture may consist various implementation issues. In this paper discrete implementation issues of PFAC on GPGPU's using OpenCL, their solutions and comparative analysis are discussed. KeywordsAC Techniques, PFAC Techniques, Parallel AC

[1]  David Lee,et al.  Testing Finite-State Machines: State Identification and Verification , 1994, IEEE Trans. Computers.

[2]  Cheng-Hung Lin,et al.  Efficient Pattern Matching Algorithm for Memory Architecture , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[3]  Ziv Bar-Yossef,et al.  Efficient search engine measurements , 2007, WWW '07.

[4]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[5]  Xilong Che,et al.  GPGPU cloud: A paradigm for general purpose computing , 2013 .

[6]  Jungwon Kim,et al.  Achieving a single compute device image in OpenCL for multiple GPUs , 2011, PPoPP '11.

[7]  Marco Furini,et al.  International Journal of Computer and Applications , 2010 .

[8]  Yuan Youguang,et al.  The research and improving for multi-pattern string matching algorithm , 2010, 2010 IEEE International Conference on Intelligent Computing and Intelligent Systems.

[9]  Evangelos P. Markatos,et al.  Generating realistic workloads for network intrusion detection systems , 2004, WOSP '04.

[10]  Ely Porat,et al.  Pattern Matching in Multiple Streams , 2012, CPM.

[11]  Ryosuke Takahashi,et al.  Parallel Text Matching Using GPGPU , 2012, 2012 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing.

[12]  Nhat-Phuong Tran,et al.  Memory Efficient Parallelization for Aho-Corasick Algorithm on a GPU , 2012, 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems.

[13]  Viktor K. Prasanna,et al.  Parallel Exact Inference on a CPU-GPGPU Heterogenous System , 2010, 2010 39th International Conference on Parallel Processing.

[14]  Chengguo Chang,et al.  Comparison of Two-Dimensional String Matching Algorithms , 2012, 2012 International Conference on Computer Science and Electronics Engineering.

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

[16]  Sartaj Sahni,et al.  GPU-to-GPU and Host-to-Host Multipattern String Matching on a GPU , 2013, IEEE Transactions on Computers.

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

[18]  Cheng-Hung Lin,et al.  Accelerating Pattern Matching Using a Novel Parallel Algorithm on GPUs , 2013, IEEE Transactions on Computers.

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

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