GPU Load Balancing for Virtual Desktops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual desktop platforms face challenges in efficiently streaming 3D graphics due to bandwidth and resource-intensive requirements, leading to GPU overload and potential crashes, which disrupt the rendering of multiple 3D graphical user interfaces.

Innovation Solution

The implementation of a 3D graphics service manager that balances GPU usage by dynamically assigning virtual machines to graphics processing units based on performance metrics, such as available memory and latency, using algorithms like round-robin and dynamic placement to prevent overload and optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPUs are used to render multiple 3D graphical user interfaces simultaneously, then the system can support more virtual desktop sessions, but the GPUs become overloaded and reset causing applications to terminate

Engineering Contradiction:
Improvenumber of virtual desktop sessionsVSAvoidGPU stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically monitors GPU utilization metrics and adjusts the number of virtual machines assigned to each GPU in real-time. When a GPU approaches its capacity threshold, the system automatically migrates virtual machines to other GPUs, ensuring that no single GPU becomes overloaded. This dynamic load balancing prevents GPU resets while maintaining high productivity by keeping all GPUs actively utilized.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements continuous feedback loops that monitor GPU performance metrics such as utilization percentage, memory usage, and frame rendering rates. Based on this feedback, the load balancer makes informed decisions about migrating virtual machines between GPUs. The feedback mechanism allows the system to predict GPU overload conditions before they occur and take preventive action, thereby maintaining both productivity and reliability.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If 3D graphics processing is enabled in virtual desktop servers, then users can experience 3D graphical interfaces, but the resource-intensive processing causes GPUs to timeout and reset

Engineering Contradiction:
Improve3D graphics capabilityVSAvoidrendering stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the 3D graphics processing workload by dividing virtual machines into different groups based on their 3D rendering requirements. High-demand virtual machines are assigned to GPUs with sufficient capacity, while low-demand machines can share resources. This segmentation allows the system to maintain 3D graphics capability across multiple virtual desktop sessions while preventing any single GPU from becoming overwhelmed and resetting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes operational parameters such as GPU utilization thresholds, migration priorities, and load distribution algorithms based on real-time conditions. When 3D graphics workloads increase, the system adjusts parameters to optimize resource allocation and prevent timeouts. This dynamic parameter adjustment enables the system to maintain rendering stability while supporting diverse 3D graphics applications.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If more virtual machines are assigned to a single GPU, then resource utilization increases, but the GPU becomes overcommitted and performance degrades

Engineering Contradiction:
ImproveGPU resource utilizationVSAvoidrendering throughput
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The load balancer continuously monitors GPU resource utilization metrics and uses this feedback to dynamically adjust virtual machine assignments. When utilization approaches optimal levels, the system stops assigning new virtual machines to that GPU and redirects them to other GPUs with available capacity. This feedback-driven approach ensures high overall resource utilization across the GPU fleet while preventing any single GPU from becoming overcommitted and degrading in performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2622470B1Techniques for load balancing GPU enabled virtual machines
Publication Date: 2022.06.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2622470B1 patent drawingFigure 1
  • EP2622470B1 patent drawingFigure 2
  • EP2622470B1 patent drawingFigure 3

AI summary

Exemplary techniques for balancing 3D graphical processor unit use among virtual machines are herein disclosed. In an exemplary embodiment, a virtualization platform can load an instance of a graphics rendering module for a virtual machine; select a GPU for the graphics rendering module to run on; and configure the virtual machine to render to the selected GPU. In addition to the foregoing, other aspects are described in the detailed description, claims, and figures.