On-line load balancing with applications to machine scheduling and virtual circuit routing
STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing
Balanced allocations (extended abstract)
STOC '94 Proceedings of the twenty-sixth annual ACM symposium on Theory of computing
Expected Length of the Longest Probe Sequence in Hash Code Searching
Journal of the ACM (JACM)
Space/time trade-offs in hash coding with allowable errors
Communications of the ACM
The power of two choices in randomized load balancing
The power of two choices in randomized load balancing
The load-balanced router
Bigtable: a distributed storage system for structured data
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
More Robust Hashing: Cuckoo Hashing with a Stash
ESA '08 Proceedings of the 16th annual European symposium on Algorithms
K-Stage Pipelined Bloom Filter for Packet Classification
CSE '09 Proceedings of the 2009 International Conference on Computational Science and Engineering - Volume 02
Cache-, hash- and space-efficient bloom filters
WEA'07 Proceedings of the 6th international conference on Experimental algorithms
Algorithms for Next Generation Networks
Algorithms for Next Generation Networks
Hash tables with finite buckets are less resistant to deletions
Computer Networks: The International Journal of Computer and Telecommunications Networking
Hi-index | 0.24 |
Bloom Filters particularly suit network devices, because of their low theoretical memory-access rates. However, in practice, since memory is often divided into blocks and Bloom Filters hash elements into several arbitrary memory blocks, Bloom Filters actually need high memory-access rates. Unfortunately, a simple solution of hashing all Bloom Filter elements into a single memory block yields high false positive rates. In this paper, we propose to implement load-balancing schemes for the choice of the memory block, along with an optional overflow list, resulting in better false positive rates while keeping a high memory-access efficiency. To study this problem, we define, analyze and solve a fundamental access-constrained balancing problem, where incoming elements need to be optimally balanced across resources while satisfying average and instantaneous constraints on the number of memory accesses associated with checking the current load of the resources. We then use these results and suggest a new access-efficient Bloom Filter scheme in networking devices, called the Balanced Bloom Filter. Finally, we show that with a worst-case operation cost of up to 3 memory accesses for each element and an overflow list size of at most 0.5% of the elements, our scheme can reduce the false positive rate by up to two orders of magnitude compared to a filter that hashes all elements into a single memory block.