Parallel approaches to the string matching problem on the GPU

5Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

We design a family of parallel algorithms and GPU implementations for the exact string matching problem, based on Rabin-Karp (RK) randomized string matching. We describe and analyze three primary parallel approaches to binary string matching: cooperative (CRK), divide-and-conquer (DRK), and a novel hybrid of both (HRK). The CRK is most effective for large patterns (>8K characters), while the DRK approach is superior for shorter patterns. We then generalize the DRK to support any alphabet size without loss of performance. Our DRK method achieves up to a 64 GB/s processing rate on 8-character patterns from an 8-bit alphabet on an NVIDIA Tesla K40c GPU. We next demonstrate a novel parallel two-stage matching method (DRK-2S), which first skims the text for a smaller subset of the pattern and then verifies all potential matches in parallel. Our DRK-2S method is superior for pattern sizes up to 64k compared to the fastest CPU-based string matching implementations. With an 8-bit alphabet and up to 1k-character patterns, we get a geometric mean speedup of 4.81x against the best CPU methods, and can achieve a processing rate of at least 53 GB/s.

Cite

CITATION STYLE

APA

Ashkiani, S., Amenta, N., & Owens, J. D. (2016). Parallel approaches to the string matching problem on the GPU. In Annual ACM Symposium on Parallelism in Algorithms and Architectures (Vol. 11-13-July-2016, pp. 275–285). Association for Computing Machinery. https://doi.org/10.1145/2935764.2935800

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free