Gunnar Berger

A member of the Gartner Blog Network

Gunnar Berger
Research Director
1 year at Gartner
14 years IT industry

Gunnar Berger is a research director for Gartner's IT Professionals service. He covers desktop, application and server virtualization ...Read Full Bio

Coverage Areas:

Understanding Virtual Desktop (VDI) GPU Technologies

by Gunnar Berger  |  October 23, 2013  |  8 Comments

It’s time for me to admit something; while I have been sharing quite a bit in blogs and research lately around high end graphic technologies with virtual desktops, I’ve been quiet on some fronts, specifically shared graphics technologies. The reason I haven’t said much is that I haven’t been impressed by most of the technology that’s been out there. I have known for the past two years that better technology is coming so I decided to focus on the good news (typically GPU pass through technologies) as it became public and not blog or tweet, or just rant about what I really want, because up until now what I want didn’t exist.

Organizations that I talk to who are interested in doing high end engineering workloads on virtual desktops have had very few options over the years. The options that have been slowly showing up for the past few years had very little scale (direct GPU mapping) or had a less than stellar performance. However with the release of NVIDIA’s GRID vGPU platform I’ve seen for the first time a solution that is designed to scale better and also deliver a rich user experience. I’ve spent the good part of a year constantly testing these technologies and with the release of XenDesktop 7.1 I’ve finally been able to run a working test that I can publicly demonstrate, so without further ado I give you GRID vGPU on XenServer vs vSGA on vSphere.

3D World Demo:

3D Model Demo:

Now with new technology comes more confusion so I wanted to end this blog with some generic ways to understand the different technologies that are out there:

  • GPU pass through – All this does is pass the PCIe based GPU directly into the VM. The native graphic drivers for the GPU are installed and you should get the native graphic performance with that card.
  • Shared Virtualized GPU – Instead of passing a GPU directly to the VM a hypervisor sits between the VM and the GPU. This is very similar to how we have been virtualizing the CPU for server/desktop virtualization.
  • GPU Emulation – Unlike Shared Virtualized GPU there is no hypervisor layer that abstracts the physical hardware to the virtual hardware. Instead a resource manager carves up the GPU and passes it to individual VMs. It’s very similar to GPU pass through but in this model the GPU can be shared.
  • Software-based GPU – Instead of having a hardware GPU a video driver is created that uses the CPU as the GPU, as you can imagine this doesn’t give very good performance for high end tasks but may be enough for simple things. (This is sometimes called software rasterization)
  • RDS GPU Sharing – RDS GPU sharing uses GPU pass through (the first bullet) into a RDS VM, because RDS is a shared Windows kernel, multiple sessions can use the same GPU.

In the videos above I was comparing NVIDIA’s technology which I’ve created the new category of “GPU Emulation” to the shared virtualized GPU technology used in VMware vSphere. I created the new term because there are fundamental differences between a “virtualized GPU” and how the GRID vGPU technology actually works. I’m not going to get into these differences on the blog but you are more than welcome to call me if you are a Gartner client.

Gunnar

@gunnarwb

Update 1: It has come to my attention that my demo has created an assumption that XenDesktop running of vSphere is what’s causing the graphic performance issues. This is not the case, even if VMware’s Horizon View was running on top of vSphere the performance would be identical. 

Update 2: I’ve run some additional testing at scale and while the vGPU does do a better job than vSGA, it is no where near as drastic as my videos show. In fact as soon as you do two VMs running on the same PCIe bus the performance takes a significant hit.

8 Comments »

Category: GPU SHVD VDI     Tags: , , , , ,

8 responses so far ↓

  • 1 Thomas Poppelgaard   October 23, 2013 at 9:06 pm

    Great blogpost and very cool videos Gunnar. You deliver a clear strong message with your videos and user experience is crucial for business that requires using GPU capability for high end graphics.

    I miss the bare metal part in VDI (GPU) technologies
    – “Bare metal” VDI dedicated GPU
    – “Bare metal” RDS/CTX GPU sharing

    There is a technology from Citrix RemotePC, where you take the existing bare metal machine with a GPU and get access to the bare metal “VDI” from any device. This technology have been used for many clients before GPU pass-through was introduced, which have been the replacement to reduce the TCO and lately vGPU which reduce the TCO even more for native experience.

    You can create bare metal RDS GPU Sharing without GPU pass through. With GPU Pass-through there is a small overhead of virtualization using a Hypervisor like Xen, Vsphere, Hyper-V. Many uses the “non GPU pass-through” option to get pure bare metal performance and share the GPU in a RDS/Citrix environment.

    Microsoft RDS GPU sharing cant share OpenGL or OpenCL/CUDA, but with Citrix XenApp 6.5FP3 or XD7.1 App-E Citrix offers this.

    Thats my 5 cent :)

    Regards
    Thomas Poppelgaard
    Technology Evangelist

    Subject Matter Expert – Remote graphics
    Citrix Technology Professional CTP

  • 2 iWontLose™   October 29, 2013 at 8:11 pm

    [...] you. We ask ourselves WHAT IS THE WHY? Check out today’s video to learn how to dig deeper to understanding what motivation is all [...]

  • 3 jnorman   November 1, 2013 at 7:42 am

    Great covering gunnar. I was wondering about your update 2, is there a significant decrease in performance on the vGPU on citrix that levels the competition with vSGA on vmware when shared on 2 or more vm´s on both systems? Meaning of course that vmware runs 2 or more vm´s too of course.

    Best regards

    /Jörgen

  • 4 Kitty Huang   November 7, 2013 at 3:12 am

    Hello!
    I could not see the Domo on the web, could you please send them to me by email or give me the Demo download link?

  • 5 Nina   November 15, 2013 at 5:26 am

    Hey Gunnar,
    Excellent post.Thanks for sharing such a great and helpful info with us.Keep it up.

  • 6 Andrew Mostovoy   February 6, 2014 at 12:49 am

    Hi Gunnar,
    There is one thing that I cannot seem to get a clear answer on from anyone: If I am deploying a XenDesktop 7.1 on vSphere 5.1 or higher, will vGPU work? VMware tends to discuss only View on vSphere while Citrix talks only about XenDesktop on XenServer. Could you clarify this for us please?
    Thank you in advance!

  • 7 Kai   February 19, 2014 at 3:52 pm

    Hi Andrew,

    Currently, the vGPU solution only works on XenServer platform. Because, currently the NVIdia only develop the vGPU manager on XenServer platform.

    And it seems this solution will not support VMWare vSphere and MS hyper-V soon.

  • 8 Craig   February 20, 2014 at 2:46 pm

    Gunnar,

    Thank you for this post, it was extremely helpful. I was wondering what was the GPU benchmark tool used for the demo?

    Thanks….

Leave a Comment