This content is part of the Essential Guide: Everything you need to know about GPU virtualization
Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

'No graphics for you!' Why choosing the right vGPU option is critical

If users don't need graphically intensive applications, your virtual environment probably doesn’t need vGPU. But workers who need CAD or 3D rendering software also need processing power, so the right vGPU is critical.

It’s not exactly a secret that planning a VDI deployment involves a lot of work, but one aspect of the planning...

process that is easy to accidentally overlook is the vGPU.

A virtual graphics processing unit (vGPU) is the component that renders graphics on virtual desktops. Because virtual desktops run on a server rather than on a physical PC, most of the graphical processing takes place on the server side. The device a worker uses to access his virtual desktop has a physical GPU, but it only displays the virtual desktop environment. It is the server’s vGPU that really does the graphical heavy lifting.

The most important thing to know about vGPUs is that there are a number of options available. You must base your vGPU selection on your virtual desktop’s needs, and on the hypervisor’s capabilities. If for example, all of your employees use their virtual desktops for word processing, accounting and other mundane business tasks, then you probably won’t have to put a tremendous amount of thought into your GPU options; the virtual desktops don't run graphically intensive applications. If on the other hand, you have virtual desktop users who do computer-aided design (CAD), video editing or 3D rendering, then vGPU selection it very important.

Generally speaking, there are a few different options for virtual GPUs. One of the most common, but poorest-performing options involves allowing your hypervisor to emulate a GPU. This type of emulation occurs when the host server does not have a physical GPU that can be used for virtual desktop video processing.

In those situations, the hypervisor uses the server’s physical processor to handle all of the graphical processing. The advantage to using this approach is that it is really easy to implement. The disadvantage however, is that the graphical instructions place a significant load on the server’s physical CPU. In some cases, this extra load can cause a CPU bottleneck. Even if a CPU bottleneck does not occur, graphical performance can suffer because an emulated GPU can't render graphics as efficiently as a physical GPU.

Another option involves using GPU pass through. GPU pass through delivers the best performance for virtual machines that are running graphically intensive workloads. In fact, the level of performance that you can deliver with this method is similar to what you could achieve if the virtual desktop were an OS running on a physical PC with its own dedicated GPU.

GPU pass through requires a hypervisor that can perform GPU redirection. NVIDIA GRID for example is certified to work with Citrix XenDesktop and VMware Horizon View. The hypervisor acts as a proxy, relaying graphical instructions from a virtual desktop to a physical GPU. Although it is the hypervisor that makes the connection between the virtual desktop and the GPU, the virtual desktop must have an appropriate video driver installed at the guest-OS level to utilize the physical GPU.

Although GPU pass through delivers the best graphical performance for virtual desktops, it does have a significant disadvantage. Because a physical GPU is mapped directly to a virtual desktop there is a limit to the number of virtual desktops that can take advantage of GPU pass through. If a host is equipped with four GPUs for example, only four virtual desktops will be able to use GPU pass through. Furthermore, GPU pass through can complicate high availability because a destination server might not be equipped with enough physical GPUs to accommodate a virtual desktop that has just failed over.

Another, usually more practical option is GPU sharing. Just as a host server shares physical CPUs among virtual machines, GPUs can be shared among virtual desktops. GPU sharing typically delivers much better graphic performance than using software emulated GPUs, but it does not deliver the level of performance that you can expect from a dedicated GPU.

Shared GPUs work very similarly to GPU pass through in that the hypervisor acts as a proxy, passing graphical information to the GPU. The difference is that because multiple virtual desktops share a GPU, a time slice mechanism makes sure that each virtual desktop receives an appropriate level of GPU resources. Some vendors take this a step further and allow for the creation of usage profiles. This allows the users who run more graphically intensive workloads to receive a greater percentage of GPU time.

Next Steps

Comparing vGPU support from VMware and Citrix

Three vGPU options from VMware

Protocol vs. GPU offloading

Dig Deeper on Virtual desktop infrastructure and architecture

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Which vGPU option best suits your virtual desktop environment and why?
This is often an eye opener for many people who virtualize as they realize that, yes, a fair number of applications do require some decent graphics processing. It doesn't have to be the CAD users or the video gaming enthusiast, either. Many social platforms that process lots of photos will do well with a quality graphics processor. It's one of those things that you don't realize you it need until you realize you need it ;).
Virtualizing high-quality graphics is an issue that many enterprises face as users demand high-quality graphics even with virtualized environments. 

According to the new survey/research conducted by IDG on behalf of NVIDIA, VMware and Dell, just under one-quarter of respondents’ organizations (24%) have deployed a virtualized graphics solution, while 19% have deployment plans in the next 1-2 years. Another 22%, while they have no firm plans, have an interest in virtualizing their workstation or graphics user environment. 

The purpose of the survey and research was to better understand user experiences and challenges with demanding graphics applications in use today, in addition to deployment plans for virtualized graphics solutions. 

Other findings from the survey included: 

Eighty percent of respondents agreed that long cycle times to load and save large graphic data sets in virtualized environments impede productivity. Among those who agreed, more than one third (35%) reported it takes an hour or more to load or save a large graphic data set. 

Less than half (42%) rate the user experience of their organizations’ graphics applications as excellent or very good. The most important potential capabilities that respondents are looking for in a graphics application include improved security/disaster recovery (69% rating critical/very important), shortened load time (67%) and graphics acceleration (63%). 

You can read more about the survey here: 

Jeff Rutherford, commenting on behalf of IDG, NVIDIA, VMware, and Dell
As you pointed out, in virtualized environments, server-based GPU acceleration has come in two basic flavors to date: GPU Sharing and GPU Pass-through. Until NVIDIA GRID, the GPU was the stumbling block in a virtualized system. GPUs were never designed to be virtualized - until NVIDIA developed GRID. NVIDIA GRID was designed to serve multiple concurrent users without performance or latency issues.

This white paper - - NVIDIA GRID: Graphics Accelerated VDI with the Visual Performance of a Workstation - explains the power and design of NVIDIA GRID in depth.