[Paper Review] Iceberg Hashing: Optimizing Many Hash-Table Criteria at Once
Iceberg hashing introduces a novel hash table design that simultaneously achieves optimal guarantees for constant-time operations, high load factor (up to 1−o(1)), space efficiency, cache efficiency, referential stability, and very-high probability correctness. It leverages a new indirection-free dynamic resizing technique called 'waterfall addressing' and stability-preserving mechanisms within the front-yard/backyard paradigm, matching the information-theoretic lower bound on space for stable hash tables.
Despite being one of the oldest data structures in computer science, hash tables continue to be the focus of a great deal of both theoretical and empirical research. A central reason for this is that many of the fundamental properties that one desires from a hash table are difficult to achieve simultaneously; thus many variants offering different trade-offs have been proposed. This paper introduces Iceberg hashing, a hash table that simultaneously offers the strongest known guarantees on a large number of core properties. Iceberg hashing supports constant-time operations while improving on the state of the art for space efficiency, cache efficiency, and low failure probability. Iceberg hashing is also the first hash table to support a load factor of up to $1 - o(1)$ while being stable, meaning that the position where an element is stored only ever changes when resizes occur. In fact, in the setting where keys are $Θ(\log n)$ bits, the space guarantees that Iceberg hashing offers, namely that it uses at most $\log \binom{|U|}{n} + O(n \log \log n)$ bits to store $n$ items from a universe $U$, matches a lower bound by Demaine et al. that applies to any stable hash table. Iceberg hashing introduces new general-purpose techniques for some of the most basic aspects of hash-table design. Notably, our indirection-free technique for dynamic resizing, which we call waterfall addressing, and our techniques for achieving stability and very-high probability guarantees, can be applied to any hash table that makes use of the front-yard/backyard paradigm for hash table design.
Motivation & Objective
- To address the long-standing challenge of simultaneously achieving multiple desirable hash table properties, such as constant-time operations, high load factor, space efficiency, cache efficiency, referential stability, and very-high probability correctness.
- To close the gap between theoretical guarantees and practical performance by unifying previously conflicting design goals in hash table construction.
- To develop a stable, dynamically resizable hash table that matches the information-theoretic lower bound on space usage for stable tables.
- To introduce general-purpose techniques—particularly waterfall addressing and stability-preserving mechanisms—that can be applied to other front-yard/backyard hash table designs.
- To demonstrate that subpolynomial failure probability and worst-case constant-time operations can be achieved together with high load factors and dynamic resizing.
Proposed method
- Introduces 'waterfall addressing'—an indirection-free dynamic resizing technique that enables stable, cache-efficient resizing without pointers or indirect references.
- Employs a front-yard/backyard architecture where the front yard holds active elements and the backyard manages overflow, with records moved back to the front yard during resizing.
- Uses a novel hashing strategy that ensures referential stability by only relocating elements during table resizes, preserving pointer validity.
- Applies techniques from deamortized Cuckoo hashing and succinct data structures to achieve worst-case constant-time operations with high probability.
- Leverages the external memory model to ensure 1+o(1) cache misses per operation, achieving near-optimal cache efficiency.
- Employs a carefully designed hash function family that supports subpolynomial failure probability (1/2^{polylog n}) while maintaining worst-case performance guarantees.
Experimental results
Research questions
- RQ1Can a hash table simultaneously achieve constant-time operations, high load factor (1−o(1)), referential stability, space efficiency, and very-high probability correctness?
- RQ2Is it possible to design a dynamically resizable hash table that maintains stability and matches the information-theoretic space lower bound for stable tables?
- RQ3Can an indirection-free dynamic resizing mechanism be designed that avoids pointer overhead while preserving cache efficiency and constant-time performance?
- RQ4What is the minimal failure probability achievable under worst-case guarantees for dynamic, high-load-factor hash tables?
- RQ5Can the front-yard/backyard paradigm be enhanced with new techniques to unify stability, space efficiency, and performance guarantees?
Key findings
- Iceberg hashing achieves a space usage of log(∣U∣ choose n) + O(n log log n) bits, matching the information-theoretic lower bound for stable hash tables.
- It supports a load factor of 1−o(1), which is the highest known for any stable hash table.
- The table guarantees O(1) time for all operations (insert, delete, query) with high probability, and 1+o(1) cache misses per operation.
- Waterfall addressing enables dynamic resizing without indirection, eliminating pointer overhead and improving data locality.
- The failure probability is subpolynomial (1/2^{polylog n}), which is the best known for worst-case constant-time operations.
- The techniques, especially waterfall addressing and stability-preserving mechanisms, are general and applicable to any front-yard/backyard hash table design.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.