## 3.5-Way Cuckoo Hashing for the Price of 2-and-a-Bit

Citations: | 1 - 0 self |

### BibTeX

@MISC{Lehman_3.5-waycuckoo,

author = {Eric Lehman and Rina Panigrahy},

title = {3.5-Way Cuckoo Hashing for the Price of 2-and-a-Bit},

year = {}

}

### OpenURL

### Abstract

Abstract. The study of hashing is closely related to the analysis of balls and bins; items are hashed to memory locations much as balls are thrown into bins. In particular, Azar et. al. [2] considered putting each ball in the less-full of two random bins. This lowers the probability that a bin exceeds a certain load from exponentially small to doubly exponential, giving maximum load log log n + O(1) with high probability. Cuckoo hashing [20] draws on this idea. Each item is hashed to two buckets of capacity k. If both are full, then the insertion procedure moves previously-inserted items to their alternate buckets to make space for the new item. In a natural implementation, the buckets are represented by partitioning a fixed array of memory into non-overlapping blocks of size k. An item is hashed to two such blocks and may be stored at any location within either one. We analyze a simple twist in which each item is hashed to two arbitrary size-k memory blocks. (So consecutive blocks are no longer disjoint, but rather overlap by k − 1 locations.) This twist increases the space utilization from 1 − (2/e + o(1)) k to 1 − (1/e + o(1)) 1.59k in general. For k = 2, the new method improves utilization from 89.7 % to 96.5%, yet lookups access only two items at each of two random locations. This result is surprising because the opposite happens in the non-cuckoo setting; if items are not moved during later insertions, then shifting from non-overlapping to overlapping blocks makes the distribution less uniform. 1

### Citations

106 | Sudden emergence of a giant k-core in a random graph
- Pittel, Spencer, et al.
- 1996
(Show Context)
Citation Context ...e of dense subgraphs in random graphs was studied in [14, 6]. These build upon earlier works that investigate the appearance of a k-core – a subgraph with minimum degree at least k – in random graphs =-=[3, 16]-=-. Other related work includes the first static dictionary data structure with constant look up time by Fredman, Komlos and Szemeredi [15] that was generalized to a dynamic data structure by Dietzfelbi... |

69 | Using multiple hash functions to improve IP lookups
- Broder, Mitzenmacher
- 2001
(Show Context)
Citation Context ...he most-loaded bucket gets log log n+O(1) items with high probability. So dramatic is this improvement that it can be used in practice to efficiently implement hash lookups in packet routing hardware =-=[5]-=-. The lookup operation must search for an item in two buckets, but these operations can be parallelized in hardware by placing two different hash tables in separate memory components. More generally, ... |

58 | Balanced allocations: the heavily loaded case
- Berenbrink, Czumaj, et al.
- 2000
(Show Context)
Citation Context ...tmost bin. With this simple change,the maximum load drops to O(log log n/d). He also showed that breaking ties in this way is the best possible policy to minimize the maximum load. Berenbrink et al. =-=[4]-=- extended the balls and bins analysis to the case where the number of balls m is greater than the number of bins n, showing that the difference in the height of the minimum and maximum bin is independ... |

57 | L.: Parallel Randomized Load Balancing
- Adler, Chakrabarti, et al.
- 1995
(Show Context)
Citation Context .... Weighted analysis of balls and bins was studied in [23]. Multi-choice hashing with a limited number of moves was studied in [21]. Extensive work has been done in the area of parallel balls and bins =-=[1]-=- and the related study of algorithms to emulate shared memory machines (as for example, PRAMs) on distributed memory machines (DMMs) [8, 7, 13, 22]. More recent works have studied the idea of using a ... |

38 |
auf der Heide. Simple, efficient shared memory simulations
- Dietzfelbinger, Meyer
- 1993
(Show Context)
Citation Context ...nsive work has been done in the area of parallel balls and bins [1] and the related study of algorithms to emulate shared memory machines (as for example, PRAMs) on distributed memory machines (DMMs) =-=[8, 7, 13, 22]-=-. More recent works have studied the idea of using a small CAM (content-addressable memory) in conjunction with cuckoo hashing to lower the insert/delete time [18, 19]. Arbitman et al. [25] proved tha... |

21 | Shared memory simulations with triple-logarithmic delay - Czumaj, Heide, et al. - 1995 |

21 | Almost random graphs with simple hash functions
- Dietzfelbinger, Woelfel
- 2003
(Show Context)
Citation Context ...ilization of 50% with high probability. Several generalizations of cuckoo hashing perform even better. Fotakis et al [12] suggested hashing each item to d > 2 buckets, and Dietzfelbinger and Weidling =-=[9]-=- suggested using buckets with capacity k > 1. One appealing choice is to hash items to d = 2 buckets of capacity k = 2, which gives 89.7% [21, 14, 6] space utilization. (The latter two references impr... |

16 |
Friedhelm Meyer auf der Heide. A new universal class of hash functions and dynamic hashing in real time
- Dietzfelbinger
- 1990
(Show Context)
Citation Context ...ludes the first static dictionary data structure with constant look up time by Fredman, Komlos and Szemeredi [15] that was generalized to a dynamic data structure by Dietzfelbinger et al. in [11] and =-=[10]-=-. In practice, however, these algorithms are more complex to implement than cuckoo hashing. 3 Our Contribution We propose a new twist on multi-choice hashing that significantly improves memory utiliza... |

13 | N.: The random graph threshold for korientiability and a fast algorithm for optimal multiple-choice allocation
- Cain, Sanders, et al.
- 2007
(Show Context)
Citation Context ...ach item to d > 2 buckets, and Dietzfelbinger and Weidling [9] suggested using buckets with capacity k > 1. One appealing choice is to hash items to d = 2 buckets of capacity k = 2, which gives 89.7% =-=[21, 14, 6]-=- space utilization. (The latter two references improve upon the earlier, weaker estimate.) More generally, the analysis of cuckoo hashing is related to the appearance of dense subgraphs in random grap... |