BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Graphics acceleration technology can overcome the limitations of processing applications on virtual desktops. Under the right circumstances, it can even deliver apps at performance levels comparable to those of a physical desktop.
But not all acceleration technologies are created equal, and high performance often comes with a sizeable price tag. Choosing the right technology to implement depends on understanding the available options and how they differ.
The evolving world of graphics acceleration
Desktop applications have become more sophisticated and complex -- particularly those used for analytics, engineering and scientific research -- and the need to offload some of the compute-intensive operations has grown proportionately. This has led to graphics-accelerated computing where a graphics processing unit (GPU) works in conjunction with the computer's CPU to take on some of the processing burden.
A computer's GPU can be built into the motherboard's chipset, or it can be a separate video card that you insert into one of the computer's expansion slots. Unlike the CPU, which is optimized for sequential serial processing, the GPU adheres to a parallel computing architecture that is made to process multiple operations simultaneously.
Unfortunately, delivering those applications via a virtual desktop changes the equation because the graphics run in the data center, rather than locally on a user's device. This makes the traditional approaches to acceleration no longer feasible.
To address these limitations, major VDI players such as VMware, Citrix and Microsoft have added software GPU to their products. Software GPU requires a special graphics driver be installed within the virtual machine (VM) to emulate hardware-based acceleration, without the need to install a physical GPU on the host server.
Software GPU has been widely adopted and has generally benefitted everyday applications, mostly those that need only a small amount of graphics and processing power. Even so, software GPU still relies on the host's CPU to do the work, which can affect server performance and make it unsuitable for high-end, graphic-intense programs such as computer aided design (CAD) applications. In fact, under certain circumstances, software GPU can actually worsen the user's experience and diminish the scalability benefits that drive shops to adopt VDI in the first place.
Offloading graphic processing
To meet the needs of the power apps not suited to software GPU, VDI vendors have been turning back to the good old days of graphic acceleration and are once again incorporating hardware GPU into their virtual desktop offerings. In this scenario, one or more GPUs designed specifically for VDI are installed on the host server. The GPU processing for the virtual desktop is then offloaded to those GPUs, paving the way for CAD-like programs, gaming applications and other video-intense operations.
Two primary approaches have emerged for offloading graphic processing. The most commonly implemented is shared GPU. In this scenario, the physical GPUs are virtualized and shared across multiple VMs. A graphics driver runs in each VM and communicates with a vendor-specific GPU driver in the hypervisor.
Although this approach has proven to be an effective strategy, it's usually limited to applications that have specific versions of the DirectX or OpenGL graphic rendering APIs. Fortunately, many apps have these.
Another approach to offloading graphics processing is GPU pass-through. Pass-through differs from shared GPUs in that each GPU is assigned to a specific VM. In addition, GPU pass-through bypasses the need for a driver at the hypervisor level. Instead, it provides a direct path between the VM driver and the GPU. This approach offers high-performing acceleration for even the most graphic-intensive applications. It does come with a hefty price tag, however, and there are limits on the number of VM/GPU pairings you can support.
Be sure to carefully evaluate your needs before deciding on hardware. That said, the last thing you want are VMs that underperform and fail to deliver desktops that keep your users productive and happy.
How VMware and Citrix GPU options differ