Biz & IT —

NVIDIA’s VGX cards bring big graphics performance to virtual machines

However, the new hardware and software is not without limitations.

Though virtual machines have become indispensable in the server room over the last few years, desktop virtualization has been less successful. One of the reasons has been performance, and specifically graphics performance—modern virtualization products are generally pretty good at dynamically allocating CPU power, RAM, and drive space as clients need them, but graphics performance just hasn't been as good as it is on an actual desktop.

NVIDIA wants to solve this problem with its VGX virtualization platform, which it unveiled at its GPU Technology Conference in May. As pitched, the technology will allow virtual machines to use a graphics card installed in a server to accelerate applications, games, and video. Through NVIDIA's VGX Hypervisor, compatible virtualization software (primarily from Citrix, though Microsoft's RemoteFX is also partially supported) can use the GPU directly, allowing thin clients, tablets, and other devices to more closely replicate the experience of using actual desktop hardware.

NVIDIA's VGX K1 is designed to bring basic graphics acceleration to a relatively large number of users.
Enlarge / NVIDIA's VGX K1 is designed to bring basic graphics acceleration to a relatively large number of users.
NVIDIA

When last we heard about the hardware that drives this technology, NVIDIA was talking up a board with four GPUs based on its Kepler architecture. That card, now known as the NVIDIA VGX K1, is built to provide basic 3D and video acceleration to a large number of users—up to 100, according to NVIDIA's marketing materials. Each of this card's four GPUs uses 192 of NVIDIA's graphics cores and 4GB of DDR3 RAM (for a total of 768 cores and 16GB of memory), and has a reasonably modest TDP of 150 watts—for reference, NVIDIA's high-end GTX 680 desktop graphics card has a TDP of 195W, and the dual-GPU version (the GTX 690) steps this up to 300W.

Where the VGX K1 serves many users with basic graphics functionality, the all-new VGX K2 can go the opposite direction and give a few users a lot of graphics power. The new card has two GPUs with 1536 cores and 4GB of GDDR5 RAM each, and has a TDP of 225W—the card is being marketed as two of NVIDIA's Quadro K5000 workstation graphics cards stuck together.

The VGX K2 is designed to bring workstation-class graphics performance to virtual machines, but only for two users at once, and only using Citrix products.
Enlarge / The VGX K2 is designed to bring workstation-class graphics performance to virtual machines, but only for two users at once, and only using Citrix products.
NVIDIA

For the VGX K2, NVIDIA's hypervisor supports a "pass-through mode" that can give full control of one of the GPUs to one virtual machine at a time—this means that, as of this writing, only two users can actually use the VGX K2 in this way at once, but each of those users has the same capabilities and power that they would have if they were sitting in front of an actual workstation.

These functions are enabled using the same basic drivers that NVIDIA uses on the desktop, so when used with compatible virtualization software—again, Citrix products are the main example, particularly XenDesktop 5.6 FP1 and XenServer 6—VMs have access to Direct3D, OpenGL, OpenCL, CUDA, and any other feature you'd normally have on a full-fledged desktop, allowing for full use of CAD, Adobe, and other GPU-accelerated applications from within virtual machines. If you're using Microsoft's HyperV and RemoteFX, the functionality is a bit more limited—you can support multiple users per GPU, but only Direct3D graphics acceleration is supported.

NVIDIA says that the VGX K2 will eventually support pass-through mode features for multiple users per GPU, but that the software to enable that feature still needs work—software updates for NVIDIA's and Citrix's software should enable this feature next year. Obviously, the amount of power available to each user will decrease as the number of users increases, but for people and applications with more modest demands it should increase the bang-to-buck ratio for these cards. Due to its weaker hardware, no support for pass-through mode is planned for the VGX K1 card.

Despite the promised performance, NVIDIA says the bandwidth requirements for the VGX K2's features won't be too onerous. Will Wade, NVIDIA's Senior Product Manager for Quadro Virtualization and Remoting, mentioned on the call that he was currently using a VGX-enabled virtual machine from his home office, and that bandwidth requirements for good performance could be measured in megabits, rather than tens of megabits.

Different cards built for different purposes.
Enlarge / Different cards built for different purposes.
NVIDIA

These cards both have a lot of promise—laggy video and nonexistent 3D support has long been a limitation to the user experience in virtual machines, and the VGX K1 looks like a solid and cost-efficient way to improve this situation. The VGX K2, on the other hand, strikes me as a bit more of a niche product—very useful for heavy users who work remotely while traveling or in their home offices, but perhaps less so for on-site users, especially if you have a lot of them. Increased buy-in from vendors would also be nice to see, and NVIDIA says that the company is working on it: while Citrix is the sole vendor of fully compatible solutions today, Wade says that VMware is "right on their heels" and will be announcing compatibility early next year. The company is also working with Microsoft and Red Hat, though those solutions are far off enough that no availability information is available.

NVIDIA is making the VGX K2 available to its OEM partners (including Cisco, Dell, HP, IBM, and Supermicro) now, and servers using the card should begin appearing on the market by the beginning of 2013.

Listing image by NVIDIA

Channel Ars Technica