Low-Redistribution Load Balancing for Distributed Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing systems, existing load-balancing methods often lead to significant redistribution of work when nodes are added or removed, resulting in inefficiencies and potential loss of state information, particularly in applications like DNS and Network Address Translation devices that keep states.
Innovation Solution
A low-redistribution load-balancing process is implemented, which uses a mathematical operation based on the baseline cardinality and current cardinality of nodes to minimize work redistribution, ensuring that similar queries are sent to the same member node, reducing the need for re-authentication and preserving state information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing load-balancing methods are used, then work is distributed among member nodes, but significant redistribution occurs when nodes are added or removed, causing loss of state information and inefficiency
Solution Approach 1:
The patent changes the parameter used for load distribution from simple modulo arithmetic to a more sophisticated function that considers both the hash of the workload identifier and the current number of member nodes. This parameter transformation allows the system to adapt to node changes while preserving state information through controlled redistribution.
Solution Approach 2:
The patent performs preliminary calculations to determine the baseline assignment of workloads to member nodes before any node changes occur. By pre-calculating the baseline function and comparing it with the current state, the system can identify and preserve state information that would otherwise be lost during redistribution.
2Adaptability or versatility
If nodes are dynamically added or removed to adjust supply to demand, then system flexibility improves, but workload redistribution increases
Solution Approach 1:
The patent transforms the load distribution parameter from a simple modulo operation to a function that incorporates the baseline assignment and current node count. This parameter change enables dynamic node management while minimizing productivity loss by reducing unnecessary workload redistribution.
Solution Approach 2:
The patent implements a dynamic load-balancing mechanism that automatically adjusts to node changes without requiring full redistribution of workloads. The system dynamically maintains the relationship between workload identifiers and member nodes, allowing flexible node management while preserving processing efficiency.
3Device complexity
If traditional load-balancing algorithms are used, then simple distribution is achieved, but cache efficiency deteriorates due to frequent redistribution
Solution Approach 1:
The patent modifies the distribution algorithm by changing the parameter calculation from simple modulo arithmetic to a function that preserves baseline assignments. This parameter transformation maintains relative simplicity while dramatically improving cache efficiency by reducing redistribution frequency.
Solution Approach 2:
The patent ensures continuous preservation of workload-to-node mappings by maintaining baseline assignments across node changes. This continuity allows cached data to remain valid longer, improving cache efficiency without requiring complex re-distribution operations.
Data Source
AI summary
A load-balancing computing device receives a load-balance request for a processing of a workload request associated with a workload. The load-balancing computing device selects a member node of a distributed computing system to process the workload request. The member node is selected from amongst a pool of member nodes of the distributed computing system. The selecting includes: determining a member node for a baseline assignment for the workload; and selecting a member node based on an outcome of a mathematical operation performed on an identifier of the workload, the baseline cardinality of member nodes, and on the cardinality of member nodes in the pool. Next, the processing of the workload request is assigned to the selected member node.


