Load Balancer Candidate Pool Sizing for Dynamic Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, load balancers face challenges in making accurate load balancing decisions due to incomplete or inaccurate workload information, especially in large and dynamically changing systems where network delays and node additions/removals occur frequently, leading to inefficient resource utilization and potential overloading of worker nodes.

Innovation Solution

The approach involves using workload variation estimates derived from potentially imperfect metrics to dynamically select the size of the candidate pool of worker nodes, incorporating variance or standard deviation calculations, and introducing randomness in node selection to adapt to changing workload trends and ensure balanced resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load balancers use workload information to make intelligent assignment decisions, then resource utilization is improved, but the system becomes vulnerable to network delays and information inaccuracy in large dynamic environments

Engineering Contradiction:
Improveresource utilizationVSAvoidworkload information accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system pre-calculates workload variation estimates and maintains candidate pools of worker nodes before actual load balancing decisions are needed. This preliminary preparation allows the load balancer to quickly select from pre-identified candidates even when real-time workload information is delayed or inaccurate, resolving the contradiction between using workload info for productivity and dealing with its unreliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces workload variation estimates and candidate pools as intermediary structures between the load balancer and worker nodes. These intermediaries buffer the impact of inaccurate or delayed workload information by providing alternative selection criteria (workload variation, candidate pool membership) that don't rely solely on potentially flawed real-time metrics.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the system maintains a large candidate pool of worker nodes, then adaptability to changing workload trends is improved, but the complexity of selection and decision-making increases

Engineering Contradiction:
Improveadaptability to workload trendsVSAvoidselection process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The candidate pool size and composition are dynamically adjusted based on workload variation estimates rather than being fixed. The system automatically expands or contracts the candidate pool depending on the measured variability in worker node workloads, providing adaptability to changing conditions while managing complexity through automated dynamic adjustment rather than manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The load balancing system performs self-adjustment by automatically calculating workload variation, identifying appropriate candidate pools, and selecting worker nodes without external intervention. This self-service capability handles the complexity of large candidate pool management internally, allowing the system to maintain high adaptability while keeping the selection process complexity contained within the automated system itself.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If worker nodes are added or removed frequently based on scaling policies, then system flexibility is improved, but workload information becomes increasingly incomplete and outdated

Engineering Contradiction:
Improvesystem flexibilityVSAvoidworkload information completeness
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The system prepares candidate pools in advance that include worker nodes which may be added or removed later. By pre-identifying and buffering candidate nodes before actual load balancing decisions, the system cushions against the loss of workload information that occurs when nodes are dynamically added or removed, ensuring that load balancing can continue with available information rather than failing due to incomplete data.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10055262B1Distributed load balancing with imperfect workload information
Publication Date: 2018.08.21 AMAZON TECH INC
  • US10055262B1 patent drawing
  • US10055262B1 patent drawing
  • US10055262B1 patent drawing

AI summary

A load balancer obtains respective workload metrics of various worker nodes of a distributed system. In response to determining that a work request is to be assigned, the load balancer generates a workload variation estimate associated with the worker nodes. Using the workload variation estimate, the load balancer determines a size of a candidate pool of worker nodes for the work request. The load balancer assigns the work request to a selected worker node from the candidate pool.