Remoting Client GPU Offloading for CPU Load Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In desktop virtualization environments, remoting clients with less powerful CPUs struggle to handle graphics-rich desktops due to the processing burden of decoding and rendering graphics display data, leading to performance issues like lag and reduced display updates.
Innovation Solution
Offloading graphics-based remoting protocol processes to a Graphics Processing Unit (GPU), allowing the CPU to focus on other tasks by copying graphics data to GPU memory and instructing the GPU to render and display it.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the CPU processes all graphics display data including copying to display buffer, then the CPU can handle the complete rendering pipeline, but the CPU becomes overloaded causing performance issues like lag and reduced display updates
Solution Approach 1:
The patent extracts the graphics display data copying function from the CPU and assigns it to the GPU. The CPU receives remoting communications with graphics display data, stores them in GPU-accessible memory, and then the GPU copies the data to the display buffer, freeing the CPU from this processing burden and improving display update frequency.
Solution Approach 2:
The patent introduces GPU memory as an intermediary between the CPU and the display buffer. The CPU writes graphics display data to GPU memory, and the GPU retrieves and copies this data to the display buffer, creating a mediated data flow that reduces CPU involvement in the rendering pipeline.
2Ease of operation
If the CPU decodes and processes all remoting communications including graphics data, then complete processing is achieved, but low-cost client terminals with reduced processing power cannot handle the load
Solution Approach 1:
The patent extracts the graphics processing functions from the CPU and assigns them to the GPU. The CPU handles only the essential task of receiving and storing remoting communications in GPU-accessible memory, while the GPU performs the computationally intensive copying and rendering operations, enabling low-cost terminals to deliver rich graphics performance.
Solution Approach 2:
The patent replaces the CPU-based graphics processing mechanism with a GPU-based mechanism. By substituting the general-purpose CPU with a specialized GPU for graphics-specific tasks like copying display data and rendering, the system achieves higher graphics processing capability on budget-friendly hardware.
3Productivity
If the remoting client performs all remoting tasks on the CPU, then centralized control is maintained, but the CPU cannot handle both remoting protocols and graphics rendering simultaneously
Solution Approach 1:
The patent segments the processing architecture into two distinct components: the CPU handles remoting protocol communications and high-level control, while the GPU handles graphics-specific operations like copying display data to the buffer and rendering. This segmentation allows both functions to operate simultaneously without mutual interference, improving overall system throughput.
Solution Approach 2:
The patent adds a new dimension to the processing architecture by introducing the GPU as a separate processing layer. Instead of a single CPU handling all tasks sequentially, the system transitions to a multi-dimensional architecture where the CPU and GPU operate in parallel on different aspects of the remoting and display pipeline.
Data Source
AI summary
A remoting client can be configured to offload various graphics-based remoting protocol processes to the GPU to thereby free up the CPU for performing other remoting tasks. In this way, a remoting client can be executed on a client terminal that has a less powerful CPU even when a graphics-rich desktop is virtualized on the client terminal. When the remoting client receives remoting communications containing graphics display data, the remoting client can write the graphics display data to a location in memory that is accessible to the GPU and can then pass the graphics display data to the GPU for further processing. The CPU is therefore freed from having to fully process the graphics display data including from having to copy the graphics display data to a display buffer.


