GPU Resource Allocation for Concurrent Client Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client-server architectures, servers face challenges in efficiently allocating resources for concurrent rendering of applications across multiple clients with varying rendering parameters, leading to suboptimal use of resources and increased processing time.

Innovation Solution

A server system allocates Graphics Processing Unit (GPU) resources among multiple clients, concurrently rendering images based on distinct sets of rendering parameters and storing them in a shared rendering target, allowing for efficient transmission of rendered images to each client.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a server shares GPU resources with multiple clients for concurrent rendering, then resource utilization and productivity are improved, but resource allocation complexity and device complexity increase

Engineering Contradiction:
Improverendering throughputVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments GPU resources into multiple render targets, each assigned to a specific client. The server divides the GPU's rendering capacity into discrete units (render targets) that can be independently allocated to different clients, enabling concurrent rendering operations while maintaining manageable resource allocation through structured partitioning of the graphics processing unit's output buffers

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server's GPU is designed to perform multiple rendering functions simultaneously for different clients. A single GPU resource performs universal rendering operations for multiple clients by switching between different render targets and rendering parameter sets, allowing one graphics processing unit to serve multiple applications and clients without requiring dedicated GPU instances for each client

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If the server maintains separate rendering parameter sets for each client, then adaptability to client-specific requirements is improved, but memory usage and device complexity increase

Engineering Contradiction:
Improveclient-specific rendering adaptabilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The server pre-configures multiple render targets and associates each with a specific client's rendering parameters before rendering operations begin. By establishing the rendering parameter sets and render target mappings in advance, the system enables rapid client-specific rendering without requiring dynamic memory allocation during runtime, thus maintaining adaptability while controlling memory usage through upfront resource preparation

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If the server concurrently renders multiple applications for multiple clients, then processing time is reduced, but resource contention and reliability of individual client rendering may worsen

Engineering Contradiction:
Improvetotal rendering timeVSAvoidrendering consistency per client
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent segments the rendering output into separate render targets for each client, ensuring that each client receives dedicated rendering resources and parameter sets. This segmentation isolates client rendering operations, preventing resource contention from causing interference between clients while maintaining concurrent processing, thus preserving both speed and rendering consistency for each individual client

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10230565B2Allocation of GPU resources across multiple clients
Publication Date: 2019.03.12 OTOY INC
  • US10230565B2 patent drawing
  • US10230565B2 patent drawing
  • US10230565B2 patent drawing

AI summary

Methods, apparatuses and systems directed to hosting, on a computer system, a plurality of application instances, each application instance corresponding to a remote client application; maintaining a network connection to each of the remote client applications for which an application instance is hosted; allocating resources of a graphics processing unit of the computer system between at least two of the remote client applications; concurrently rendering, utilizing the resources of the graphics processing unit of the computer system, the graphical output of the application instances corresponding to the at least two of the remote client applications; and transmitting the rendered graphical output to the at least two of the remote client applications over the respective network connections.