Load Balancer Hash Bin Reassignment for Traffic Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hash functions in load balancers often perform poorly with non-uniform input distributions and low flow scenarios, leading to unfair load balancing and reduced system performance due to oversubscription and undersubscription of destination ports.
Innovation Solution
A software-based hash adjuster dynamically reassigns hash bins based on actual data flow analysis, periodically updating the assignment to balance traffic distribution and reduce unfairness, independent of the underlying hashing algorithm.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a standard hash function (e.g., CRC32) is used in a load balancer, then the hashing operation is simple and fast, but the distribution of packets across destination ports becomes unfair under non-uniform input distributions
Solution Approach 1:
The patent implements dynamic reassignment of hash bins to destination ports based on observed traffic patterns. The system monitors the distribution of packets across hash bins and dynamically adjusts which destination ports serve which hash bins, transforming the static hash table into a dynamic structure that adapts to non-uniform input distributions and eliminates oversubscription/undersubscription issues
Solution Approach 2:
The system changes the parameters of the hash table by dynamically modifying the mapping between hash bins and destination ports. Instead of changing the hash function itself (which would impact performance), the patent changes the interpretation parameters - specifically which destination port handles which hash bin - based on observed traffic characteristics, thereby improving distribution uniformity without sacrificing hashing speed
2Device complexity
If hash bins are statically assigned to destination ports, then the system is simple to implement, but it cannot adapt to varying traffic patterns resulting in oversubscription and undersubscription
Solution Approach 1:
The patent implements a feedback mechanism where the system continuously monitors packet distribution across hash bins and uses this information to dynamically reassign destination ports. The feedback loop observes which hash bins are oversubscribed or undersubscribed and adjusts the mapping accordingly, enabling the system to adapt to varying traffic patterns while maintaining relatively simple implementation through iterative adjustments
Solution Approach 2:
The load balancer performs self-adjustment by automatically monitoring its own performance metrics (packet distribution across hash bins) and autonomously reassigning destination ports without external intervention. The system serves itself by detecting imbalances and correcting them through dynamic reassignment, reducing the need for complex external control mechanisms
Data Source
AI summary
Examples include a computing system having a load balancer circuitry to assign data units to destinations using a hash function having a plurality of hash bins, each hash bin being associated with a destination. The computing system includes a hash adjuster to assign a destination to each of the plurality of hash bins, sample assignment of data units to hash bins by the load balancer circuitry over a sample window, analyze the sampled assignments, and reassign destinations to the hash bins based at least in part on the analyzed sampled assignments. This results in increased system performance in processing of the data units by the load balancer.


