An Optimal Implementation of the Approximate String Matching on the Hierarchical Memory Machine, with Performance Evaluation on the GPU

被引:3
|
作者
Man, Duhu [1 ]
Nakano, Koji [1 ]
Ito, Yasuaki [1 ]
机构
[1] Hiroshima Univ, Dept Informat Engn, Higashihiroshima 7398527, Japan
来源
关键词
memory machine models; approximate string matching; edit distance; GPU; CUDA; ALGORITHMS;
D O I
10.1587/transinf.2014PAP0011
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The Hierarchical Memory Machine (HMM) is a theoretical parallel computing model that captures the essence of computing on CUDA-enabled GPUs. The approximate string matching (ASM) for two strings X and Y of length m and n is a task to find a substring of Y most similar to X. The main contribution of this paper is to show an optimal parallel algorithm for the approximate string matching on the HMM and implement it on GeForce GTX 580 GPU. Our algorithm runs in O(n/w + mn/dw + nL/p + mnl/p) time units on the HMM with p threads, d streaming processors, memory band width w, global memory access latency L, and shared memory access latency l. We also show that the lower bound of the computing time is Omega(n/w + mn/dw + nL/p + mnl/p) time units. Thus, our algorithm for the approximate string matching is time optimal. Further, we implemented our algorithm on GeForce GTX 580 GPU and evaluated the performance. The experimental results show that the ASM of two strings of 1024 and 4M(= 2(22)) characters can be done in 419.6ms, while the sequential algorithm can compute it in 27720ms. Thus, our implementation on the GPU attains a speedup factor of 66.1 over the single CPU implementation.
引用
收藏
页码:3063 / 3071
页数:9
相关论文
共 50 条
  • [1] A Memory-Access-Efficient Implementation of the Approximate String Matching Algorithm on GPU
    Nunes, Lucas S. N.
    Bordim, J. L.
    Nakano, K.
    Ito, Y.
    [J]. 2016 FOURTH INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING (CANDAR), 2016, : 483 - 489
  • [2] Optimal implementations of the approximate string matching and the approximate discrete signal matching on the memory machine models
    Nakano, Koji
    [J]. INTERNATIONAL JOURNAL OF PARALLEL EMERGENT AND DISTRIBUTED SYSTEMS, 2014, 29 (02) : 104 - 118
  • [3] An Optimal Offline Permutation Algorithm on the Hierarchical Memory Machine, with the GPU implementation
    Kasagi, Akihiko
    Nakano, Koji
    Ito, Yasuaki
    [J]. 2013 42ND ANNUAL INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING (ICPP), 2013, : 1 - 10
  • [4] Efficient Implementations of the Approximate String Matching on the Memory Machine Models
    Nakano, Koji
    [J]. 2012 THIRD INTERNATIONAL CONFERENCE ON NETWORKING AND COMPUTING (ICNC 2012), 2012, : 233 - 239
  • [5] A Fast Approximate String Matching Algorithm on GPU
    Nunes, Lucas S. N.
    Bordim, J. L.
    Nakano, K.
    Ito, Y.
    [J]. PROCEEDINGS OF 2015 THIRD INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING (CANDAR), 2015, : 188 - 192
  • [6] Indexed Hierarchical Approximate String Matching
    Russo, Luis M. S.
    Navarro, Gonzalo
    Oliveira, Arlindo L.
    [J]. STRING PROCESSING AND INFORMATION RETRIEVAL, PROCEEDINGS, 2008, 5280 : 144 - +
  • [7] Optimality of Fundamental Parallel Algorithms on the Hierarchical Memory Machine, with GPU implementation
    Nakano, Koji
    Ito, Yasuaki
    [J]. 23RD EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP 2015), 2015, : 626 - 634
  • [8] A Memory-Access-Efficient Implementation for Computing the Approximate String Matching Algorithm on GPUs
    Nunes, Lucas Saad Nogueira
    Bordim, Jacir Luiz
    Ito, Yasuaki
    Nakano, Koji
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2016, E99D (12) : 2995 - 3003
  • [9] Bit-parallel multiple approximate string matching based on GPU
    Xu, Kefu
    Cui, Wenke
    Hu, Yue
    Guo, Li
    [J]. FIRST INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY AND QUANTITATIVE MANAGEMENT, 2013, 17 : 523 - 529
  • [10] Parallelizing Exact and Approximate String Matching via Inclusive Scan on a GPU
    Mitani, Yasuaki
    Ino, Fumihiko
    Hagihara, Kenichi
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (07) : 1989 - 2002