Skip to main content
QUICK REVIEW

[Paper Review] Iceberg Hashing: Optimizing Many Hash-Table Criteria at Once

Michael A. Bender, Alex Conway|arXiv (Cornell University)|Sep 9, 2021
Caching and Content Delivery4 citations
TL;DR

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.

ABSTRACT

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.