Hash Table Organization via Key Entropy Transformation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hash tables in network switches face inefficiencies due to collisions and poor first miss utilization (FMU) caused by hash functions that fail to distribute keys effectively across all entries, especially when keys have low entropy, leading to suboptimal storage and retrieval of network packet data.
Innovation Solution
The implementation of a key transformation block that increases key entropy by applying orthogonal transformations and hash functions to map low-entropy keys into a higher entropy space, enhancing the distribution of keys across hash table partitions and reducing collisions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If standard hash functions are used to store packet data, then storage operations are simple, but key distribution is poor leading to high collision rates
Solution Approach 1:
The patent introduces a key transformation block as an intermediary component between the hash function and hash table. This block applies orthogonal transformations (such as XOR with magic numbers, bit rotations, and permutations) to transform low-entropy keys into high-entropy keys before hashing. The intermediary transforms the key space to achieve uniform distribution across hash table entries, resolving the contradiction between simple storage and poor key distribution.
Solution Approach 2:
The patent changes the entropy parameter of keys by applying a series of transformations including XOR operations with predetermined magic numbers, bit rotations, and permutations. These parameter changes convert low-entropy input keys into high-entropy transformed keys, improving hash table utilization and reducing collisions without fundamentally changing the storage mechanism.
2Speed
If hash tables are used for packet analysis, then retrieval speed is fast, but collisions reduce effectiveness
Solution Approach 1:
The key transformation block serves as a mediator that processes keys before they reach the hash function. By applying orthogonal transformations (XOR with magic numbers, bit rotations, permutations), it ensures that even packets with similar characteristics map to different hash table entries, reducing collisions while maintaining fast retrieval speeds through direct indexing.
Solution Approach 2:
The patent transforms the entropy parameter of keys to maximize distribution uniformity. The transformations include XOR operations with predetermined constants, bit rotations by specific amounts, and permutation of key bits. These parameter changes ensure that the hash function receives high-entropy keys, minimizing collisions and maintaining O(1) retrieval performance.
3Productivity
If simple hashing is applied, then processing overhead is low, but first miss utilization is poor
Solution Approach 1:
The key transformation block acts as a lightweight intermediary that applies simple bitwise operations (XOR, rotation, permutation) to enhance key entropy. These operations have minimal processing overhead compared to complex hashing algorithms, while significantly improving first miss utilization by ensuring better distribution of keys across the hash table, especially for packets that miss the first lookup attempt.
Solution Approach 2:
The patent applies parameter changes to key entropy through predetermined transformation constants (magic numbers) and fixed transformation sequences. This approach maintains low processing overhead since the transformations are simple bitwise operations executed in hardware, while dramatically improving first miss utilization by spreading packets more uniformly across hash table entries.
Data Source
AI summary
Disclosed are various embodiments for improving hash table utilization. A key corresponding to a data item to be inserted into a hash table can be transformed to improve the entropy of the key space and the resultant hash codes that can generated. Transformation data can be inserted into the key in various ways, which can result in a greater degree of variance in the resultant hash code calculated based upon the transformed key.


