Hunting the pertinency of hash and bloom filter combinations on GPU for fast pattern matching

Radhakrishna Bhat, Reddy Kanala Thilak, Reddy Panyala Vaibhav

Research output: Contribution to journalArticlepeer-review


There has been rapid growth in the field of graphical processing unit (GPU) programming due to the drastic increase in the computing hardware manufacturing. The technology used in these devices is now more affordable and accessible to the general public. With this growth, many serial programming applications that are now being transformed into more efficient parallel programming applications with significant improvement in the performance. The best example for this is parallel implementation of the probabilistic data structure Bloom filter in set membership queries. However, despite of it’s remarkable performance in speed and memory usage, there is a computational overhead in the calculation of hashes in Bloom filter. In this paper, the impact of the choice of hash functions on the qualitative properties of the Bloom filter has been experimentally recorded and the results show that there is a possibility of large performance gap among various hash functions. We have implemented the Bloom filter based pattern matching technique on GPU using compute unified device architecture (CUDA) and benchmark the performance of several cryptographic and non-cryptographic hash functions.

Original languageEnglish
Pages (from-to)2667-2679
Number of pages13
JournalInternational Journal of Information Technology (Singapore)
Issue number5
Publication statusPublished - 08-2022

All Science Journal Classification (ASJC) codes

  • Computer Science Applications
  • Computer Networks and Communications
  • Information Systems
  • Artificial Intelligence
  • Computational Theory and Mathematics
  • Applied Mathematics
  • Electrical and Electronic Engineering


Dive into the research topics of 'Hunting the pertinency of hash and bloom filter combinations on GPU for fast pattern matching'. Together they form a unique fingerprint.

Cite this