Abstract
This paper analyzes the underlying architecture of a serial Bloom filter string searching algorithm to identify the performance impact of this algorithm for large datasets. Then, a parallel multi-core driven Bloom filter algorithm using software application threads is studied as benchmark. Experimental results suggest that for a set of 10 million strings, this algorithm exhibits speedups of up to 3.3× against a serial Bloom filter algorithm, when using an 8-logical processor multi-core architecture. To further improve the speedup, a many-core driven parallel Bloom filter algorithm is proposed using the Compute Unified Device Architecture (CUDA) parallel computing platform. The proposed algorithm segments the string list into blocks of words and threads in generating the bit table for the string searching process, which maximizes computational performance and sustains consistent string searching results. Experimental results suggest that the proposed algorithm extends the speedup to 5.5× against a serial Bloom filter algorithm, when using a 256-core CUDA graphics processing unit architecture.
Original language | English |
---|---|
Title of host publication | 2013 IEEE Conference on Open Systems, ICOS 2013 |
Publisher | IEEE, Institute of Electrical and Electronics Engineers |
Pages | 1-6 |
Number of pages | 6 |
ISBN (Print) | 9781479902859 |
DOIs | |
Publication status | Published - 2013 |
Externally published | Yes |
Event | 2013 IEEE Conference on Open Systems 2013 - Kuching, Sarawak, Malaysia Duration: 2 Dec 2013 → 4 Dec 2013 https://ieeexplore.ieee.org/xpl/conhome/6720225/proceeding (Proceedings) |
Conference
Conference | 2013 IEEE Conference on Open Systems 2013 |
---|---|
Abbreviated title | ICOS 2013 |
Country/Territory | Malaysia |
City | Kuching, Sarawak |
Period | 2/12/13 → 4/12/13 |
Internet address |
Keywords
- Bloom filter
- CUDA
- GPGPU
- Parallel computing
- String searching