Efficient implementations of Bloom filter using block RAMs and DSP slices on the FPGA

This paper presents efficient FPGA implementations for the Bloom filter, in which a large set P of L‐byte patterns are registered beforehand. Our Bloom filter circuit performs the byte stream pattern test such that it receives an input byte stream t and outputs the bit stream in every clock cycle. Each bit of the output bit stream is 1 if an L‐byte sequence of t starting from the corresponding position is identical with one of the patterns in P. Our circuits use rolling hash functions to compute signatures of all patterns in P registered in Ultra RAMs of the Xilinx UltraScale+ FPGA VU9P. We present two types of implementations, DSP‐based implementation and RAM‐based implementation to compute rolling hash functions of L‐byte sequences using DSP slices and Block RAMs in the FPGA, respectively. The experimental results show that both DSP‐based and RAM‐based Bloom filter circuits for 4800K patterns of length 1024 can perform the byte stream pattern test for 1.1 Gps and 1.3 Gbps input byte streams, respectively, with false positive probability 10−12. Moreover, we can configure DSP‐based and RAM‐based Bloom filter circuits for 100K patterns to work for 54.9 Gbps and 62.2 Gbps input byte streams, respectively, with false positive probability 10−12.

[1]  Stephan Wong,et al.  A Cache Architecture for Counting Bloom Filters , 2007, 2007 15th IEEE International Conference on Networks.

[2]  KOJI NAKANO,et al.  Instance-Specific Solutions For Accelerating The Cky Parsing Of Large Context-Free Grammars , 2004, Int. J. Found. Comput. Sci..

[3]  H. Jonathan Chao,et al.  Aggregated Bloom Filters for Intrusion Detection and Prevention Hardware , 2007, IEEE GLOBECOM 2007 - IEEE Global Telecommunications Conference.

[4]  Monther Aldwairi,et al.  Bloom Filters Optimized Wu-Manber for Intrusion Detection , 2016, J. Digit. Forensics Secur. Law.

[5]  Roger Woods,et al.  FPGA-based Implementation of Signal Processing Systems , 2017 .

[6]  Koji Nakano,et al.  Hardware n Choose k Counters with Applications to the Partial Exhaustive Search , 2005, IEICE Trans. Inf. Syst..

[7]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[8]  Koji Nakano,et al.  Efficient Byte Stream Pattern Test using Bloom Filter with Rolling Hash Functions on the FPGA , 2018, 2018 Sixth International Symposium on Computing and Networking (CANDAR).

[9]  Koji Nakano,et al.  An image retrieval system using FPGAs , 2003, ASP-DAC '03.

[10]  Mahmood Ahmadi,et al.  Bloom filter applications in network security: A state-of-the-art survey , 2013, Comput. Networks.

[11]  Koen De Bosschere,et al.  XOR-based hash functions , 2005, IEEE Transactions on Computers.

[12]  M. Arun,et al.  Design and Implementation of a String Matching System for Network Intrusion Detection using FPGA-based low power multiple-hashing Bloom Filters , 2009 .

[13]  Andrei Broder,et al.  Network Applications of Bloom Filters: A Survey , 2004, Internet Math..

[14]  Koji Nakano,et al.  Processor, Assembler, and Compiler Design Education Using an FPGA , 2008, 2008 14th IEEE International Conference on Parallel and Distributed Systems.

[15]  Sireesha,et al.  An FPGA Implementation of Hashed Key-Value Store Using Bloom Filter , 2015 .

[16]  Deepa Kundur,et al.  Bloom filter based intrusion detection for smart grid SCADA , 2012, 2012 25th IEEE Canadian Conference on Electrical and Computer Engineering (CCECE).

[17]  Kiyoung Choi,et al.  An FPGA implementation of high-throughput key-value store using Bloom filter , 2014, Technical Papers of 2014 International Symposium on VLSI Design, Automation and Test.

[18]  Xin Zhou,et al.  An FPGA Implementation for a Flexible-Length-Arithmetic Processor Employing the FDFM Processor Core Approach , 2016, IEICE Trans. Inf. Syst..

[19]  Deian Stefan,et al.  FPGA-based SoC for real-time network intrusion detection using counting bloom filters , 2009, IEEE Southeastcon 2009.

[20]  Koji Nakano,et al.  Instance-Specific Solutions to Accelerate the CKY Parsing , 2003, Engineering of Reconfigurable Systems and Algorithms.

[21]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[22]  Bo Song,et al.  The Parallel FDFM Processor Core Approach for CRT-based RSA Decryption , 2012, Int. J. Netw. Comput..

[23]  Eugene H. Spafford,et al.  OPUS: Preventing weak password choices , 1992, Comput. Secur..