GPU Virtualization Stack Trace Data Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, GPU virtualization technologies face inefficiencies due to high communication overheads between user virtual machines and rendering servers, leading to reduced performance and user experience, as all data related to rendering is transmitted, rather than just the necessary data.

Innovation Solution

A method and apparatus that utilize a stack trace technology to determine the entry address of the write function of the graphics processing interface, allowing only the data necessary for graphics rendering to be sent to the rendering server, by analyzing the function stack and identifying the modified data area in the vertex buffer, thereby reducing unnecessary data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all data related to rendering is transmitted from user virtual machine to rendering server, then completeness of rendering data is ensured, but communication overhead increases and rendering efficiency decreases

Engineering Contradiction:
Improvecompleteness of rendering dataVSAvoidrendering efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary modified data from the vertex buffer using stack trace technology to identify the specific data area that was modified by the graphics processing program. Instead of transmitting all rendering data, only the relevant portion (identified by offset and length from the stack trace) is sent to the rendering server, thereby reducing communication overhead while maintaining rendering completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The vertex buffer data is segmented into modified and unmodified portions. The stack trace technology enables identification of the specific segment that contains modified data, allowing selective transmission of only that segment to the rendering server, thus improving efficiency without compromising rendering quality.

Inventive Principle:
Principle #1Segmentation

2Productivity

If GPU virtualization technology is used to enable multiple virtual machines to share one physical graphics card, then hardware resource utilization efficiency is improved, but communication overhead between virtual machines and rendering server increases

Engineering Contradiction:
Improvehardware resource utilization efficiencyVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts only the essential modified data from the vertex buffer using stack trace analysis. By identifying the specific data area that requires rendering through stack trace technology, the system transmits minimal necessary data over the network, significantly reducing communication overhead while maintaining GPU virtualization benefits.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If stack trace technology is used to identify modified data area in vertex buffer, then data transmission volume is reduced, but system complexity increases

Engineering Contradiction:
Improvedata transmission volumeVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces stack trace technology as an intermediary mechanism between the graphics processing program and the data transmission process. This intermediary enables automatic identification of modified data areas without requiring complex manual analysis, reducing data transmission volume while managing system complexity through a standardized debugging and analysis approach.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3113015B1Method and apparatus for data communication in virtualized environment
Publication Date: 2020.08.26 HUAWEI TECH CO LTD
  • EP3113015B1 patent drawingFigure 1
  • EP3113015B1 patent drawingFigure 2
  • EP3113015B1 patent drawingFigure 3

AI summary

Embodiments of the present invention disclose a method and apparatus for data communication in a virtualized environment, and a processor. A write function of a graphics driver is called by a graphics processing program by using a graphics processing interface, where a function in a call process is recorded in a function stack; an entry address of a write function of the graphics processing interface is determined according to an entry address of the write function of the graphics driver and a quantity of layers of the function stack, and an offset and a length that are of a vertex buffer of the graphics processing program are read from the entry address of the write function of the graphics processing interface, so as to determine a data area that is modified by the graphics processing program and is in the vertex buffer, where the modified data area is data necessary for graphics rendering. A user virtual machine sends only the data necessary for graphics rendering to a rendering server, which avoids unnecessary data transmission, reduces a communication overhead between the user virtual machine and the rendering server, and increases a rendering speed of the rendering server, thereby improving efficiency of sharing in a GPU virtualization technology and improving user experience.