Command Server Rendering Assignment for GPU Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network game services, the conventional approach to rendering server assignment does not optimize calculation resources, leading to processing delays for client terminals with high rendering requirements, as the assignment is not based on the specific calculation needs of each game, scene, or user settings.

Innovation Solution

A rendering system with a command server that generates rendering commands and assigns rendering servers based on the availability of necessary resources, optimizing resource reuse and reducing the calculation load by using a relay apparatus to manage rendering resource loading and distribution across multiple servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If rendering servers are assigned based on the number of connected terminals, then the system can handle multiple client terminals, but processing delays occur for client terminals with high rendering requirements

Engineering Contradiction:
Improvenumber of client terminals servedVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system changes the assignment parameter from simple terminal count to resource requirement matching. The command server analyzes rendering resource requirements (GPU memory capacity, calculation capabilities) and assigns client terminals to rendering servers based on whether the server has loaded the necessary rendering resources, thereby reducing processing delays for high-rendering-requirement terminals

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Rendering resources are pre-loaded into the loading region of rendering servers before actual rendering tasks are assigned. The command server manages which rendering resources are loaded in each rendering server's loading region, so when a client terminal requires specific rendering resources, the assignment can be made immediately without waiting for resource loading during execution

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If rendering resources are loaded into each rendering server, then rendering quality is improved, but memory usage increases

Engineering Contradiction:
Improverendering qualityVSAvoidmemory usage
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

Multiple client terminals that require the same rendering resources are assigned to the same rendering server that has those resources loaded in its loading region. The rendering server serves multiple clients universally, avoiding duplicate resource loading and reducing total memory usage across the system while maintaining high rendering quality for all assigned clients

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

Solution Approach 2:

The system merges the rendering resource requirements of multiple client terminals and consolidates them onto single rendering servers. By combining multiple clients' needs and assigning them to shared rendering servers with pre-loaded resources, the system reduces overall memory consumption while maintaining rendering quality through resource reuse

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11020662B2Rendering system, control method, and storage medium
Publication Date: 2021.06.01 SQUARE ENIX HLDG CO LTD
  • US11020662B2 patent drawing
  • US11020662B2 patent drawing
  • US11020662B2 patent drawing

AI summary

A rendering system includes a command server and a plurality of rendering servers. The command server receives a screen transmission request from the client terminal. The command server evaluates, for each of the plurality of rendering servers, at least one of a number of connected terminals, an average transmission rate, a GPU operation rate, a congestion status, and a length of a transfer path to the client terminal. The command server specifies, based on evaluation results, at least one of the plurality of rendering servers to render a screen to be transmitted to the client terminal.