High performance parallelization of Boyer-Moore algorithm on many-core accelerators

被引:2
|
作者
Jeong, Yosang [1 ]
Lee, Myungho [1 ]
Nam, Dukyun [2 ]
Kim, Jik-Soo [2 ]
Hwang, Soonwook [2 ]
机构
[1] Myongji Univ, Dept Comp Sci & Engn, Yongin, Kyungki Do, South Korea
[2] Korea Inst Sci & Technol Informat, Supercomp R&D Ctr, Taejon, South Korea
基金
新加坡国家研究基金会;
关键词
Boyer-Moore algorithm; Many-core accelerator; Parallelization; Dynamic scheduling; Multithreading; Algorithmic cascading; STANDARD;
D O I
10.1007/s10586-015-0466-4
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Boyer-Moore (BM) algorithm is a single pattern string matching algorithm. It is considered as the most efficient string matching algorithm and used in many applications. The algorithm first calculates two string shift rules based on the given pattern string in the preprocessing phase. Using the two shift rules, pattern matching operations are performed against the target input string in the second phase. The string shift rules calculated in the first phase let parts of the target input string be skipped where there are no matches to be found in the second phase. The second phase is a time consuming process and needs to be parallelized in order to realize the high performance string matching. In this paper, we parallelize the BM algorithm on the latest many-core accelerators such as the Intel Xeon Phi and the Nvidia Tesla K20 GPU along with the general-purpose multi-core microprocessors. For the parallel string matching, the target input data is partitioned amongst multiple threads. Data lying on the threads' boundaries is searched redundantly so that the pattern string lying on the boundary between two neighboring threads cannot be missed. The redundant data search overheads increases significantly for a large number of threads. For a fixed target input length, the number of possible matches decreases as the pattern length increases. Furthermore, the positions of the pattern string are spread all over the target data randomly. This leads to the unbalanced workload distribution among threads. We employ the dynamic scheduling and the multithreading techniques to deal with the load balancing issue. We also use the algorithmic cascading technique to maximize the benefit of the multithreading and to reduce the overheads associated with the redundant data search between neighboring threads. Our parallel implementation leads to 17-times speedup on the Xeon Phi and 47-times speedup on the Nvidia Tesla K20 GPU compared with a serial implementation on the host Intel Xeon processor.
引用
收藏
页码:1087 / 1098
页数:12
相关论文
共 50 条
  • [21] On obtaining the Boyer-Moore string-matching algorithm by partial evaluation
    Danvy, Olivier
    Rohde, Henning Korsholm
    INFORMATION PROCESSING LETTERS, 2006, 99 (04) : 158 - 162
  • [22] Searching BWT compressed text with the Boyer-Moore algorithm and binary search
    Bell, T
    Powell, M
    Mukherjee, A
    Adjeroh, D
    DCC 2002: DATA COMPRESSION CONFERENCE, PROCEEDINGS, 2002, : 112 - 121
  • [23] Left-to-right preprocessing computation for the Boyer-Moore string matching algorithm
    Ibaraki Univ, Ibaraki, Japan
    Comput J, 5 (413-416):
  • [24] Efficient Extraction Method for Biological Data Using Boyer-Moore Search Algorithm
    Jaber, Khalid Mohammad
    Al-Khatib, Ra'ed M.
    Taghizadeh, Alireza
    Al-Khateeb, Asef
    CREATING GLOBAL COMPETITIVE ECONOMIES: 2020 VISION PLANNING & IMPLEMENTATION, VOLS 1-3, 2013, : 1274 - +
  • [25] A left-to-right preprocessing computation for the Boyer-Moore string matching algorithm
    Takaoka, T
    COMPUTER JOURNAL, 1996, 39 (05): : 413 - 416
  • [26] A Mechanically Checked Proof of the Correctness of the Boyer-Moore Fast String Searching Algorithm
    Moore, J. Strother
    Martinez, Matt
    ENGINEERING METHODS AND TOOLS FOR SOFTWARE SAFETY AND SECURITY, 2009, 22 : 267 - 284
  • [27] Boyer-Moore Algorithm in retrieving deleted Short Message Service in Android Platform
    Rahmat, R. F.
    Prayoga, D. F.
    Gunawan, D.
    Sitompul, O. S.
    10TH INTERNATIONAL CONFERENCE NUMERICAL ANALYSIS IN ENGINEERING, 2018, 308
  • [29] A fast Boyer-Moore type pattern matching algorithm for highly similar sequences
    Ben Nsira, Nadia
    Lecroq, Thierry
    Elloumi, Mourad
    INTERNATIONAL JOURNAL OF DATA MINING AND BIOINFORMATICS, 2015, 13 (03) : 266 - 288
  • [30] Parallelization of Genetic Algorithms and Sustainability on Many-core Processors
    Sato, Yuji
    PROCEEDINGS OF SEVENTH INTERNATIONAL CONFERENCE ON BIO-INSPIRED COMPUTING: THEORIES AND APPLICATIONS (BIC-TA 2012), VOL 2, 2013, 202 : 175 - 187