chris - Fotolia
GPU virtualization technology provides a host of benefits, such as improved user experience, reduced CPU usage and the ability to run resource-intensive applications in the data center. But administrators must ensure their workloads will use virtual GPUs efficiently and cost-effectively. Otherwise, they risk the possibility of unused vGPUs, which leads to virtualization overhead.
Traditionally, GPU virtualization was generally used only for graphics-heavy workloads and VDI environments. But as virtualized GPU technology progresses and vendors such as VMware and Nvidia produce vGPUs that are easier to use, admins are beginning to implement them into their data centers. But vGPU implementation requires careful thought and consideration prior to commitment, such as choosing the right GPU chip type, understanding GPU use cases and knowing when not to use GPU technology.
GPU virtualization chip types
Admins who decide GPU virtualization technology have several options to choose from, such as Intel's Graphics Virtualization Technology (GVT), Advanced Micro Devices' (AMD) Multiuser GPU (MxGPU) and Nvidia's vGPUs.
Intel's GVT relies on a software layer that supports KVM and Xen hypervisors. It also lets VMs access virtualized GPU cores with OpenCL and comes in three variations: GVT-d, GVT-g and GVT-s. GVT-d lets admins dedicate Intel GPUs to a VM, GVT-g lets admins timeshare a vGPU between multiple VMs using a native graphics driver and GVT-s lets admins share vGPUs to multiple VMs using a virtualized graphics driver.
Nvidia's vGPUs also rely on a software layer on top of a hypervisor, which enables VMs to share the underlying physical GPU. Nvidia's vGPUs have a unique ability to operate in pass-through mode, which enables a single VM to access the GPU at a time, which, in turn, helps improve performance.
Unlike Intel's GVT and Nvidia's vGPUs, AMD's MxGPU relies on graphics cards that have MxGPU chips and Single Root I/O Virtualization technology for GPU virtualization. It supports VMware ESXi, KVM and Xen hypervisors.
Use cases for vGPU technology
Admins can use vGPUs to increase server density and provide a better endpoint user experience. Admins can reduce CPU usage for specific applications, such as Microsoft Office and Windows 10, while using vGPUs.
For example, without a vGPU, admins' CPU usage while using PowerPoint can get as high as 30%. But with a vGPU, admins can decrease CPU usage to as little as 5% and a maximum of 10%.
Other vGPU technology use cases include supporting published applications, increasing virtual desktop capabilities and migrating high-end workstations and resource-intensive applications from the cloud to the data center. The educational and automotive industries are two verticals that use vGPU technology.
Boost efficiency of virtual systems with vGPUs
Admins who rely on VDI might notice suboptimal performance within their virtual systems. This is because their non-GPU-enabled servers don't have the proper GPU resources, such as processors and framebuffers, to function efficiently.
However, admins can run complex graphics while maintaining performance if they take advantage of vGPUs. For example, normal CPU cores traditionally handle one instruction at a time and don't perform as well as GPU cores running at 700 MHz.
Toyota is migrating to fully virtualized environments and relying on vGPU technology to handle complex operational tasks within its data centers and reduce compute consumption.
Saved CPU cycles lead to optimized casts in hardware, floor space and cooling. Admins can also reduce the cost of network costs, all while optimizing virtual system performance.
When not to invest in GPU virtualization technology
Early virtualized GPU technology usage was either graphics-adjacent or restricted to high-performance computing workloads, which made it difficult for admins to implement vGPUs.
With advancements from VMware and Nvidia, GPU virtualization and configuration is now much easier for organizations. Before investing in vGPUs, admins must ensure their workloads will use them efficiently, or the hardware expense that comes with physical GPUs isn't worthwhile.
Many vGPUs often go unused in a virtual system, making them less cost-efficient. VGPUs perform well in machine learning workloads such as the FBI's use of facial recognition, which requires a vast amount of vGPUs to work around the clock.
But using vGPUs in an average business is less efficient because the vGPUs are unlikely to generate constant processing demand. Admins should confirm their workloads can actually benefit from virtualized parallel processing to avoid unnecessary costs or overhead.
How to implement GPU virtualization in vSphere
There are many ways for admins to implement GPU virtualization hardware on vSphere, such as VMDirectPath I/O, Nvidia Grid or Bitfusion FlexDirect on vSphere.
VMDirectPath I/O. This deployment method is the easiest way to provide VMs with access to GPU hardware in vSphere, but it come with its own limitations. After admins select a Peripheral Component Interconnect adapter in their ESXi host and assign the adapter to a VM, that adapter is unavailable for any other action. With VMDirectPath I/O, overhead is minimal, but admins won't be able to use vMotion or take snapshots of VMs.
Nvidia Grid. This software lets multiple VMs share a GPU and requires admins to install software in the hypervisor as well as their VMs. Nvidia Grid lets multiples users share hardware GPU resources and migrate VMs to another host with vMotion. However, sharing resources and VMs with multiple users can cause issues if admins must stop or restart VMs that other admins are running.
Bitfusion FlexDirect on vSphere. Admins can create an abstraction layer between GPU hardware and any VMs that use Bitfusion FlexDirect on vSphere via a fast networking technology, which makes those VMs independent from physical hardware. This provides more flexibility, even across clusters.