Blooming Trees: Space-Efficient Structures for Data Representation
Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci · 2008
A Bloom filter is an efficient randomized data structure for membership queries on a set with a certain known false positive probability. A counting Bloom filter (CBF) allows the same operations on dynamical sets that can be updated via insertions and deletions with larger memory requirements. This paper presents a novel hierarchical data structure, called Blooming tree, that replicates the functionalities of a CBF with lower memory consumption and tunable false positive probability. The hierarchical multi-layer design of Blooming trees allows for distributing the structure in different memory levels, thus exploiting small but fast on-chip memories for most frequently accessed substructures. The proposed algorithm is compared to previous existing schemes on a target platform: Intel IXP2XXX Network Processors (NPs).