Hash Tables as Engines of Randomness at the Limits of Computation: A Unified Review of Algorithms
Abstract
1. Introduction
2. Theoretical Foundations of Hashing
3. Collision Resolution Strategies
4. Architectural and Implementation Advances
5. Applications Across Domains
6. Comparative Evaluation and Taxonomy
| Approach | Performance Regime | Concurrency Behavior | Space/Efficiency Profile |
|---|---|---|---|
| Chaining [68] | Stable average-case constant-time lookup; cost rises with long chains | Strong concurrency; independent bucket chains | Higher pointer overhead; predictable degradation |
| Linear probing [32] | Excellent cache locality at moderate load | Weak concurrency; clustering amplifies contention | Space-efficient; suffers from primary clustering |
| Quadratic probing [31] | Reduced primary clustering; similar to linear probing | Moderate concurrency | Space-efficient; secondary clustering persists |
| Robin Hood [11] | Tight distribution of probe distances at high load | Good concurrency with controlled relocation | Slightly costlier insertion due to displacement |
| Hopscotch [36] | Near-constant lookup under high load | Very strong concurrency; bounded relocation | Requires neighborhood metadata; excellent locality |
| Cuckoo [37] | Worst-case O(1) lookup | Moderate concurrency; relocation cascades | Requires multiple tables; occasional rehash |
| Bucketed/multi-hash cuckoo [39,40,101] | More stable insertion bounds | Good concurrency; bounded-relocation buckets | Higher memory footprint; predictable updates |
| Cache-/hardware-aware designs [10,28,56] | Extreme throughput; architecture-aligned | Varies by platform; often excellent | Memory-layout-optimized; overhead amortized |
7. Open Challenges and Future Directions
Related Work and Survey Literature
8. Conclusions
Supplementary Materials
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Abbreviations
| HT | Hash Table |
| CHT | Chained Hash Table |
| OAH | Open Addressing Hashing |
| RH | Robin Hood Hashing |
| HH | Hopscotch Hashing |
| CH | Cuckoo Hashing |
| DHT | Distributed Hash Table |
| NVM | Non-Volatile Memory |
| GPU | Graphics Processing Unit |
| FPGA | Field-Programmable Gate Array |
| NUMA | Non-Uniform Memory Access |
| CAS | Compare-and-Swap |
| LL/SC | Load-Link/Store-Conditional |
| RCU | Read-Copy-Update |
| LSH | Locality-Sensitive Hashing |
| MPHF | Minimal Perfect Hash Function |
References
- Knuth, D.E. The Art of Computer Programming, Volume 3: Sorting and Searching; Addison-Wesley: Boston, MA, USA, 1973. [Google Scholar]
- Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms; MIT Press: Cambridge, MA, USA, 2009. [Google Scholar]
- Aho, A.; Lam, M.; Sethi, R.; Ullman, J. Compilers: Principles, Techniques, and Tools; Pearson: London, UK, 2006. [Google Scholar]
- Dean, J.; Ghemawat, S. MapReduce: Simplified data processing on large clusters. Commun. ACM 2008, 51, 107–113. [Google Scholar] [CrossRef]
- Merkle, R.C. A certified digital signature. In Advances in Cryptology—CRYPTO ’89 Proceedings; Springer: Berlin/Heidelberg, Germany, 1989; pp. 218–238. [Google Scholar]
- Mirrokni, A.V.; Thorup, M.; Zadimoghaddam, M. Consistent hashing with bounded loads. In Proceedings of the 29th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA ’18), New Orleans, LA, USA, 7–10 January 2018; pp. 587–604. [Google Scholar]
- Lakshman, A.; Malik, P. Cassandra: A decentralized structured storage system. ACM SIGOPS Oper. Syst. Rev. 2010, 44, 35–40. [Google Scholar] [CrossRef]
- Herlihy, M.; Shavit, N. The Art of Multiprocessor Programming; Morgan Kaufmann: San Francisco, CA, USA, 2012. [Google Scholar]
- Ashkiani, M.; Farach-Colton, M.; Owens, J.D. A dynamic hash table for the GPU. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium, Vancouver, BC, Canada, 21–25 May 2017; pp. 583–592. [Google Scholar]
- Vitter, J.S. Algorithms and Data Structures for External Memory. Found. Trends Theor. Comput. Sci. 2008, 2, 305–474. [Google Scholar] [CrossRef]
- Celis, P.; Larson, P.; Munro, J.I. Robin Hood hashing. In Proceedings of the IEEE Annual Symposium on Foundations of Computer Science, Portland, OR, USA, 21–23 October 1985; pp. 281–288. [Google Scholar]
- Oukid, I.; Lasperas, J.; Nica, A.; Willhalm, T.; Lehner, W. FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory. In Proceedings of the 2016 International Conference on Management of Data (SIGMOD ’16), San Francisco, CA, USA, 26 June–1 July 2016; Association for Computing Machinery: New York, NY, USA, 2016; pp. 371–386. [Google Scholar]
- Langmead, B.; Salzberg, S.L. Fast gapped-read alignment with Bowtie 2. Nat. Methods 2012, 9, 357–359. [Google Scholar] [CrossRef]
- Ramakrishna, M.V.; Zobel, J. Performance in practice of string hashing functions. In Proceedings of the ACM SIGMOD International Conference on Management of Data, Tucson, AZ, USA, 13–15 May 1997; pp. 215–226. [Google Scholar]
- Pagh, A. Uniform Hashing in Constant Time and Optimal Space. SIAM J. Comput. 2006, 35, 302–313. [Google Scholar]
- Rogaway, P.; Shrimpton, T. Cryptographic hash-function basics: Definitions, implications, and separations for preimage resistance, second-preimage resistance, and collision resistance. In Fast Software Encryption; Roy, B., Meier, W., Eds.; Lecture Notes in Computer Science; Springer: Berlin, Germany, 2004; Volume 3017, pp. 371–388. [Google Scholar]
- Motwani, R.; Raghavan, P. Randomized Algorithms; Cambridge University Press: Cambridge, UK, 1995. [Google Scholar]
- Mehta, D.P.; Sahni, S. Handbook of Data Structures and Applications; Chapman & Hall/CRC: Boca Raton, FL, USA, 2018. [Google Scholar]
- Skiena, S.S. The Algorithm Design Manual, 3rd ed.; Springer: Berlin/Heidelberg, Germany, 2020. [Google Scholar]
- Carter, J.L.; Wegman, M.N. Universal classes of hash functions. J. Comput. Syst. Sci. 1979, 18, 143–154. [Google Scholar] [CrossRef]
- Botelho, F.C.; Pagh, R.; Ziviani, N. Simple and space-efficient minimal perfect hash functions. In Proceedings of the ACM WADS, Halifax, NS, Canada, 15–17 August 2007; pp. 139–150. [Google Scholar]
- Belazzougui, M.; Botelho, F.C.; Dietzfelbinger, M. Hash, displace, and compress. In Proceedings of the 17th Annual European Symposium, Copenhagen, Denmark, 7–9 September 2009; pp. 682–693. [Google Scholar]
- Krawczyk, N.; Bellare, M.; Canetti, R. HMAC: Keyed-Hashing for Message Authentication; IETF RFC 2104; Internet Engineering Task Force (IETF): Fremont, CA, USA, 1997. [Google Scholar]
- Dahlgaard, S.; Knudsen, M.B.T.; Thorup, M. Practical hash functions for similarity estimation and dimensionality reduction. In Proceedings of the 31st International Conference on Neural Information Processing Systems (NIPS’17), Long Beach, CA, USA, 4–9 December 2017; Curran Associates Inc.: Red Hook, NY, USA, 2017; pp. 6618–6628. [Google Scholar]
- Lemire, D.; Kaser, O. Faster 64-bit universal hashing using carry-less multiplications. J. Cryptogr. Eng. 2016, 6, 171–185. [Google Scholar] [CrossRef]
- Østlin, A.; Pagh, R. Simulating Uniform Hashing in Constant Time and Optimal Space; BRICS Report Series, RS-02-27; University of Aarhus: Aarhus, Denmark, 2002; pp. 1–17. [Google Scholar]
- Cooper, K.; Torczon, L. Engineering a Compiler, 2nd ed.; Morgan Kaufmann: Burlington, MA, USA, 2011. [Google Scholar]
- Böther, M.; Benson, L.; Klimovic, A.; Rabl, T. Analyzing Vectorized Hash Tables Across CPU Architectures. In Proceedings of the VLDB 2023, Vancouver, BC, Canada, 28 August–1 September 2023; Volume 16, pp. 2755–2768. [Google Scholar]
- Tucker, A.B. (Ed.) Computer Science Handbook, 3rd ed.; Chapman & Hall/CRC: Boca Raton, FL, USA, 2014. [Google Scholar]
- Robert, C.P.; Casella, G. Monte Carlo Statistical Methods; Springer: Berlin/Heidelberg, Germany, 2004. [Google Scholar]
- Kuszmaul, W.; Xi, Z. A partial analysis of quadratic probing. In Proceedings of the 2024 International Colloquium on Automata, Languages, and Programming (ICALP), Tallinn, Estonia, 8–12 July 2024; Schloss Dagstuhl–Leibniz Center for Informatics: Dagstuhl, Germany, 2024; pp. 103:1–103:19. [Google Scholar]
- Sedgewick, R.; Wayne, K. Algorithms, 4th ed.; Addison-Wesley: Boston, MA, USA, 2011. [Google Scholar]
- Mitzenmacher, M.; Upfal, E. Probability and Computing; Cambridge University Press: Cambridge, UK, 2017. [Google Scholar]
- Poblete, P.V.; Viola, A. Analysis of Robin Hood and other hashing algorithms under the random probing model, with and without deletions. Comb. Probab. Comput. 2019, 28, 600–617. [Google Scholar] [CrossRef]
- Kirsch, A.; Mitzenmacher, M. The power of Robin Hood hashing revisited. In Proceedings of the 18th Annual European Symposium, Liverpool, UK, 6–8 September 2010; pp. 684–695. [Google Scholar]
- Herlihy, M.; Shavit, N.; Tzafrir, M. Hopscotch hashing. In Proceedings of the ACM Symposium on Principles of Distributed Computing, Toronto, ON, Canada, 18–21 August 2008; pp. 350–359. [Google Scholar]
- Pagh, R.; Rodler, F.F. Cuckoo hashing. J. Algorithms 2004, 51, 122–144. [Google Scholar] [CrossRef]
- Fotakis, D. Space efficient hash tables with worst case constant access time. Theory Comput. Syst. 2005, 38, 229–248. [Google Scholar] [CrossRef]
- Le Scouarnec, N. Cuckoo++ Hash Tables: High-Performance Hash Tables for Networking Applications. In Proceedings of the 2018 Symposium on Architectures for Networking and Communications Systems (ANCS ’18), Ithaca, NY, USA, 23–24 July 2018; ACM/IEEE: Red Hook, NY, USA, 2018; pp. 1–12. [Google Scholar]
- Kirsch, A.; Mitzenmacher, M.; Wieder, U. More robust hashing: Cuckoo hashing with a stash. SIAM J. Comput. 2009, 39, 1543–1561. [Google Scholar] [CrossRef]
- Mitzenmacher, M. The power of two choices in randomized load balancing. IEEE Trans. Parallel Distrib. Syst. 2001, 12, 1094–1104. [Google Scholar] [CrossRef]
- Bentley, J.L.; Sedgewick, R. Fast algorithms for adaptive rehashing. Softw. Pract. Exp. 2014, 44, 1475–1493. [Google Scholar]
- Harris, T.L.; Fraser, K.; Pratt, I.A. A Practical Multi-Word Compare-and-Swap Operation. In Proceedings of the 16th International Symposium on Distributed Computing (DISC ’02), Toulouse, France, 28–30 October 2002; pp. 265–279. [Google Scholar]
- Enbody, R.J.; Du, H.C. Dynamic hashing schemes. ACM Comput. Surv. 1988, 20, 85–113. [Google Scholar] [CrossRef]
- Fatourou, P.; Kallimanis, N.D.; Ropars, T. An efficient wait-free resizable hash table. In Proceedings of the 30th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), Vienna, Austria, 16–18 July 2018; ACM: New York, NY, USA, 2018; pp. 111–120. [Google Scholar]
- Lamping, J.; Veach, E. A fast, minimal memory, consistent hash algorithm. arXiv 2014, arXiv:1406.2294. [Google Scholar] [CrossRef]
- DeCandia, G.; Hastorun, D.; Jampani, M.; Kakulapati, G.; Lakshman, A.; Pilchin, A.; Sivasubramanian, S.; Vosshall, P.; Vogels, W. Dynamo: Amazon’s highly available key-value store. In Proceedings of the ACM Symposium on Operating Systems Principles, Stevenson, WA, USA, 14–17 October 2007; pp. 205–220. [Google Scholar]
- Cooper, B.F.; Silberstein, A. Benchmarking cloud serving systems with YCSB. In Proceedings of the ACM Symposium on Cloud Computing, Indianapolis, IN, USA, 10–11 June 2010; pp. 143–154. [Google Scholar]
- Michael, M.M. High performance dynamic lock-free hash tables and list-based sets. In Proceedings of the 14th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA), Winnipeg, MB, Canada, 11–13 August 2002; ACM: New York, NY, USA, 2002; pp. 73–82. [Google Scholar]
- Harris, T.L. A pragmatic implementation of non-blocking linked-lists. In Proceedings of the International Symposium on Distributed Computing, Lisbon, Portugal, 3–5 October 2001; pp. 300–314. [Google Scholar]
- Purcell, C.; Harris, T. Non-blocking hashtables with open addressing. In Distributed Computing; Fraigniaud, P., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3724, pp. 108–122. [Google Scholar] [CrossRef]
- Herlihy, M.; Wing, J.M. Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 1990, 12, 463–492. [Google Scholar] [CrossRef]
- McKenney, P.E. RCU usage in the Linux kernel: One decade later. ACM Queue 2017, 15, 30–46. [Google Scholar]
- Sanchez, D.; Kozyrakis, C. The ZCache: Decoupling ways and associativity. In Proceedings of the IEEE International Symposium on Microarchitecture, Atlanta, GA, USA, 4–8 December 2010; pp. 187–198. [Google Scholar]
- Frigo, M.; Leiserson, C.E.; Prokop, H.; Ramachandran, S. Cache-oblivious algorithms. In Proceedings of the IEEE Symposium on Foundations of Computer Science, New York, NY, USA, 17–19 October 1999; pp. 285–298. [Google Scholar]
- Shahrokhi, H.; Shaikhha, A. An Efficient Vectorized Hash Table for Batch Computations. In Proceedings of the 37th European Conference on Object-Oriented Programming (ECOOP 2023), Seattle, WA, USA, 17–21 July 2023; Volume 263, pp. 27:1–27:27. [Google Scholar]
- Qureshi, M.K.; Thompson, D.; Patt, Y.N. The V-Way cache: Demand-based associativity via global replacement. In Proceedings of the 32nd International Symposium on Computer Architecture (ISCA’05), Madison, WI, USA, 4–8 June 2005; pp. 544–555. [Google Scholar]
- Gaud, F.; Lepers, B.; Funston, J.; Dashti, M.; Fedorova, A.; Quéma, V.; Lachaize, R.; Roth, M. Challenges of memory management on modern NUMA systems. Commun. ACM 2015, 58, 59–66. [Google Scholar] [CrossRef]
- Tran, T.N.; Kittitornkun, S. FPGA-Based Cuckoo Hashing for Pattern Matching in NIDS/NIPS. In Managing Next Generation Networks and Services; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; LNCS; Volume 4773, pp. 334–343. [Google Scholar]
- Fan, B.; Andersen, D.G.; Kaminsky, M.; Mitzenmacher, M.D. Cuckoo Filter: Practically Better Than Bloom. In Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies (CoNEXT ’14), Sydney, Australia, 2–5 December 2014; Association for Computing Machinery: New York, NY, USA, 2014; pp. 75–88. [Google Scholar]
- Bender, M.A.; Farach-Colton, M.; Johnson, R.; Kuszmaul, B.C.; Medjedovic, D.; Montes, P.; Shetty, P.; Spillane, R.P.; Zadok, E. Don’t thrash: How to cache your hash on flash. In Proceedings of the ACM VLDB, Istanbul, Turkey, 27–31 August 2012; pp. 1627–1637. [Google Scholar]
- Genuzio, M.; Ottaviano, G.; Vigna, S. Fast scalable construction of (minimal perfect) hash functions. Comput. J. 2022, 65, 358–371. [Google Scholar]
- Izraelevitz, J.; Yang, J.; Swanson, S. Failure-Atomic Persistent Memory Updates via JUSTDO Logging. In Proceedings of the 21st International Conference Architectural Support for Programming Languages and Operating Systems (ASPLOS ’16), Atlanta, GA, USA, 2–6 April 2016; pp. 427–442. [Google Scholar]
- Lee, S.K.; Mohan, J.; Kashyap, S.; Kim, T.; Chidambaram, V. RECIPE: Converting Concurrent DRAM Indexes to Persistent-Memory Indexes. In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP ’19), Huntsville, ON, Canada, 27–30 October 2019; pp. 462–477. [Google Scholar]
- Zhang, K.; Wang, K.; Yuan, Y.; Guo, L.; Lee, R.; Zhang, X. Mega-KV: A Case for GPUs to Maximize the Throughput of In-Memory Key-Value Stores. Proc. VLDB Endow. 2015, 8, 1226–1237. [Google Scholar] [CrossRef]
- Gray, J.; Reuter, A. Transaction Processing: Concepts and Techniques; Morgan Kaufmann: San Francisco, CA, USA, 1993. [Google Scholar]
- DeWitt, D.J.; Gerber, R. Multiprocessor hash-based join algorithms. In Proceedings of the VLDB, Stockholm, Sweden, 21–23 August 1985; pp. 151–164. [Google Scholar]
- Garcia-Molina, H.; Ullman, J.D.; Widom, J. Database Systems: The Complete Book; Pearson: London, UK, 2008. [Google Scholar]
- Zhang, B.; Du, D.H. NVLSM: A Persistent Memory Key-Value Store Using Log-Structured Merge Trees. In Proceedings of the 2021 USENIX Annual Technical Conference (USENIX ATC ’21), Santa Clara, CA, USA, 14–16 July 2021; pp. 385–398. [Google Scholar]
- Zaharia, M.; Xin, R.S.; Wendell, P.; Das, T.; Armbrust, M.; Dave, A.; Meng, X.; Rosen, J.; Venkataraman, S.; Franklin, M.J.; et al. Apache Spark: A unified engine for big data processing. Commun. ACM 2016, 59, 56–65. [Google Scholar] [CrossRef]
- Stoica, I.; Morris, R.; Karger, D.; Kaashoek, M.F.; Balakrishnan, H. Chord: A scalable peer-to-peer lookup service for Internet applications. In Proceedings of the ACM SIGCOMM, San Diego, CA, USA, 27–31 August 2001; pp. 149–160. [Google Scholar]
- Bosshart, P.; Daly, D.; Gibb, G.; Izzard, M.; McKeown, N.; Rexford, J.; Schlesinger, C.; Talayco, D.; Vahdat, A.; Varghese, G.; et al. P4: Programming protocol-independent packet processors. ACM SIGCOMM Comput. Commun. Rev. 2014, 44, 87–95. [Google Scholar] [CrossRef]
- McKeown, N.; Anderson, T.; Balakrishnan, H.; Parulkar, G.; Peterson, L.; Rexford, J.; Shenker, S.; Turner, J. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM Comput. Commun. Rev. 2008, 38, 69–74. [Google Scholar] [CrossRef]
- Chang, F.; Dean, J.; Ghemawat, S.; Hsieh, W.C.; Wallach, D.A.; Burrows, M.; Chandra, T.; Fikes, A.; Gruber, R.E. Bigtable: A Distributed Storage System for Structured Data. ACM Trans. Comput. Syst. 2008, 26, 1–26. [Google Scholar] [CrossRef]
- Geravand, S.; Ahmadi, M. Bloom filter applications in network security: A state-of-the-art survey. Comput. Netw. 2013, 57, 4047–4064. [Google Scholar]
- Anderson, P.; Zhang, L. Fast and secure laptop backups with encrypted de-duplication. In Proceedings of the USENIX Conference on Large Installation System Administration, San Jose, CA, USA, 7–12 November 2010; pp. 1–8. [Google Scholar]
- Rivest, R.L.; Shamir, A.; Adleman, L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef]
- Dobin, A.; Davis, C.A.; Schlesinger, F.; Drenkow, J.; Zaleski, C.; Jha, S.; Batut, P.; Chaisson, M.; Gingeras, T.R. STAR: Ultrafast universal RNA-seq aligner. Bioinformatics 2013, 29, 15–21. [Google Scholar]
- Marçais, G.; Kingsford, C. A fast, lock-free approach for efficient parallel counting of occurrences of k-mers. Bioinformatics 2011, 27, 764–770. [Google Scholar] [CrossRef] [PubMed]
- Broder, A. On the resemblance and containment of documents. In Proceedings of the IEEE Compression and Complexity of SEQUENCES, Salerno, Italy, 13 June 1997; pp. 21–29. [Google Scholar]
- Erbert, M.; Rechner, S.; Müller-Hannemann, M. Gerbil: A fast and memory-efficient k-mer counter with GPU support. Algorithms Mol. Biol. 2017, 12, 9. [Google Scholar]
- Indyk, P.; Motwani, R. Approximate nearest neighbors: Towards removing the curse of dimensionality. In Proceedings of the ACM STOC, Dallas, TX, USA, 23–26 May 1998; pp. 604–613. [Google Scholar]
- Johnson, J.; Douze, M.; Jégou, H. Billion-scale similarity search with FAISS. IEEE Trans. Big Data 2021, 7, 535–547. [Google Scholar]
- Li, M.; Zhou, L.; Yang, Z.; Li, A.; Xia, F.; Andersen, D.G.; Smola, A. Parameter server for distributed machine learning. In Proceedings of the USENIX OSDI, Broomfield, CO, USA, 6–8 October 2014; pp. 583–598. [Google Scholar]
- Kitaev, N.; Kaiser, L.; Levskaya, A. Reformer: The efficient transformer. In Proceedings of the ICLR, Virtual, 26–30 April 2020. [Google Scholar]
- Mitzenmacher, M.; Vadhan, S. Why simple hash functions work: Exploiting the entropy in data. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, San Fracisco, CA, USA, 20–22 January 2008; pp. 746–755. [Google Scholar]
- Zhang, G.; Sanchez, D. Leveraging Caches to Accelerate Hash Tables and Memoization. In Proceedings of the MICRO ’19: 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Columbus, OH, USA, 12–16 October 2019; pp. 805–818. [Google Scholar]
- Patrascu, M.; Thorup, M. The Power of Simple Tabulation Hashing. J. ACM 2012, 59, 1–50. [Google Scholar] [CrossRef]
- Richter, S.; Alvarez, V.; Dittrich, J. A seven-dimensional analysis of hashing methods and its implications on query processing. Proc. VLDB Endow 2015, 9, 96–107. [Google Scholar] [CrossRef]
- Mehlhorn, K.; Meyer, U. External-Memory Breadth-First Search with Sublinear I/O. In Algorithms-ESA 2002; Möhring, R., Raman, R., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2002; Volume 2461. [Google Scholar]
- Herlihy, M. Wait-free synchronization. ACM Trans. Program. Lang. Syst. 1991, 13, 124–149. [Google Scholar] [CrossRef]
- Shalev, O.; Shavit, N. Split-Ordered Lists: Lock-Free Extensible Hash Tables. J. ACM 2006, 54, 13. [Google Scholar] [CrossRef]
- Sundell, H.; Tsigas, P. Lock-free and practical doubly linked list-based deques using single-word compare-and-swap. In Proceedings of the OPODIS, Grenoble, France, 15–17 December 2004. [Google Scholar]
- Michael, M.M. Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects. IEEE Trans. Parallel Distrib. Syst. 2004, 15, 491–504. [Google Scholar] [CrossRef]
- Basu, A.; Kirman, N.; Kirman, M.; Chaudhuri, M.; Martinez, J. Scavenger: A New Last Level Cache Architecture with Global Block Priority. In Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007), Chicago, IL, USA, 1–5 December 2007; pp. 421–432. [Google Scholar]
- Chowdhury, R.A.; Ramachandran, V. The Cache-Oblivious Gaussian Elimination Paradigm: Theoretical Framework and Parallel Implementation. In Proceedings of the SPAA, Cambridge, MA, USA, 30 July–2 August 2006; pp. 171–180. [Google Scholar]
- Jünger, A.; Kobus, R.; Müller, A.; Hundt, C.; Xu, K.; Liu, W.; Schmidt, B. WarpCore: A library for fast hash tables on GPUs. arXiv 2020, arXiv:2009.07914. [Google Scholar] [CrossRef]
- Tata, N.T. MicroCuckoo Hash Engine for High-Speed IP Lookup. Master’s Thesis, Department of Computer Engineering, Virginia Polytechnic Institute and State University, Blacksburg, VA, USA, 2017; pp. 1–102. [Google Scholar]
- Pagh, A.; Pagh, R.; Ruzic, M. Linear Probing with Constant Independence. SIAM J. Comput. 2009, 39, 1107–1120. [Google Scholar] [CrossRef]
- Fujimoto, R.M. Parallel and distributed simulation systems. In Proceedings of the 2001 Winter Simulation Conference, Arlington, VA, USA, 9–12 December 2001; Volume 1, pp. 147–157. [Google Scholar]
- Li, W.; Cheng, Z.; Chen, Y.; Li, A.; Deng, L. Lock-Free Bucketized Cuckoo Hashing. In Euro-Par 2023: Parallel Processing; Cano, J., Dikaiakos, M.D., Papadopoulos, G.A., Pericàs, M., Sakellariou, R., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2023; Volume 14100, pp. 275–288. [Google Scholar]
- Eppstein, D. Cuckoo Filter: Simplification and Analysis. In Proceedings of the 15th Scandinavian Symposium and Workshops on Algorithm Theory (SWAT 2016), Reykjavík, Iceland, 22–24 June 2016; Volume 53, pp. 8:1–8:12. [Google Scholar]
- Dietzfelbinger, M.; Schellbach, U. On Risks of Using Cuckoo Hashing with Simple Universal Hash Classes. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA), New York, NY, USA, 4–6 January 2009; pp. 795–804. [Google Scholar]
- Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the IEEE Annual Symposium on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 November 1994; pp. 124–134. [Google Scholar]
- Grover, L.K. A fast quantum mechanical algorithm for database search. In Proceedings of the ACM STOC, Philadelphia, PA, USA, 22–24 May 1996; pp. 212–219. [Google Scholar]
- Ambainis, A. Quantum search algorithms. SIGACT News 2004, 35, 22–35. [Google Scholar] [CrossRef]
- Giovannetti, V.; Lloyd, S.; Maccone, L. Quantum random access memory. Phys. Rev. Lett. 2008, 100, 160501. [Google Scholar] [CrossRef]
- Eyerman, S.; Eeckhout, L. Fine-grained power modeling for modern processors. ACM SIGARCH Comput. Archit. News 2010, 38, 143–154. [Google Scholar]
- Ma, Z.; Sha, E.H.-M.; Zhuge, Q.; Jiang, W.; Zhang, R.; Gu, S. Towards the design of efficient hash-based indexing scheme for growing databases on non-volatile memory. Future Gener. Comput. Syst. 2020, 105, 1–12. [Google Scholar] [CrossRef]
- Yang, Y.; Wijeratne, S.; Zheng, D.; Prasanna, V.K. FASTHash: FPGA-Based High Throughput Parallel Hash Table. In Proceedings of the 2020 International Supercomputing Conference (ISC) Workshops, Virtual Event, 22–25 June 2020; pp. 1–9. [Google Scholar]
- Li, J.; Deng, Y.; Zhou, Y.; Zhang, Z.; Min, G.; Qin, X. Towards Thermal-Aware Workload Distribution in Cloud Data Centers Based on Failure Models. IEEE Trans. Comput. 2023, 72, 586–599. [Google Scholar]
- Kraska, A.; Beutel, A.; Chi, E.H.; Dean, J.; Polyzotis, N. The case for learned index structures. In Proceedings of the ACM SIGMOD, Houston, TX, USA, 10–15 June 2018; pp. 489–504. [Google Scholar]
- Licks, G.P.; Meneguzzi, F. Automated Database Indexing Using Model-Free Reinforcement Learning. In Proceedings of the 2020 International Conference on Automated Planning and Scheduling (ICAPS 2020), Virtual, 26–30 October 2020; pp. 329–337. [Google Scholar]
- Liong, V.E.; Lu, J.; Wang, G.; Moulin, P.; Zhou, J. Deep hashing for compact binary codes learning. In Proceedings of the IEEE Computer Vision and Pattern Recognition Conference, Boston, MA, USA, 7–12 June 2015; pp. 2475–2482. [Google Scholar]
- Marcus, R.; Negi, P.; Mao, H.; Zhang, C.; Alizadeh, M.; Kraska, T.; Papaemmanouil, O.; Tatbul, N. Neo: A Learned Query Optimizer. Proc. VLDB Endow 2019, 12, 1705–1718. [Google Scholar]
- Bellare, M.; Canetti, R.; Krawczyk, H. Keying Hash Functions for Message Authentication. In Advances in Cryptology-CRYPTO ’96; Koblitz, N., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1996; Volume 1109, pp. 1–15. [Google Scholar]
- Bar-Yosef, N.; Wool, A. Remote Algorithmic Complexity Attacks Against Randomized Hash Tables. In Proceedings of the Second International Conference on Security and Cryptography, Barcelona, Spain, 28–31 July 2007. [Google Scholar]
- Chakraborty, T.; Saia, J.; Young, M. Defending hash tables from algorithmic complexity attacks with resource burning. Theor. Comput. Sci. 2024, 2014, 114762. [Google Scholar]
- Karger, D.; Lehman, E.; Leighton, T.; Levine, M.; Lewin, D.; Panigrahy, R. Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web. In Proceedings of the 29th Annual ACM Symposium on Theory of Computing (STOC ’97), El Paso, TX, USA, 4–6 May 1997; pp. 654–663. [Google Scholar]
- Cakir, F.; He, K.; Bargal, S.A.; Sclaroff, S. MIHash: Online Hashing with Mutual Information. IEEE Trans. Pattern Anal. Mach. Intell. 2017, 41, 1572–1585. [Google Scholar]
- Misra, S.; Bland, L.C.; Cardwell, S.G.; Incorvia, J.A.C.; James, C.D.; Kent, A.D.; Schuman, C.D.; Smith, J.D.; Aimone, J.B. Probabilistic Neural Computing with Stochastic Devices. Adv. Mater. 2023, 35, 2204569. [Google Scholar] [CrossRef]
- Tapia-Fernández, S.; García-García, D.; García-Hernandez, P. Key Concepts, Weakness and Benchmark on Hash Table Data Structures. Algorithms 2022, 15, 100. [Google Scholar] [CrossRef]
- Yusuf, A.D.; Abdullahi, S.; Boukar, M.M.; Yusuf, S.I. Collision Resolution Techniques in Hash Table: A Review. Int. J. Adv. Comput. Sci. Appl. 2021, 12, 152–161. [Google Scholar] [CrossRef]
- Lehmann, H.P.; Mueller, T.; Pagh, R.; Pibiri, G.E.; Sanders, P.; Vigna, S.; Walzer, S. Modern Minimal Perfect Hashing: A Survey. arXiv 2025, arXiv:2506.06536. [Google Scholar] [CrossRef]
- Misto, S. Efficiency in Hash Table Design: A Study of Collision Resolution Strategies and Performance. Bachelor’s Thesis, Malmö University, Malmö, Sweden, 2024. [Google Scholar]
- Broder, A.; Mitzenmacher, M. Network Applications of Bloom Filters: A Survey. Internet Math. 2004, 1, 485–509. [Google Scholar] [CrossRef]
- Tarkoma, S.; Rothenberg, C.E.; Lagerspetz, E. Theory and Practice of Bloom Filters for Distributed Systems. IEEE Commun. Surv. Tutor. 2012, 14, 131–155. [Google Scholar] [CrossRef]
- Zhao, Y.; Dai, W.; Wang, S.; Xi, L.; Wang, S.; Zhang, F. A Review of Cuckoo Filters for Privacy Protection and Their Applications. Electronics 2023, 12, 2809. [Google Scholar] [CrossRef]
- Zink, T. A Survey of Hash Tables with Summaries for IP Lookup Applications; Technical Report; University of Konstanz: Konstanz, Germany, 2011. [Google Scholar]
- Wang, J.; Zhang, T.; Song, J.; Sebe, N.; Shen, H.T. A Survey on Learning to Hash. IEEE Trans. Pattern Anal. Mach. Intell. 2018, 40, 769–790. [Google Scholar] [CrossRef]
- Lua, E.K.; Crowcroft, J.; Pias, M.; Sharma, R.; Lim, S. A Survey and Comparison of Peer-to-Peer Overlay Network Schemes. IEEE Commun. Surv. Tutor. 2005, 7, 72–93. [Google Scholar]
- Luo, X.; Wang, H.; Wu, D.; Chen, C.; Deng, M.; Huang, J.; Hua, X.S. A Survey on Deep Hashing Methods. ACM Trans. Intell. Syst. Technol. 2023, 14, 3. [Google Scholar] [CrossRef]
- Wang, J.; Liu, W.; Kumar, S.; Chang, S.F. Learning to Hash for Indexing Big Data-A Survey. Proc. IEEE 2016, 104, 34–57. [Google Scholar] [CrossRef]
- Manna, A.; Dewan, D.; Sheet, D. Structured hashing with deep learning for modality, organ, and disease content sensitive medical image retrieval. Sci. Rep. 2025, 15, 8912. [Google Scholar] [CrossRef] [PubMed]
- Menezes, A.J.; van Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography; CRC Press: Boca Raton, FL, USA, 1996. [Google Scholar]
- Bellare, M.; Rogaway, P. Random Oracles Are Practical: A Paradigm for Designing Efficient Protocols. In Proceedings of the ACM Conference Computer and Communications Security (CCS ’93), Fairfax, VA, USA, 3–5 November 1993; pp. 62–73. [Google Scholar]
- Wang, Q.; Lu, Y.; Li, J.; Xie, M.; Shu, J. Nap: Persistent Memory Indexes for NUMA Architectures. ACM Trans. Storage 2022, 18, 2. [Google Scholar] [CrossRef]
- Jamil, S.; Salam, A.; Khan, A.; Burgstaller, B.; Park, S.S.; Kim, Y. Scalable NUMA-aware persistent B+-tree for non-volatile memory devices. Clust. Comput. 2023, 26, 2865–2881. [Google Scholar] [CrossRef]
- Coburn, J.; Caulfield, A.M.; Akel, A.; Grupp, L.M.; Gupta, R.K.; Jhala, R.; Swanson, S. NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’11), Newport Beach, CA, USA, 5–11 March 2011; pp. 105–118. [Google Scholar]
- Chang, C.; Zhang, Z.; Zhou, Y.; Li, J. Uncertainty-Aware Discrete Hashing for Low-Risk Binary Code Generation. Inf. Sci. 2025, 660, 2671. [Google Scholar]
- Karras, A.; Karras, C.; Schizas, N.; Sioutas, S.; Zaroliagis, C. Algorithmic Aspects of Distributed Hash Tables on Cloud, Fog, and Edge Computing Applications: A Survey. In Algorithmic Aspects of Cloud Computing. ALGOCLOUD 2023; Chatzigiannakis, I., Karydis, I., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2024; Volume 14053. [Google Scholar]
- Balatsouras, C.-P.; Karras, A.; Karras, C.; Karydis, I.; Sioutas, S. WiCHORD+: A Scalable, Sustainable, and P2P Chord-Based Ecosystem for Smart Agriculture Applications. Sensors 2023, 23, 9486. [Google Scholar]
- Gagniuc, P.A. Antivirus Engines: From Methods to Innovations, Design, and Applications; Elsevier Syngress: Cambridge, MA, USA, 2024; pp. 1–656. [Google Scholar]

| Class | Representative Algorithms | Primary Property | Typical Use |
|---|---|---|---|
| Multiplicative | Knuth method, Fibonacci hashing | Uniform key spreading via multiplication by irrational constants | Compiler symbol tables |
| Modular | Division and prime modulus hashing | Fast integer modular arithmetic | General-purpose hashing |
| Universal | Carter-Wegman families | Controlled collision probability | Randomized algorithms |
| Perfect | CHD, BDZ, FCH | Zero-collision static mapping | Databases, compilers |
| Cryptographic | SHA-256, BLAKE3 | Collision and preimage resistance | Security, integrity checking |
| Non-cryptographic | MurmurHash, CityHash | Speed and practical uniformity | Data indexing, hash tables |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Gagniuc, P.A.; Togan, M. Hash Tables as Engines of Randomness at the Limits of Computation: A Unified Review of Algorithms. Algorithms 2025, 18, 804. https://doi.org/10.3390/a18120804
Gagniuc PA, Togan M. Hash Tables as Engines of Randomness at the Limits of Computation: A Unified Review of Algorithms. Algorithms. 2025; 18(12):804. https://doi.org/10.3390/a18120804
Chicago/Turabian StyleGagniuc, Paul A., and Mihai Togan. 2025. "Hash Tables as Engines of Randomness at the Limits of Computation: A Unified Review of Algorithms" Algorithms 18, no. 12: 804. https://doi.org/10.3390/a18120804
APA StyleGagniuc, P. A., & Togan, M. (2025). Hash Tables as Engines of Randomness at the Limits of Computation: A Unified Review of Algorithms. Algorithms, 18(12), 804. https://doi.org/10.3390/a18120804

