Affinity Load Balancing for Server Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems lack a mechanism to prevent a single server from becoming overloaded with different affinities in a cluster, leading to resource slowdowns as other servers remain idle, due to the absence of effective affinity load balancing.
Innovation Solution
A method and system for affinity load balancing that involves a task manager determining whether a server has affinity to a task type, releasing tasks to servers with existing affinities, and allowing servers to acquire affinities within configurable limits, using a shared memory for node affinities and task weights to distribute workload across the cluster.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a server acquires affinity to task types without limits, then task processing efficiency is improved, but server overload occurs and system resources slow down
Solution Approach 1:
The system dynamically adjusts server affinities based on current workload conditions. Servers can acquire and release affinities dynamically, allowing the system to adapt to changing task demands while preventing any single server from becoming overloaded with too many affinities simultaneously.
Solution Approach 2:
The patent introduces configurable affinity limits as a parameter to control how many affinities a server can hold. By changing this parameter, the system can balance between task processing efficiency and preventing server overload, allowing flexible adjustment based on system capacity and demand.
2Productivity
If tasks are distributed across multiple servers, then resource utilization is improved, but coordination complexity increases
Solution Approach 1:
The load balancing mechanism operates autonomously without requiring complex centralized coordination. Each server independently manages its own affinities and task assignments based on simple rules, eliminating the need for complex inter-server communication and coordination protocols.
Solution Approach 2:
The patent introduces an affinity limit configuration as an intermediary parameter that mediates between task distribution needs and server capacity constraints. This simple configurable parameter provides a straightforward mechanism to control load distribution without requiring complex real-time coordination between servers.
3Speed
If servers are assigned specific task affinities, then task processing speed is improved, but system adaptability decreases
Solution Approach 1:
Server affinities are dynamic rather than static. Servers can acquire new affinities when needed and release them when no longer required, allowing the system to maintain fast processing for current task types while remaining adaptable to future task requirements. The affinity limit ensures this adaptability occurs in a controlled manner.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer implemented method and apparatus for affinity load balancing. The method comprises receiving a task request on a first server of a plurality of server, wherein a task associated with the task request is to be performed on a first device of a plurality of devices; extracting a task type and a device identifier from the task request; determining whether a second server of the plurality of server has acquired an affinity for the task type; and acquiring the affinity for the task type when it is determined the second server of the plurality of servers has not acquired an affinity for the task type.