DOI QR코드

DOI QR Code

Parallel String Matching and Optimization Using OpenCL on FPGA

FPGA 상에서 OpenCL을 이용한 병렬 문자열 매칭 구현과 최적화 방향

  • 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)
  • Received : 2016.08.30
  • Accepted : 2016.11.14
  • Published : 2017.01.01

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

References

  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. https://doi.org/10.1145/360825.360855
  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. https://doi.org/10.1109/TC.2012.254
  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.