VMworld 2011 Europe is taking place this week in Copenhagen. While the show is supposed to be fairly similar to the US one (since that was just a few months ago), we're seeing a few new desktop announcements, including one about 3D graphics & VMware View.
VMware announced that they're partnering with NVIDIA to deliver high-end virtual workstations with 3D graphics support, via VMware View. (This is something that Citrix has been playing around with for awhile with HDX 3D Pro, and it appears that everything VMware is planning to do is what Citrix can currently do with XenDesktop 5.5 on XenServer 6.)
Wait.. so this is VDI with 3D graphics?
While we've had the ability to deliver 3D graphics from workstations in the datacenter for years, that was historically only possible with physical blade workstations with local GPUs that users connected to in a 1-to-1 way. (This is how Teradici got started with PCoIP before VMware started using it for VDI, and Citrix's HDX 3D Pro has offered this capability for awhile too.)
So now VMware and Citrix are talking about doing this with virtual workstations instead of physical blades. My gut reaction was to think that virtual workstations wouldn't have the horsepower, but that's probably old thinking. I mean in today's world with 6-core processors and hundreds of gigs of RAM in a server, I'm sure we can deliver a great workstation experience from a VM. Well, we can do it in terms of raw CPU and memory. But what about the GPU that most people like to have in high-end workstations? That's where NVIDIA comes in.
Introducing the NVIDIA Quadro Virtual Graphics Platform
NVIDIA is solving that with the release of their "Quadro Virtual Graphics Platform," something they announced at a conference called SIGGRAPH in August. (For NVIDIA, the "Quadro" products are just the professional versions of what you and I know as the GeForce series.) If you missed the announcement, NVIDIA has a video of the presentation available online via their Facebook page. (You don't need a facebook account to see it:)
This link goes to the entire NVIDIA archive from SIGGRAPH 2011.
Use the scroll list under the video player to find the session titled "Remote Computing with the Quadro Virtual Graphics Platform."
NVIDIA is very clear on their reason for creating their virtual graphics platform. This is NOT for using GPUs to encode or deliver office apps, rather, this is to enable VDI-like use cases for apps like Maya or CATIA or SolidWorks. This is for doing real high-end work with applications that require real GPUs.
The "catch" is that the NVIDIA virtual graphics platform requires one NVIDIA card for each user. So where you might be able to get 100 regular office workers on a single VDI host, you're probably only looking at a handful of NVIDIA high-end VDI users per host. (Honestly you're probably most limited by the number of slots you can get in a server.)
For what it's worth, that shouldn't be a problem for people who need this. (Nor should the cost of the cards be a problem.) This is a niche use case for people who are already accustomed to spending thousands of dollars for specialized graphics hardware per user. So if them moving the high-end workstation into their datacenter means that they can prevent IP theft or let users work from home, I'm sure that's totally worth it for them.
How the NVIDIA Quadro virtual graphics platform works
The NVIDIA virtual graphics capability is built on four components:
Multi-OS is a core technology that plugs into a hypervisor that allows it to pass the graphics cards through to the VMs. This is not a product per se, but rather something that they provide directly to the hypervisor vendor to integrate into the hypervisor. Right now (as far as I can tell) the only products that have this built in are XenServer 6 and Parallels Workstation 4.0 Extreme.
When Multi-OS is present in the hypervisor, the VM is able to get a direct pass-through to the GPU card. The VM runs the regular drivers from NVIDIA, and any guest OS that supports that graphics card is supported.
Monterey is a set of technologies that gets the rendered pixels from the GPU to the remoting protocol engine. Like Multi-OS, Monterey is not a product, but something that companies like Citrix or VMware would use to get the rendered pixels to HDX or PCoIP. NVIDIA said that Monterey is fast. So fast, in fact, that they can provide the pixels to Citrix or VMware faster than they can get them rendered to a local display via DVI.
NVIDIA Quadro Graphics cards
The core of the virtual graphics platform capability is built around NVIDIA's existing line of Quadro graphics cards. They use the completely normal cards, any Quadro model from 2000-6000, with no special enhancements or anything. They also support the Tesla M-7020-Q which is basically like a Quadro 6000 except that it's built for the datacenter, so there's no physical display connectors and no fans.
Different graphics cards have different capabilities (for different prices), but since this whole thing is for one-to-one users-to-graphics card mapping, you'd pick the card that you need based on your application, which is no different than the physical workstation world.
NVIDIA talked about how their Tegra (their system-on-a-chip) clients were great for this kind of thing, but the reality is that any client device would be fine. And that's the point to stress: any client device. Since all the heavy lifting is done in the datacenter, you could have a thin client or an iPad as your client and the performance would be great (assuming you had the bandwidth, etc.).
Next steps for VMware
So back to VMware, whose announcement is the reason for todays article: Right now VMware is only saying that this solution will be available "soon." We can assume it will be delivered via PCoIP, although in their announcement that also talk about accessing 3D workstation apps via VMware AppBlast (that HTML interface to View Windows VMs that doesn't use PCoIP), so I assume that will be an option too.
On a bit of a side note, I wonder if we'll be able to use HDX 3D for Citrix XenDesktop running on vSphere once VMware releases vSphere support for the Multi-OS portion of the NVIDIA virtual graphics platform? I assume the answer is "yes" since the desktop VM would see the passed-through GPU, but who knows?