TY - GEN
T1 - Backyard cuckoo hashing
T2 - 2010 IEEE 51st Annual Symposium on Foundations of Computer Science, FOCS 2010
AU - Arbitman, Yuriy
AU - Naor, Moni
AU - Segev, Gil
PY - 2010
Y1 - 2010
N2 - The performance of a dynamic dictionary is measured mainly by its update time, lookup time, and space consumption. In terms of update time and lookup time there are known constructions that guarantee constant-time operations in the worst case with high probability, and in terms of space consumption there are known constructions that use essentially optimal space. However, although the first analysis of a dynamic dictionary dates back more than 45 years ago (when Knuth analyzed linear probing in 1963), the trade-off between these aspects of performance is still not completely understood. In this paper we settle two fundamental open problems: • We construct the first dynamic dictionary that enjoys the best of both worlds: it stores n elements using (1 + ε)n memory words, and guarantees constant-time operations in the worst case with high probability. Specifically, for any ε = Ω((log log n/log n)1/2) and for any sequence of polynomially many operations, with high probability over the randomness of the initialization phase, all operations are performed in constant time which is independent of ε. The construction is a two-level variant of cuckoo hashing, augmented with a "backyard" that handles a large fraction of the elements, together with a de-amortized perfect hashing scheme for eliminating the dependency on ε. • We present a variant of the above construction that uses only (1 + o(1))B bits, where B is the information-theoretic lower bound for representing a set of size n taken from a universe of size u, and guarantees constant-time operations in the worst case with high probability, as before. This problem was open even in the amortized setting. One of the main ingredients of our construction is a permutation-based variant of cuckoo hashing, which significantly improves the space consumption of cuckoo hashing when dealing with a rather small universe.
AB - The performance of a dynamic dictionary is measured mainly by its update time, lookup time, and space consumption. In terms of update time and lookup time there are known constructions that guarantee constant-time operations in the worst case with high probability, and in terms of space consumption there are known constructions that use essentially optimal space. However, although the first analysis of a dynamic dictionary dates back more than 45 years ago (when Knuth analyzed linear probing in 1963), the trade-off between these aspects of performance is still not completely understood. In this paper we settle two fundamental open problems: • We construct the first dynamic dictionary that enjoys the best of both worlds: it stores n elements using (1 + ε)n memory words, and guarantees constant-time operations in the worst case with high probability. Specifically, for any ε = Ω((log log n/log n)1/2) and for any sequence of polynomially many operations, with high probability over the randomness of the initialization phase, all operations are performed in constant time which is independent of ε. The construction is a two-level variant of cuckoo hashing, augmented with a "backyard" that handles a large fraction of the elements, together with a de-amortized perfect hashing scheme for eliminating the dependency on ε. • We present a variant of the above construction that uses only (1 + o(1))B bits, where B is the information-theoretic lower bound for representing a set of size n taken from a universe of size u, and guarantees constant-time operations in the worst case with high probability, as before. This problem was open even in the amortized setting. One of the main ingredients of our construction is a permutation-based variant of cuckoo hashing, which significantly improves the space consumption of cuckoo hashing when dealing with a rather small universe.
UR - http://www.scopus.com/inward/record.url?scp=78751481420&partnerID=8YFLogxK
U2 - 10.1109/FOCS.2010.80
DO - 10.1109/FOCS.2010.80
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:78751481420
SN - 9780769542447
T3 - Proceedings - Annual IEEE Symposium on Foundations of Computer Science, FOCS
SP - 787
EP - 796
BT - Proceedings - 2010 IEEE 51st Annual Symposium on Foundations of Computer Science, FOCS 2010
PB - IEEE Computer Society
Y2 - 23 October 2010 through 26 October 2010
ER -