Virtual GPU Offloading for Virtualized Graphics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and optimizing the resources in large-scale distributed computing systems, particularly in virtualized environments, is complex due to the need for efficient provisioning, administration, and graphics processing, where computationally intensive tasks burden CPU resources and require optimized GPU utilization.

Innovation Solution

Implementing virtualized graphics processing by provisioning virtual compute instances with attached virtual GPUs, allowing for offloading of tasks such as microcode compilation and tessellation to external services, optimizing GPU usage and enabling independent updates of graphics drivers and services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computationally intensive tasks are performed by the graphics driver on the graphics server, then the graphics processing functionality is complete, but the CPU resources on the graphics server are burdened and resource utilization is inefficient

Engineering Contradiction:
Improvegraphics processing capabilityVSAvoidCPU resource burden
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts computationally intensive tasks (such as microcode compilation and tessellation) from the graphics driver on the graphics server and relocates them to separate compute resources. This separation allows the graphics server to focus on graphics rendering while dedicated compute resources handle the intensive computational tasks, thereby reducing the CPU burden on the graphics server while maintaining complete graphics processing functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If graphics drivers and services are tightly coupled on the graphics server, then the system is simpler to manage, but updates and optimizations require coordinated changes and cause system downtime

Engineering Contradiction:
Improvesystem management simplicityVSAvoidindependent update capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the graphics processing system into distinct modular components: the graphics driver on the graphics server, external compute resources for intensive tasks, and a service layer for coordination. This modular architecture allows each component to be updated independently without requiring coordinated changes across the entire system, enabling flexible updates and optimizations while maintaining manageable system complexity through clear interface definitions.

Inventive Principle:
Principle #1Segmentation

3Productivity

If virtualized graphics processing is implemented with external compute resources, then resource utilization and flexibility are improved, but the system architecture becomes more complex

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a service layer as an intermediary between the graphics driver and external compute resources. This service layer manages the coordination, task scheduling, and communication between components, thereby simplifying the overall system architecture despite the distributed nature of the system. The intermediary handles the complexity of resource management and inter-component communication, allowing the system to achieve improved resource utilization and flexibility while maintaining architectural manageability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10423463B1Computational task offloading for virtualized graphics
Publication Date: 2019.09.24 AMAZON TECH INC
  • US10423463B1 patent drawing
  • US10423463B1 patent drawing
  • US10423463B1 patent drawing

AI summary

Methods, systems, and computer-readable media for computational task offloading for virtualized graphics are disclosed. A virtual GPU attached to a virtual compute instance is provisioned in a multi-tenant provider network. The virtual compute instance is implemented using a physical compute instance, and the virtual GPU is implemented using a physical GPU. Using a microcode compilation service, program code is compiled into microcode for a target GPU type associated with the virtual GPU. The microcode is executed on the virtual GPU.