Virtual Device Failure Recovery for 3D Graphics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Streaming 3D graphics in virtual desktop sessions is challenging due to bandwidth and compression requirements, and 3D graphics processing units (GPUs) can become overloaded, leading to timeouts and resets, which disrupt the rendering process.
Innovation Solution
A system that establishes a communication channel between the virtualization platform and the virtual machine, detects GPU rendering process terminations, restarts the rendering process, and sends signals to the virtual device driver to re-establish a graphics buffer and resume 3D graphics data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If GPUs are used to render multiple 3D graphical user interfaces simultaneously in virtual desktop sessions, then the system can support more users and virtual machines, but the GPUs become overloaded causing timeouts and resets that disrupt rendering
Solution Approach 1:
The system performs preliminary actions by detecting rendering process terminations and restarting them before complete system failure occurs. The virtualization platform monitors rendering processes and automatically restarts them when they terminate due to GPU resets, preventing complete service disruption and maintaining continuous operation despite GPU overloads
Solution Approach 2:
The system implements feedback mechanisms by monitoring the state of rendering processes and GPU health. When a rendering process terminates or a GPU reset is detected, the system receives feedback about the failure condition and responds by restarting the rendering process and re-establishing graphics buffers, creating a closed-loop control system that maintains stability under load
2Ease of operation
If 3D graphics processing is enabled in virtual desktop sessions, then user experience is improved with 3D rendering capability, but bandwidth and compression requirements increase system complexity
Solution Approach 1:
The patent introduces intermediary components including a virtual device driver and graphics buffer that mediate between the virtual machine and the physical GPU. These intermediaries manage the complexity of 3D graphics processing by providing abstraction layers that handle rendering process management, buffer establishment, and communication channel coordination, thereby enabling 3D capabilities while managing system complexity
3Duration of action of stationary object
If rendering processes are restarted after GPU resets, then service continuity is maintained, but additional recovery operations increase processing time
Solution Approach 1:
The system performs preliminary detection and restart operations immediately when a rendering process termination is detected, rather than waiting for complete system failure. By proactively restarting rendering processes and re-establishing graphics buffers at the earliest opportunity, the system minimizes service interruption time while maintaining continuity
Solution Approach 2:
The system rushes through the recovery process by immediately restarting rendering processes and re-establishing graphics buffers without extensive error checking or user intervention. The automated recovery mechanism quickly restores service by skipping non-critical validation steps and focusing on rapid re-establishment of rendering functionality
Data Source
AI summary
Exemplary techniques for recovering from a graphics processor reset are herein disclosed. In an exemplary embodiment, a 3D graphics service manager 404 can detect that a graphics processing unit reset and can restart a rendering process configured to render 3D graphics for a virtual machine and cause a graphics buffer to be established between the rendering process and the virtual machine. In addition to the foregoing, other aspects are described in the detailed description, claims, and figures.


