## Perfect hashing for network applications (2006)

Venue: | IN IEEE SYMPOSIUM ON INFORMATION THEORY |

Citations: | 11 - 1 self |

### BibTeX

@INPROCEEDINGS{Lu06perfecthashing,

author = {Yi Lu and Balaji Prabhakar and Flavio Bonomi},

title = {Perfect hashing for network applications},

booktitle = {IN IEEE SYMPOSIUM ON INFORMATION THEORY},

year = {2006},

pages = {2774--2778},

publisher = {IEEE Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

Hash tables are a fundamental data structure in many network applications, including route lookups, packet classification and monitoring. Often a part of the data path, they need to operate at wire-speed. However, several associative memory accesses are needed to resolve collisions, making them slower than required. This motivates us to consider minimal perfect hashing schemes, which reduce the number of memory accesses to just 1 and are also space-efficient. Existing perfect hashing algorithms are not tailored for network applications because they take too long to construct and are hard to implement in hardware. This paper introduces a hardware-friendly scheme for minimal perfect hashing, with space requirement approaching 3.7 times the information theoretic lower bound. Our construction is several orders faster than existing perfect hashing schemes. Instead of using the traditional mapping-partitioning-searching methodology, our scheme employs a Bloom filter, which is known for its simplicity and speed. We extend our scheme to the dynamic setting, thus handling insertions and deletions.

### Citations

1593 | Space/time trade-offs in hash coding with allowable errors
- Bloom
- 1970
(Show Context)
Citation Context ... It is very important to minimize the number of off-chip memory accesses and there has been much work on this recently. For example, Song et. al. [1] proposed a fast hash table based on Bloom filters =-=[2]-=- and the d-left scheme [3], while Kirsch and Mitzenmacher [4] proposed an on-chip summary that speeds up accesses to an off-chip, multi-level hash table, originally proposed by Broder and Karlin [5]. ... |

744 |
The Art of Computer Programming, volume 3: Sorting and Searching
- Knuth
- 1973
(Show Context)
Citation Context ...it for the key. A unique bit is illustrated in Figure 1. Algorithm Overview We use a sequence of CBFs of different sizes. The keys without a unique bit in the previous filter are carried over 1 Knuth =-=[12]-=- also notes the difficulty in computing minimal perfect hash functions. He estimates that to find h for the list of 31 frequently occurring English words, out of the universe of all English words, a s... |

217 |
Storing a sparse table with O(1) worst case access time
- Fredman, Komlós, et al.
- 1984
(Show Context)
Citation Context ...ng function is perfect. More details can be found in [9], [7]. Fredman, Komlós and Szemerédi constructed a data structure that uses space n + o(n) and accommodates membership queries in constant time =-=[10]-=-. Fox et. al. [9] constructed an algorithm for large data sets whose encoding size is very close to the theoretical lower bound, i.e., around 2.5 bits per key. They also carried out experiments on 3.8... |

70 | Using multiple hash functions to improve IP lookups
- Broder, Mitzenmacher
(Show Context)
Citation Context ...inimize the number of off-chip memory accesses and there has been much work on this recently. For example, Song et. al. [1] proposed a fast hash table based on Bloom filters [2] and the d-left scheme =-=[3]-=-, while Kirsch and Mitzenmacher [4] proposed an on-chip summary that speeds up accesses to an off-chip, multi-level hash table, originally proposed by Broder and Karlin [5]. Our approach differs from ... |

65 | Fast hash table lookup using extended bloom filter: an aid to network processing
- Song, Dharmapurikar, et al.
(Show Context)
Citation Context ...few tens of nanoseconds. Despite the advance in the embedded memory technology, it is still not possible to accommodate a hash table, often with hundreds of thousands of entries, in an on-chip memory =-=[1]-=-. Therefore, hash tables are stored in larger but slower off-chip memories. It is very important to minimize the number of off-chip memory accesses and there has been much work on this recently. For e... |

49 |
On the size of separating systems and families of perfect hashing functions
- Fredman, Komlós
- 1984
(Show Context)
Citation Context ...us Work. Fredman and Komlós used a counting argument to prove a worst-case lower bound of n log e+log log u− O(log n) for the encoding size of a minimal perfect hash function, provided that u ≥ n 2+ɛ =-=[7]-=-. The bound is almost tight as the upper bound given by Mehlhorn is n log e + log log u + O(log n) bits [8]. However, Mehlhorn‘s algorithm has a construction time of order n Θ(nen u log u) . One often... |

47 |
Multilevel adaptive hashing
- Broder, Karlin
- 1990
(Show Context)
Citation Context ...s [2] and the d-left scheme [3], while Kirsch and Mitzenmacher [4] proposed an on-chip summary that speeds up accesses to an off-chip, multi-level hash table, originally proposed by Broder and Karlin =-=[5]-=-. Our approach differs from the above in the construction phase: we construct a perfect hash function on-chip without consulting the off-chip memory. Moreover, the off-chip memory is a simple list sto... |

23 |
Mehlhorn, Friedhelm Meyer Auf Der
- Dietzfelbinger, Karlin, et al.
(Show Context)
Citation Context ... log u) encoding space, constant lookup time and O(n + log log u) expected construction time using similar approaches [6]. The dynamic perfect hashing problem was considered by Dietzfelbinger et. al. =-=[11]-=-. Their scheme takes O(1) worstcase time for lookups and O(1) amortized expected time for insertions and deletions; it uses O(n) space.sB. Our Approach Fig. 1. Counting Bloom Filter and Unique Bits Be... |

20 | A faster algorithm for constructing minimal perfect hash functions
- Fox, Chen, et al.
- 1992
(Show Context)
Citation Context ...n on S with a smaller range. Partitioning separates the keys into subgroups. And searching finds a hash value for each subgroup so that the resulting function is perfect. More details can be found in =-=[9]-=-, [7]. Fredman, Komlós and Szemerédi constructed a data structure that uses space n + o(n) and accommodates membership queries in constant time [10]. Fox et. al. [9] constructed an algorithm for large... |

17 |
Data structures and algorithms. Vol.1. Sorting and Searching
- Mehlhorn
- 1984
(Show Context)
Citation Context ...− O(log n) for the encoding size of a minimal perfect hash function, provided that u ≥ n 2+ɛ [7]. The bound is almost tight as the upper bound given by Mehlhorn is n log e + log log u + O(log n) bits =-=[8]-=-. However, Mehlhorn‘s algorithm has a construction time of order n Θ(nen u log u) . One often-used approach to search for a minimal perfect hash function involves three stages: mapping, partitioning a... |

9 | Simple Summaries for Hashing with Multiple Choices
- Kirsch, Mitzenmacher
- 2005
(Show Context)
Citation Context ...ry accesses and there has been much work on this recently. For example, Song et. al. [1] proposed a fast hash table based on Bloom filters [2] and the d-left scheme [3], while Kirsch and Mitzenmacher =-=[4]-=- proposed an on-chip summary that speeds up accesses to an off-chip, multi-level hash table, originally proposed by Broder and Karlin [5]. Our approach differs from the above in the construction phase... |