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 条
  • [31] Efficient Packet Pattern Matching for Gigabit Network Intrusion Detection using GPUs
    Hung, Che-Lun
    Wang, Hsiao-hsi
    Chang, Chin-Yuan
    Lin, Chun-Yuan
    2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (HPCC-ICESS), 2012, : 1612 - 1617
  • [32] Accelerating the Conjugate Gradient Algorithm with GPUs in CFD Simulations
    Anzt, Hartwig
    Baboulin, Marc
    Dongarra, Jack
    Fournier, Yvan
    Hulsemann, Frank
    Khabou, Amal
    Wang, Yushan
    HIGH PERFORMANCE COMPUTING FOR COMPUTATIONAL SCIENCE - VECPAR 2016, 2017, 10150 : 35 - 43
  • [33] A novel parallel learning algorithm for pattern classification
    Wang, Yi
    Fu, Jian
    Wei, Bingyang
    SN APPLIED SCIENCES, 2019, 1 (12):
  • [34] A novel parallel learning algorithm for pattern classification
    Yi Wang
    Jian Fu
    Bingyang Wei
    SN Applied Sciences, 2019, 1
  • [35] On accelerating pattern matching for technology mapping
    Matsunaga, Y
    1998 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN: DIGEST OF TECHNICAL PAPERS, 1998, : 118 - 123
  • [36] Parallel Maximum Cardinality Matching for General Graphs on GPUs
    Schwing, Gregory
    Grosu, Daniel
    Schwiebert, Loren
    2024 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS, IPDPSW 2024, 2024, : 880 - 889
  • [37] Applying Parallel Design Techniques to Template Matching with GPUs
    Anderson, Robert Finis
    Kirtzic, J. Steven
    Daescu, Ovidiu
    HIGH PERFORMANCE COMPUTING FOR COMPUTATIONAL SCIENCE - VECPAR 2010, 2011, 6449 : 456 - 468
  • [38] Parallel wavelet-based clustering algorithm on GPUs using CUDA
    Yildirim, Ahmet Artu
    Ozdogan, Cem
    WORLD CONFERENCE ON INFORMATION TECHNOLOGY (WCIT-2010), 2011, 3
  • [39] Accelerating Regular Expression Matching Using Hierarchical Parallel Machines on GPU
    Lin, Cheng-Hung
    Liu, Chen-Hsiung
    Chang, Shih-Chieh
    2011 IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE (GLOBECOM 2011), 2011,
  • [40] A Node-based Parallel Game Tree Algorithm Using GPUs
    Li, Liang
    Liu, Hong
    Liu, Peiyu
    Liu, Taoying
    Li, Wei
    Wang, Hao
    2012 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2012, : 18 - 26