Accelerating Pattern Matching Using a Novel Parallel Algorithm on GPUs

被引:58
|
作者
Lin, Cheng-Hung [1 ]
Liu, Chen-Hsiung
Chien, Lung-Sheng [2 ]
Chang, Shih-Chieh [3 ]
机构
[1] Natl Taiwan Normal Univ, Dept Technol Applicat & Human Resource Dev, Taipei 106, Taiwan
[2] Natl Tsing Hua Univ, Dept Math, Hsinchu 30013, Taiwan
[3] Natl Tsing Hua Univ, Dept Comp Sci, Hsinchu 30013, Taiwan
关键词
Graphics processing units; pattern matching; parallel algorithm; Aho-Corasick; INTRUSION DETECTION;
D O I
10.1109/TC.2012.254
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Graphics processing units (GPUs) have attracted a lot of attention due to their cost-effective and enormous power for massive data parallel computing. In this paper, we propose a novel parallel algorithm for exact pattern matching on GPUs. A traditional exact pattern matching algorithm matches multiple patterns simultaneously by traversing a special state machine called an Aho-Corasick machine. Considering the particular parallel architecture of GPUs, in this paper, we first propose an efficient state machine on which we perform very efficient parallel algorithms. Also, several techniques are introduced to do optimization on GPUs, including reducing global memory transactions of input buffer, reducing latency of transition table lookup, eliminating output table accesses, avoiding bank-conflict of shared memory, coalescing writes to global memory, and enhancing data transmission via peripheral component interconnect express. We evaluate the performance of the proposed algorithm using attack patterns from Snort V2.8 and input streams from DEFCON. The experimental results show that the proposed algorithm performed on NVIDIA GPUs achieves up to 143.16-Gbps throughput, 14.74 times faster than the Aho-Corasick algorithm implemented on a 3.06-GHz quad-core CPU with the OpenMP. The library of the proposed algorithm is publically accessible through Google Code.
引用
收藏
页码:1906 / 1916
页数:11
相关论文
共 50 条
  • [21] Accelerating Assertion Assessment Using GPUs
    Tong, Jason G.
    Boule, Marc
    Zilic, Zeljko
    2016 IEEE INTERNATIONAL HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP (HLDVT), 2016, : 9 - 16
  • [22] Accelerating the Lyapack library using GPUs
    Ernesto Dufrechu
    Pablo Ezzatti
    Enrique S. Quintana-Ortí
    Alfredo Remón
    The Journal of Supercomputing, 2013, 65 : 1114 - 1124
  • [23] Using GPUs for Accelerating Electromagnetic Simulations
    Ujaldon, Manuel
    APPLIED COMPUTATIONAL ELECTROMAGNETICS SOCIETY JOURNAL, 2010, 25 (04): : 294 - 302
  • [24] Accelerating Bootstrapping in FHEW using GPUs
    Lee, Moon Sung
    Lee, Yongje
    Cheon, Jung Hee
    Paek, Yunheung
    PROCEEDINGS OF THE ASAP2015 2015 IEEE 26TH INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS, 2015, : 128 - 135
  • [25] Accelerating Recommender Systems using GPUs
    Rodrigues, Andre Valente
    Jorge, Alipio
    Dutra, Ines
    30TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, VOLS I AND II, 2015, : 879 - 884
  • [26] Accelerating SystemC Simulations using GPUs
    Nanjundappa, Mahesh
    Kaushik, Anirudh
    Patel, Hiren D.
    Shukla, Sandeep K.
    2012 IEEE INTERNATIONAL HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP (HLDVT), 2012, : 132 - 139
  • [27] A Bit-Parallel Algorithm for Sequential Pattern Matching with Wildcards
    Guo, Dan
    Hong, Xiao-Li
    Hu, Xue-Gang
    Gao, Jun
    Liu, Ying-Ling
    Wu, Gong-Qing
    Wu, Xindong
    CYBERNETICS AND SYSTEMS, 2011, 42 (06) : 382 - 401
  • [28] An efficient parallel algorithm for exact multi-pattern matching
    Zhang, Hongli
    Xu, Dongliang
    Tian, Zhihong
    Fan, Yujian
    SECURITY AND COMMUNICATION NETWORKS, 2015, 8 (09) : 1688 - 1697
  • [29] Accelerating the Lyapack library using GPUs
    Dufrechu, Ernesto
    Ezzatti, Pablo
    Quintana-Orti, Enrique S.
    Remon, Alfredo
    JOURNAL OF SUPERCOMPUTING, 2013, 65 (03): : 1114 - 1124
  • [30] A Fast Parallel Selection Algorithm on GPUs
    Bakunas-Milanowski, Darius
    Rego, Vernon
    Sang, Janche
    Yu, Chansu
    2015 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE (CSCI), 2015, : 609 - 614