Hash Table Collision Management via Multiple Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hash-based search tables in data networking suffer from high collision probabilities, leading to unpredictable latency and reduced throughput, especially in full tables, which is unacceptable for high-performance applications like MPLS label switch routing where collisions cannot be resolved by removal of entries.
Innovation Solution
A multiple hash algorithm with oversized pointer tables and a firmware-assisted cuckoo algorithm to resolve collisions, reducing collision probability and maintaining deterministic latency and high throughput by using indirect tables to increase the hash space and employing a non-real-time cuckoo mechanism for collision-less operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a hash-based search table is used to achieve high search rates and low latency, then search performance is improved, but collision probability increases as the table becomes full
Solution Approach 1:
The patent transitions from a single hash function to multiple parallel hash functions (2-way, 4-way, or 8-way hashing), adding a dimensional aspect to the hash computation. This allows the system to distribute entries across multiple hash tables, significantly reducing collision probability while maintaining high search rates through parallel lookup operations.
Solution Approach 2:
The patent divides a single large hash table into multiple smaller hash tables (e.g., 8 hash tables in an 8-way hash system). Each hash function maps to a specific subset of these tables, segmenting the collision space and reducing the likelihood of collisions within each individual table while maintaining overall system capacity.
2Reliability
If multiple hash functions are employed to reduce collision probability, then collision probability is reduced, but implementation size and number of memory accesses increase
Solution Approach 1:
The patent implements a hierarchical approach where multiple hash functions are available but not all are executed for every search. The system attempts lookups in parallel across multiple hash tables, but stops as soon as a match is found. This partial execution strategy reduces the average number of memory accesses while maintaining the collision-reduction benefits of multiple hash functions.
3Ease of manufacture
If a simple hash function is used to minimize implementation complexity, then ease of manufacture is improved, but collision probability becomes unacceptably high
Solution Approach 1:
The patent creates a universal hash table structure that can operate with different numbers of hash functions (2-way, 4-way, or 8-way) depending on the application requirements. The same basic hardware architecture supports multiple levels of parallelism, providing a universal solution that balances implementation complexity and collision probability based on specific performance needs.
Data Source
AI summary
A high efficiency search table is implemented with a multiple hash algorithm. The search table allows for exact match searching of arbitrary data sets with fixed latency. The probability of collisions from the hash algorithms is reduced through the use of oversized pointer tables allowing for a level of indirection between hash values and table entries. In the event of a collision in all hash functions, a firmware assisted cuckoo algorithm is employed to resolve the collision.


