- Trending Categories
- Data Structure
- Operating System
- MS Excel
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Blocked Bloom Filter
- We select a memory block first.
- Then we select local Bloom Filter within each block.
- It might cause imbalance between memory blocks
- This filter is efficient, but poor false positive rate(FPR).
- At first instance, blocked Bloom filters should have the same FPR (False Positive Rate) as standard Bloom filters of the same size.
- Blocked Bloom Filter consists of a sequence of block b comparatively less than standard Bloom filters (Bloom filter blocks), each of which fits into one cache-line.
- Blocked Bloom filter scheme is differentiated from the partition schemes, where each bit is inserted into a different block.
Blocked Bloom Filter is implemented in following ways −
Bit Patterns (pat)
In this topic, we discuss to implement blocked Bloom filters implementing precomputed bit patterns. Instead of setting k bits through the evaluation of k hash functions, a single hash function selects a precomputed pattern from a table of random k-bit pattern of width B. In many cases, this table will fit into the cache. With this solution, only one small (in terms of bits) hash value is required, and the operation can be implemented using few SIMD(Single Instruction Multiple Data)instructions. At the time of transferring the Bloom filter, the table need not be included explicitly in the data, but can be reconstructed implementing the seed value.
The main disadvantage of the bit pattern method is that two elements may cause a table collision when they are hashed to the same pattern. This causes increased FPR.
To refine this idea once more, we can achieve a larger variety of patterns from a single table by bitwise-or-ing x patterns with an average number of k/x set bits.
One more variant that helps improving the FPR, is denoted as called multi-blocking. We permit the query operation to access X Bloom filters blocks, setting or testing k/X bits respectively in each block. (When k is not divisible by X, we set an extra bit in the first k mod X blocks.) Multi-blocking performs better than just increasing the block size to XB (B-each block size), since more variety is introduced this way. If we divide the set bits among several blocks, the expected number of 1 bit per block remains the same. However, only k/X bits are considered in each participating block, when accessing an element.
- Related Articles
- Bloom Filter
- Counting Bloom Filter
- Blocked Tear Duct
- Why has Russia blocked LinkedIn?
- Why do the desert plants bloom at night?
- How to identify blocked and blocking sessions in Oracle ?
- Blocked Rotor Test or Short Circuit Test of Induction Motor
- How to handle "Plugin blocked" pop up using Selenium Python?
- No-Load Test and Blocked-Rotor Test on Single-phase Induction Motor
- CSS Chroma Filter
- Bootstrap Filter list
- Filter in Python
- Broadbent’s Filter Model
- Count all 0s which are blocked by 1s in binary matrix in C++