Cloud GPU Rendering Reliability via Parallel Commodity Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex graphics rendering tasks exceed the processing capabilities of consumer computer CPUs, and commodity GPUs are prone to hardware errors, making them unreliable for rendering complex graphics scenes, especially when compared to high-end GPUs.

Innovation Solution

A graphics rendering system that directs multiple commodity GPUs to render the same image in parallel, allowing successful rendering by at least one device, thereby managing errors and reducing computational expense, and supports rendering in multiple resolutions and languages by dividing tasks into subtasks and distributing them across virtual machines on cloud-based GPU servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple commodity GPUs are used to render the same image in parallel, then the reliability of rendering is improved, but the device complexity and computational cost increase

Engineering Contradiction:
Improverendering reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The rendering task is segmented into multiple independent subtasks that can be executed in parallel by different commodity GPUs. Each GPU renders the same image independently, and the system collects results from multiple GPUs to determine successful rendering, thereby improving reliability through distributed parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of GPU selection from using a single high-end GPU to using multiple commodity GPUs. This parameter change allows the system to trade individual GPU performance for ensemble reliability, where the collective output of multiple lower-cost GPUs provides more reliable rendering results.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple commodity GPUs are used to render the same image in parallel, then the rendering success probability is improved, but the computational expense increases

Engineering Contradiction:
Improverendering success probabilityVSAvoidcomputational expense
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system employs partial action by not requiring all multiple GPUs to complete the rendering task successfully. Instead, it suffices for at least one GPU to produce a successful render, allowing the system to abort other ongoing rendering tasks early and avoid unnecessary computational expense from all GPUs completing the full task.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements feedback mechanisms to monitor the rendering status of each GPU task. When a successful render is detected from any GPU, the system immediately aborts other ongoing rendering tasks, using this feedback to optimize resource usage and reduce overall computational expense while maintaining high success probability.

Inventive Principle:
Principle #23Feedback

3Reliability

If sophisticated error tracking and retry techniques are implemented in GPU architecture, then the reliability is improved, but the device complexity and cost increase

Engineering Contradiction:
Improveerror handling capabilityVSAvoidarchitecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary rendering management system that sits between the application and the commodity GPUs. This intermediary handles error management at the system level rather than requiring complex error tracking hardware within each GPU. The intermediary coordinates multiple GPU tasks, monitors their status, and manages retry logic externally, thereby achieving reliable error handling without increasing individual GPU complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10909654B2Management of graphics processing units in a cloud platform
Publication Date: 2021.02.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10909654B2 patent drawing
  • US10909654B2 patent drawing
  • US10909654B2 patent drawing

AI summary

A graphics rendering system is provided for controlling the rendering of images to manage expected errors. The graphics rendering system receives a specification of a render task to be performed to render an image of a graphics scene and then identifies computing devices that each have a graphics processing unit. The graphics rendering system directs each of the identified computing devices to render the image specified by the render task such that each identified computing device renders the same image. When the graphics rendering system detects that a computing device has completed the render task successfully, it provides the image rendered by that computing device as the rendered image of the render task such that any other image rendered by another of the computing devices is not needed.