Load Thresholds for Cuckoo Hashing with Overlapping Blocks [article]

Stefan Walzer
2019 arXiv   pre-print
Dietzfelbinger and Weidling [DW07] proposed a natural variation of cuckoo hashing where each of cn objects is assigned k = 2 intervals of size ℓ in a linear (or cyclic) hash table of size n and both start points are chosen independently and uniformly at random. Each object must be placed into a table cell within its intervals, but each cell can only hold one object. Experiments suggested that this scheme outperforms the variant with blocks in which intervals are aligned at multiples of ℓ. In
more » ... ticular, the load threshold is higher, i.e. the load c that can be achieved with high probability. For instance, Lehman and Panigrahy [LP09] empirically observed the threshold for ℓ = 2 to be around 96.5% as compared to roughly 89.7% using blocks. They managed to pin down the asymptotics of the thresholds for large ℓ, but the precise values resisted rigorous analysis. We establish a method to determine these load thresholds for all ℓ≥ 2, and, in fact, for general k ≥ 2. For instance, for k = ℓ = 2 we get ≈ 96.4995%. The key tool we employ is an insightful and general theorem due to Leconte, Lelarge, and Massoulié [LLM13], which adapts methods from statistical physics to the world of hypergraph orientability. In effect, the orientability thresholds for our graph families are determined by belief propagation equations for certain graph limits. As a side note we provide experimental evidence suggesting that placements can be constructed in linear time with loads close to the threshold using an adapted version of an algorithm by Khosla [Kho13].
arXiv:1707.06855v3 fatcat:7gxt2srj6zbkvicj4kketnugem