Fast hash table lookup using extended bloom filter: an aid to network processing

  • Authors:
  • Haoyu Song;Sarang Dharmapurikar;Jonathan Turner;John Lockwood

  • Affiliations:
  • Washington University in Saint Louis, Saint Louis, MO;Washington University in Saint Louis, Saint Louis, MO;Washington University in Saint Louis, Saint Louis, MO;Washington University in Saint Louis, Saint Louis, MO

  • Venue:
  • Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hash tables are fundamental components of several network processing algorithms and applications, including route lookup, packet classification, per-flow state management and network monitoring. These applications, which typically occur in the data-path of high-speed routers, must process and forward packets with little or no buffer, making it important to maintain wire-speed throughout. A poorly designed hash table can critically affect the worst-case throughput of an application, since the number of memory accesses required for each lookup can vary. Hence, high throughput applications require hash tables with more predictable worst-case lookup performance. While published papers often assume that hash table lookups take constant time, there is significant variation in the number of items that must be accessed in a typical hash table search, leading to search times that vary by a factor of four or more.We present a novel hash table data structure and lookup algorithm which improves the performance over a naive hash table by reducing the number of memory accesses needed for the most time-consuming lookups. This allows designers to achieve higher lookup performance for a given memory bandwidth, without requiring large amounts of buffering in front of the lookup engine. Our algorithm extends the multiple-hashing Bloom Filter data structure to support exact matches and exploits recent advances in embedded memory technology. Through a combination of analysis and simulations we show that our algorithm is significantly faster than a naive hash table using the same amount of memory, hence it can support better throughput for router applications that use hash tables.