Consistent Hashing Load Balancer Dynamic Thresholds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load balancing systems face challenges in maintaining consistent mapping of tasks with the same task ID to the same worker across a distributed network, especially when workers are added or removed, leading to inefficiencies in load distribution and migration.
Innovation Solution
A deterministic approach to consistent hashing is implemented using a slotted hash function and a registry system that adjusts thresholds dynamically based on the number of workers, ensuring balanced load distribution and minimizing migration impacts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a load balancer uses a hash function to map tasks to workers, then load distribution is achieved, but consistency of mapping is lost when workers are added or removed
Solution Approach 1:
The patent implements dynamic rehashing where the hash function parameters are updated when workers are added or removed. The load balancer maintains a registry of workers and dynamically adjusts the hash function's threshold values to accommodate changing system topology, ensuring consistent task mapping while maintaining load distribution efficiency
Solution Approach 2:
The patent changes the parameters of the hash function based on the number of active workers. When workers are added or removed, the load balancer recalculates and updates the threshold values in the hash function, allowing the system to adapt to different scales while maintaining consistent task-to-worker mapping relationships
2Stability of the object's composition
If the load balancer maintains a registry for each task with threshold values, then consistent hashing is achieved, but system complexity increases
Solution Approach 1:
The patent uses a universal hash function that serves multiple purposes: it maps tasks to workers, maintains consistency across dynamic topology changes, and enables efficient load distribution. The same hash function with updated thresholds handles all these requirements without needing separate mechanisms for each function
Solution Approach 2:
The load balancer automatically manages the registry and hash function parameters without external intervention. When workers are added or removed, the system self-adjusts by recalculating thresholds and updating the hash function, eliminating the need for manual configuration or complex external management
3Productivity
If stochastic hashing methods are used for load balancing, then load distribution is achieved, but performance in terms of balance and migration is inferior
Solution Approach 1:
The patent replaces stochastic (random) hashing mechanisms with a deterministic hash function that uses mathematical thresholds. This substitution eliminates the variability and unpredictability inherent in stochastic methods, providing consistent and reliable load distribution while maintaining ease of implementation
Data Source
AI summary
Computer-implemented methods and a system are provided for distributing tasks between a plurality of processes in a computer network. A method includes distributing, by a load balancer in the computer network, tasks between the plurality of processes. The method further includes maintaining, by the load balancer, a registry for each of the tasks. For a given task, the registry indicates which of the plurality of processes to which the given task is distributed based on a hash function. The method also includes forming, by the load balancer, a respective set of registries for each of the plurality of processes, based on a set of thresholds. The method additionally includes redefining, by the load balancer, the set of thresholds when one of the plurality of processes ceases or a new process, added to the plurality of processes, commences.


