3D Graphics in VDI

3D in VDI is something that we have seen some interest in before from customers, but often the economics don't make sense. That is to say, it can be REALLY expensive.

Take for example, a scenario where you have 3D application requirements… for smaller environments, a few to a dozen users, this is easy, and the economics are decent. But, say it's a larger environment, maybe a few hundred, or even a thousand users.

There's a couple ways to do this…first you could buy servers with physical GPUs and map one physical GPU per virtual desktop. VMware vSphere supports this with vDGA (it passes through a single GPU to a VM; a 1 to 1 relationship). XenServer can do it as well, but the downside to either of those hypervisors doing direct pass-through is that you can only get 8 users PER SERVER, because the NVIDIA GRID cards that are certified for XenDesktop and View only have 4 GPUs each and you only put 2 cards in a server. So that means you'd have to provide 125 servers to support only 1,000 users.

1-to-1 physical mapping of GPUs can be a MASSIVELY expensive solution, and the economics of a physical GPU mapped 1-to-1 for each user starts to make less sense. In fact, when we’ve had this discussion in the past, the idea of supporting 3D graphics in a Citrix environment has been tabled due to the cost. 125 blade servers each with $20,000 or so worth of graphics hardware that can each only support 8 users… that's a HUGE amount of infrastructure for NOT a lot of users. Not to mention the datacenter space that it will take up and the extra switching infrastructure, etc. We're talking RACKS AND RACKS of gear. AND, what if you need to have a failover site? DOUBLE that infrastructure!! It just doesn't scale very well.

Virtualizing GPU​

So fortunately, there's an alternative… Both XenServer and VMware vSphere can virtualize the GPU, allowing up to 8 users to share a single physical GPU. Doing that, you can get a user density of 64 users per server (8 GPUs * 8 users per GPU = 64 GPU users). Then we only have to buy 16 servers to support those 1,000 3D graphics users. XenServer actually does this better than VMware currently (see here: https://www.youtube.com/watch?v=oYefdXMSGn0, and here: https://www.youtube.com/watch?v=0QYc1AGCDzw), but they both do it. And it looks pretty good on XenServer!

Having said that, if the requirement is JUST Google Earth, VMware's vSGA actually looks pretty decent too: https://www.youtube.com/watch?v=iRIFSetKdxA

Of course, as with anything VDI, mileage may vary with the intensity of the 3D application the customer is using.

But overall, from a cost and density perspective, shared (virtual) GPUs offer better scalability, better user density, a whole lot of cost and hardware savings, and unless the customer has a requirement for MASSIVE 3D processing, like big CAD or design-type software… the virtual GPU model could be a whole lot better!

Additional Information​

For anyone who wants to do their own additional research about 3D in VDI and how VMware and Citrix achieve GPU virtualization, here's a few links to get you started: