Browse > Article
http://dx.doi.org/10.5370/KIEE.2017.66.1.100

Parallel String Matching and Optimization Using OpenCL on FPGA  

Yoon, Jin Myung (School of Electronics and Electrical Engineering, Dankook University)
Choi, Kang-Il (Advanced Communications Research Laboratory, Electronics and Telecommunications Research Institute)
Kim, Hyun Jin (School of Electronics and Electrical Engineering, Dankook University)
Publication Information
The Transactions of The Korean Institute of Electrical Engineers / v.66, no.1, 2017 , pp. 100-106 More about this Journal
Abstract
In this paper, we propose a parallel optimization method of Aho-Corasick (AC) algorithm and Parallel Failureless Aho-Corasick (PFAC) algorithm using Open Computing Language (OpenCL) on Field Programmable Gate Array (FPGA). The low throughput of string matching engine causes the performance degradation of network process. Recently, many researchers have studied the string matching engine using parallel computing. FPGA's vendors offer a parallel computing platform using OpenCL. In this paper, we apply the AC and PFAC algorithm on DE1-SoC board with Cyclone V FPGA, where the optimization that considers FPGA architecture is performed. Experiments are performed considering global id, local id, local memory, and loop unrolling optimizations using PFAC algorithm. The performance improvement using loop unrolling is 129 times greater than AC algorithm that not adopt loop unrolling. The performance improvements using loop unrolling are 1.1, 0.2, and 1.5 times greater than those using global id, local id, and local memory optimizations mentioned above.
Keywords
GPU; PFAC; Parallel computing; String matching; OpenCL; Memory hierarchy;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Aho, Alfred V., Margaret J. Corasick., "Efficient String Matching: An Aid to Bibliographic Search", Communications of the ACM, 18.6, pp. 333-340, 1975.   DOI
2 Roesch, Martin. "Snort: Lightweight Intrusion Detection for Networks", LISA, Vol. 99, No. 1, pp. 229-238, 1999.
3 Snort_Users Manual 2.9.8.2 Available: http://www.snort.org
4 Lin, Cheng-Hung, et al. "Accelerating Pattern Matching Using a Novel Parallel Algorithm on Gpus", IEEE Transactions on Computers, 62.10, pp. 1906-1916, 2013.   DOI
5 Cloud computing. Available: Wikipedia, 2016.5.1.
6 Radar Processing: FPGAs or GPUs? Available: https://www.altera.com
7 Chen, D., Singh, D., "Invited paper: Using OpenCL to Evaluate the Efficiency of CPUs, GPUs and FPGAs for Information Filtering", In 22nd International Conference on Field Programmable Logic and Applications (FPL), pp. 5-12, 2012.
8 DEFCON, http://cctf.shmoo.com, 2013.
9 Nishimura, T., Fukamachi, S., Shinohara, T., "Speed-up of Aho-Corasick Pattern Matching Machines by Rearranging States", In String Processing and Information Retrieval, 2001. SPIRE 2001. Proceedings. Eighth International Symposium on IEEE, pp. 175-185, 2001.