Small forwarding tables for fast routing lookups
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Efficient Hardware Hashing Functions for High Performance Computers
IEEE Transactions on Computers
Fast address lookups using controlled prefix expansion
ACM Transactions on Computer Systems (TOCS)
SIAM Journal on Computing
Space/time trade-offs in hash coding with allowable errors
Communications of the ACM
A note on storage fragmentation and program segmentation
Communications of the ACM
Introduction to Algorithms
Fast Updating Algorithms for TCAMs
IEEE Micro
ESA '01 Proceedings of the 9th Annual European Symposium on Algorithms
How asymmetry helps load balancing
Journal of the ACM (JACM)
Reducing TCAM Power Consumption and Increasing Throughput
HOTI '02 Proceedings of the 10th Symposium on High Performance Interconnects HOT Interconnects
Efficient construction of multibit tries for IP lookup
IEEE/ACM Transactions on Networking (TON)
IPStash: a Power-Efficient Memory Architecture for IP-lookup
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
A Tree Based Router Search Engine Architecture with Single Port Memories
Proceedings of the 32nd annual international symposium on Computer Architecture
Fast hash table lookup using extended bloom filter: an aid to network processing
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Algorithms for advanced packet classification with ternary CAMs
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture
Proceedings of the 33rd annual international symposium on Computer Architecture
CAMP: fast and efficient IP lookup architecture
Proceedings of the 2006 ACM/IEEE symposium on Architecture for networking and communications systems
Efficient Construction of Pipelined Multibit-Trie Router-Tables
IEEE Transactions on Computers
High Performance Switches and Routers
High Performance Switches and Routers
Network Algorithmics,: An Interdisciplinary Approach to Designing Fast Networked Devices (The Morgan Kaufmann Series in Networking)
Dynamic Tree Bitmap for IP Lookup and Update
ICN '07 Proceedings of the Sixth International Conference on Networking
Simple summaries for hashing with choices
IEEE/ACM Transactions on Networking (TON)
An Efficient Hardware-Based Multi-hash Scheme for High Speed IP Lookup
HOTI '08 Proceedings of the 2008 16th IEEE Symposium on High Performance Interconnects
CHAP: Enabling Efficient Hardware-Based Multiple Hash Schemes for IP Lookup
NETWORKING '09 Proceedings of the 8th International IFIP-TC 6 Networking Conference
Reducing dynamic power dissipation in pipelined forwarding engines
ICCD'09 Proceedings of the 2009 IEEE international conference on Computer design
Progressive hashing for packet processing using set associative memory
Proceedings of the 5th ACM/IEEE Symposium on Architectures for Networking and Communications Systems
Hardware-based IP lookup using n-way set associative memory and LPM comparator
SAMOS'06 Proceedings of the 6th international conference on Embedded Computer Systems: architectures, Modeling, and Simulation
IP-address lookup using LC-tries
IEEE Journal on Selected Areas in Communications
A novel scalable IPv6 lookup scheme using compressed pipelined tries
NETWORKING'11 Proceedings of the 10th international IFIP TC 6 conference on Networking - Volume Part I
Hi-index | 0.00 |
Building a high performance IP packet forwarding (PF) engine remains a challenge due to increasingly stringent throughput requirements and the growing size of IP forwarding tables. The router has to match the incoming packet's IP address against all entries in the forwarding table. The matching process has to be done at increasingly higher wire speed; hence, scalability and low power consumption are critical for PF engines. Various hash table based schemes have been considered for use in PF engines. Set associative memory can be used for hardware implementations of hash tables with the property that each bucket of a hash table can be searched in a single memory cycle. However, the classic hashing downsides, such as collisions and worst case memory access time have to be dealt with. While open addressing hash tables, in general, provide good average case search performance, their memory utilization and worst case performance can degrade quickly due to collisions (that lead to bucket overflows). The two standard solutions to the overflow problem are either to use predefined probing (e.g., linear or quadratic probing) or to use multiple hash functions. This work presents two new simple hash schemes that extend both aforementioned solutions to tackle the overflow problem efficiently. The first scheme is a hash probing scheme that is called Content-based HAsh Probing (CHAP). As the name suggests, CHAP, based on the content of the hash table, avoids the classical side effects of predefined hash probing methods (i.e., primary and secondary clustering phenomena) and at the same time reduces the overflow. The second scheme, called Progressive Hashing (PH), is a general multiple hash scheme that reduces the overflow as well. The basic idea of PH is to split the prefixes into groups where each group is assigned one hash function, then reuse some hash functions in a progressive fashion to reduce the overflow. Both schemes are amenable to high-performance hardware implementations with low overflow and constant worst-case memory access time. We show by experimenting with real IP lookup tables and synthetic traces that both schemes outperform other existing hashing schemes.