• Title/Summary/Keyword: Boyer-Moore 알고리즘

Search Result 2, Processing Time 0.01 seconds

Parallelization and Performance Optimization of the Boyer-Moore Algorithm on GPU (Boyer-Moore 알고리즘을 위한 GPU상에서의 병렬 최적화)

  • Jeong, Yosang;Tran, Nhat-Phuong;Lee, Myungho;Nam, Dukyun;Kim, Jik-Soo;Hwang, Soonwook
    • KIISE Transactions on Computing Practices
    • /
    • v.21 no.2
    • /
    • pp.138-143
    • /
    • 2015
  • The Boyer-Moore algorithm is a single pattern string matching algorithm that is widely used in various applications such as computer and internet security, and bioinformatics. This algorithm is computationally demanding and requires high-performance parallel processing. In this paper, we propose a parallelization and performance optimization methodology for the BM algorithm on a GPU. Our methodology adopts an algorithmic cascading technique. This results in significant reductions in the mapping overheads for the threads participating in the parallel string matching. It also results in the efficient utilization of the multithreading capability of the GPU which improves the load balancing among threads. Our experimental results show that this approach achieves a 45-times speedup at maximum, in comparison with a serial execution.

Robust Quick String Matching Algorithm for Network Security (네트워크 보안을 위한 강력한 문자열 매칭 알고리즘)

  • Lee, Jong Woock;Park, Chan Kil
    • Journal of Korea Society of Digital Industry and Information Management
    • /
    • v.9 no.4
    • /
    • pp.135-141
    • /
    • 2013
  • String matching is one of the key algorithms in network security and many areas could be benefit from a faster string matching algorithm. Based on the most efficient string matching algorithm in sual applications, the Boyer-Moore (BM) algorithm, a novel algorithm called RQS is proposed. RQS utilizes an improved bad character heuristic to achieve bigger shift value area and an enhanced good suffix heuristic to dramatically improve the worst case performance. The two heuristics combined with a novel determinant condition to switch between them enable RQS achieve a higher performance than BM both under normal and worst case situation. The experimental results reveal that RQS appears efficient than BM many times in worst case, and the longer the pattern, the bigger the performance improvement. The performance of RQS is 7.57~36.34% higher than BM in English text searching, 16.26~26.18% higher than BM in uniformly random text searching, and 9.77% higher than BM in the real world Snort pattern set searching.