Decoupled Load Balancing for Virtualized Compute Resources

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional load balancing systems introduce significant latency and can become performance bottlenecks in high-speed computational networks, making them unsuitable for managing workloads in high-performance computing environments.

Innovation Solution

A method and apparatus for load balancing in virtualized computing environments that decouples client and server nodes, allowing for the sharing of stream processors as independent network resources, and uses a resource controller to manage workload distribution and resource allocation across multiple server nodes, enabling efficient utilization of available computing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a traditional centralized load balancer is used to distribute workloads, then workload management is achieved, but significant latency is introduced and performance bottlenecks occur

Engineering Contradiction:
Improveworkload managementVSAvoidlatency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the load balancing logic from the centralized load balancer and places it directly on the stream processors. Each stream processor independently determines whether to accept new workloads based on its own utilization metrics, eliminating the need for centralized load balancing decisions and the associated latency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Stream processors autonomously monitor their own workload utilization and make independent decisions about accepting or rejecting new workloads. This self-service approach eliminates dependency on centralized load balancing, reducing latency while maintaining effective workload distribution across the system.

Inventive Principle:
Principle #25Self-service

2Productivity

If stream processors are shared as independent network resources, then resource utilization efficiency improves, but resource allocation management complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource allocation management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where stream processors continuously report their utilization status to the resource controller. The resource controller uses this feedback to dynamically adjust resource allocation, enabling efficient utilization while maintaining manageable complexity through automated control loops.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts resource allocation based on real-time utilization metrics. Stream processors can transition between idle and active states, and the resource controller continuously reconfigures workload distribution to optimize resource utilization, transforming a static allocation system into a dynamic adaptive one.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2930618B1System and method for load balancing compute resources
Publication Date: 2024.05.01 MAXELER TECH
  • EP2930618B1 patent drawingFigure 1
  • EP2930618B1 patent drawingFigure 2~3
  • EP2930618B1 patent drawingFigure 4

AI summary

There is provided a networked computational architecture for provisioning of virtualised computational resources. The networked computational architecture is accessible by one or more client applications run on one or more client devices. The computational architecture comprises a hardware layer comprising a plurality of server devices, each server device having at least one physical processor having a local memory. A resource controller is further provided which is operable to allocate a plurality of server devices to a client application for data processing and to assign control information to said client application. The control information specifies the required allocation of a data processing workload to each of the server devices allocated to said client application. The networked computational architecture is configured such that said client applications are operable to send said data processing workload directly to each server in accordance with said control information. By providing such an arrangement, a networked architecture can be load balanced indirectly without requiring a load balancer to be located in the data path between the client and the server. This eliminates any latency associated with known load balancers, whilst ensuring efficient utilisation of computational resources.