journal article·2020-07-29Open access

Comparison on Search Failure between Hash Tables and a Functional Bloom Filter

Hayoung Byun, Hyesook Lim

Applied Sciences· Volume 10· Issue 15

Abstract

Hash-based data structures have been widely used in many applications. An intrinsic problem of hashing is collision, in which two or more elements are hashed to the same value. If a hash table is heavily loaded, more collisions would occur. Elements that could not be stored in a hash table because of the collision cause search failures. Many variant structures have been studied to reduce the number of collisions, but none of the structures completely solves the collision problem. In this paper, we claim that a functional Bloom filter (FBF) provides a lower search failure rate than hash tables, when a hash table is heavily loaded. In other words, a hash table can be replaced with an FBF because the FBF is more effective than hash tables in the search failure rate in storing a large amount of data to a limited size of memory. While hash tables require to store each input key in addition to its return value, a functional Bloom filter stores return values without input keys, because different index combinations according to each input key can be used to identify the input key. In search failure rates, we theoretically compare the FBF with hash-based data structures, such as multi-hash table, cuckoo hash table, and d-left hash table. We also provide simulation results to prove the validity of our theoretical results. The simulation results show that the search failure rates of hash tables are larger than that of the functional Bloom filter when the load factor is larger than 0.6.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Caching and Content Delivery · Opportunistic and Delay-Tolerant Networks · Covalent Organic Framework Applications

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Department of Electronic and Electrical Engineering, Ewha Womans University, Seoul 03760, Korea

Funding

National Research Foundation of Korea

References (47)

Show source-provided references
1. kBF: Towards Approximate and Bloom Filter Based Key–Value Storage for Cloud Computing Systems10.1109/TCC.2014.2385063 ↗
2. CubicRing: Exploiting Network Proximity for Distributed In-Memory Key–Value Store10.1109/TNET.2017.2669215 ↗
3. When Bloom Filters Are No Longer Compact: Multi-Set Membership Lookup for Network Applications10.1109/TNET.2016.2536618 ↗
4. Software Defined Networking Architecture, Security and Energy Efficiency: A Survey10.1109/COMST.2016.2618874 ↗
5. A Survey on the Contributions of Software-Defined Networking to Traffic Engineering10.1109/COMST.2016.2633579 ↗
6. Joint Resource Allocation for Software-Defined Networking, Caching, and Computing10.1109/TNET.2017.2782216 ↗
7. New Approach for Efficient IP Address Lookup Using a Bloom Filter in Trie-Based Algorithms10.1109/TC.2015.2444850 ↗
8. Utilizing 2-D Leaf-Pushing for Packet Classification10.1016/j.comcom.2017.02.005 ↗
9. Named Data Networking10.1145/2656877.2656887 ↗
10. Adaptive Forwarding in Named Data Networking10.1145/2317307.2317319 ↗
11. Name Prefix Matching Using Bloom Filter Pre-Searching for Content Centric Network10.1016/j.jnca.2016.02.008 ↗
12. BFAST: High-Speed and Memory-Efficient Approach for NDN Forwarding Engine10.1109/TNET.2016.2623379 ↗
13. Aho, A.V., Ullman, J.D., and Hopcroft, J.E. (1983). Data Structures and Algorithms, Addison-Wesley. [1st ed.].
14. Bruno, D.G. (1999). Data Structures and Algorithm with Object Oriented Design In C++, Addison Wesley Publishing Company. [1st ed.].
15. Cormen, T.H., Leiserson, C.E., Rivest, R.L., and Stein, C. (2009). Introduction to Algorithms, The MIT Press. [3rd ed.].
16. Mitzenmacher, M., and Upfal, E. (2005). Probability and Computing: Randomized Algorithms and Probabilistic Analysis, Cambridge University Press. [1st ed.].10.1017/CBO9780511813603 ↗
17. Broder, A., and Mitzenmacher, M. (2001, January 22–26). Using Multiple Hash Functions to Improve IP Lookups. Proceedings of the Twentieth Annual Joint Conference of the IEEE Computer and Communications Society, Anchorage, AK, USA.
19. An Improved Construction for Counting Bloom Filters
20. Beyond Bloom Filters: From Approximate Membership Checks to Approximate State Machines10.1145/1151659.1159950 ↗
21. Byun, H., Li, Q., and Lim, H. (2019). Vectored-Bloom Filter for IP Address Lookup: Algorithm and Hardware Architectures. Appl. Sci., 9.10.3390/app9214621 ↗
22. Byun, H., and Lim, H. (2019). A New Bloom Filter Architecture for FIB Lookup in Named Data Networking. Appl. Sci., 9.10.3390/app9020329 ↗
23. Frequent Traffic Flow Identification through Probabilistic Bloom Filter and its GPU-Based Acceleration10.1016/j.jnca.2017.03.006 ↗
24. Cache Sharing Using Bloom Filters in Named Data Networking10.1016/j.jnca.2017.04.011 ↗
25. Fast and Deterministic Hash Table Lookup Using Discriminative Bloom Filters10.1016/j.jnca.2012.12.031 ↗
26. Cisco (2020, June 15). Cisco Annual Internet Report. Cisco White Paper. Available online: cisco.com/c/en/us/solutions/collateral/executive-perspectives/annual-internet-report/white-paper-c11-741490.html.
27. Remote Transaction Commit: Centralizing Software Transactional Memory Commits10.1109/TC.2015.2470245 ↗
28. Me-CLOCK: A Memory-Efficient Framework to Implement Replacement Policies for Large Caches10.1109/TC.2015.2495182 ↗
29. Hardware Support for Concurrent Detection of Multiple Concurrency Bugs on Fused CPU-GPU Architectures10.1109/TC.2015.2512860 ↗
30. Byun, H., and Lim, H. (2018, January 24–27). Functional Bloom Filter, Better than Hash Tables. Proceedings of the 2018 International Conference on Electronics, Information, and Communication (ICEIC), Honolulu, HI, USA.10.23919/ELINFOCOM.2018.8330628 ↗
31. Space/Time Tradeoffs in Hash Coding with Allowable Errors10.1145/362686.362692 ↗
32. Network Applications of Bloom Filters: A Survey10.1080/15427951.2004.10129096 ↗
33. Theory and Practice of Bloom Filters for Distributed Systems10.1109/SURV.2011.031611.00024 ↗
34. Fast Hash Table Lookup Using Extended Bloom Filter: An Aid to Network Processing10.1145/1090191.1080114 ↗
35. Multi-Granularity Locality-Sensitive Bloom Filter10.1109/TC.2015.2401011 ↗
36. Single Event Transient Tolerant Bloom Filter Implementations10.1109/TC.2017.2702174 ↗
37. Ternary Bloom Filter Replacing Counting Bloom Filter10.1109/LCOMM.2016.2624286 ↗
38. Dual-Load Bloom Filter: Application for Name Lookup10.1016/j.comcom.2019.12.029 ↗
39. Complement Bloom Filter for Identifying True Positiveness of a Bloom Filter10.1109/LCOMM.2015.2478462 ↗
40. Mun, J., Lee, J., and Lim, H. (2017). A New Bloom Filter Structure for Identifying True Positiveness of a Bloom Filter. IEEE HPSR.10.1109/HPSR.2017.7968676 ↗
41. Comparative Analysis of Linear Probing, Quadratic Probing and Double Hashing Techniques for Resolving Collusion in a Hash Table
42. An Efficient Strategy for Collision Resolution in Hash Table
43. Main, M. (1999). Data Structures & Other Objects Using Java, Addison Wesley.
44. Bellare, M., and Kohno, T. (2004). Hash Function Balance and Its Impact on Birthday Attacks. International Conference on the Theory and Applications of Cryptographic Techniques, Springer.10.1007/978-3-540-24676-3_24 ↗
45. On Probabilities of Hash Value Matches10.1016/S0167-4048(97)82016-0 ↗
46. Byun, H., Kim, S., Yim, C., and Lim, H. (2020). Addition of a Secondary Functional Bloom Filter. IEEE Commun. Lett.10.1109/LCOMM.2020.3003695 ↗
47. (2020, May 17). Alexa the Web Information Company. Available online: http://www.alexa.com.