Hash Ring Prepopulation for Packet Flow Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face inefficiencies in load balancing due to frequent remapping of key values to buckets in hash tables, leading to high consumption of computing resources such as processor cycles and memory bandwidth, especially in dynamic network environments where routing updates occur frequently.
Innovation Solution
Implementing pre-population of empty buckets in a hash ring with adjacent output values, allowing for direct retrieval of the output value without traversing additional buckets, thereby reducing traversal operations and resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If lazy output value population and depopulation is performed in hash tables for load balancing, then the system can handle dynamic routing updates, but traversal operations on empty buckets increase processor cycle consumption and reduce computing performance
Solution Approach 1:
The patent pre-populates empty buckets in the hash ring with output values before they are needed during packet forwarding. This preliminary action ensures that when packets arrive and hash buckets need to be accessed, the buckets are already populated with valid output values, eliminating the need for traversal operations and reducing processor cycle consumption during high-speed packet forwarding.
2Adaptability or versatility
If frequent remapping of key values to buckets is performed, then load balancing can adapt to changing network conditions, but memory bandwidth consumption and processor cycle usage increase
Solution Approach 1:
The system performs remapping of key values to buckets in advance during control plane operations, populating the hash ring with pre-computed mappings. This preliminary remapping allows the data plane to simply look up pre-determined bucket assignments without performing computationally intensive remapping operations during packet forwarding, thereby reducing processor cycle consumption while maintaining load balancing adaptability.
3Reliability
If traversal of empty buckets is performed to find output values, then consistent hashing can be implemented, but memory bandwidth usage and power consumption increase
Solution Approach 1:
The patent pre-populates the hash ring with output values in all buckets before packet forwarding begins. This ensures that when consistent hashing is applied during packet forwarding, the hash function always finds a valid output value in the computed bucket without needing to traverse empty buckets, thereby maintaining consistent hashing correctness while eliminating the energy-consuming traversal operations.
Data Source
AI summary
In general, techniques are described for reducing traversal when performing consistent hashing for packet flow load balancing. A computing device comprising a memory and a processor may be configured to perform the techniques. The memory may store a hash ring that includes a plurality of buckets, where a non-zero subset of the plurality of buckets each includes a different output value of a plurality of output values, and a remaining subset of the plurality of buckets each includes an empty value. The processor may prepopulate the remaining subset of the plurality of buckets with the respective different output value of the plurality of output values. The processor may receive a key value, and apply a hash function to the key value to identify a bucket of the plurality of buckets. The processor may next output the output value associated with the identified bucket.


