Lune

SODA2025Top-tier venue

Efficient d-ary Cuckoo Hashing at High Load Factors by Bubbling Up

William Kuszmaul, Michael Mitzenmacher

2025Year
2Citations
2Top-tier citations

Abstract

A d-ary cuckoo hash table is an open-addressed hash table that stores each key x in one of d random positions h 1 (x), h 2 (x), . . . , h d (x). In the offline setting, where all items are given and keys need only be matched to locations, it is possible to support a load factor of 1 -ǫ while using d = ⌈ln ǫ -1 + o(1)⌉ hashes. The online setting, where keys are moved as new keys arrive sequentially, has the additional challenge of the time to insert new keys, and it has not been known whether one can use d = O(ln ǫ -1 ) hashes to support poly(ǫ -1 ) expected-time insertions.

In this paper, we introduce bubble-up cuckoo hashing, an implementation of d-ary cuckoo hashing that achieves all of the following properties simultaneously:

• uses d = ⌈ln ǫ -1 + α⌉ hash locations per item for an arbitrarily small positive constant α.

• achieves expected insertion time O(δ -1 ) for any insertion taking place at load factor 1 -δ ≤ 1 -ǫ.

• achieves expected positive query time O(1), independent of d and ǫ. The first two properties give an essentially optimal value of d without compromising insertion time. The third property is interesting even in the offline setting: it says that, even though negative queries must take time d, positive queries can actually be implemented in O(1) expected time, even when d is large.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

Cited by top-tier papers2

Ask how each one uses it

Builds on1

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines