Intel® Graphics Virtualization Update
Traditional business models built on graphics and visualization usages such as workstation remoting, VDI, DaaS, transcoding, media streaming, and on-line gaming, are beginning to draw open source attention, worldwide. Employees are becoming increasingly mobile. They want flexibility of working from any device, anywhere, anytime, with any data, without any compromise in the quality due to access, latency or visualization. At the same time, on the data center side, IT wants to protect enterprise data and IP in the most cost effective and scalable manner, while delivering a great user experience to the mobile users.
To satisfy both client and server sides, Intel has developed a comprehensive portfolio of graphics virtualization technologies trade marked as Intel® Graphics Virtualization Technology™ (Intel GVT). This portfolio currently covers three distinct flavors of graphics virtualization approaches, namely: Intel GVT-d for direct GPU 1:1 access, Intel GVT-s for API level 1:many sharing and Intel GVT-g for 1:many shared virtual GPU. Developers can pick one or more techniques from Intel GVT portfolio to best suit their respective solutions and business models. Additional innovative techniques can be expected to get added to the portfolio as Intel GVT adoption will grow, especially in the open source.
Further, capitalizing on the benefits of Moore’s law, Intel is integrating CPU-GPU in both client and server products which results in improved energy efficiency, reliability, density, and lower engineering complexities. Combining Intel’s platform integration advantages with smart techniques of sharing graphics amongst many concurrent users, IT can now deliver workstation quality high-end performance at low total costs of ownership. Additionally, using Intel® Media SDK™ tools and libraries, developers can write software that scales very well across all Intel platforms, and can last over multiple generations.
Intel GVT portfolio can be summarized as follows:
This flavor allows direct assignment of an entire GPU’s prowess to a single user, passing the native driver capabilities through the hypervisor without any limitations (fig-1). The assignment of the GPU is accomplished using Intel’s foundational hardware virtualization features namely VTd or DPIO. For Xen developers, Intel GVT-d has been upstreamed as Qemu Traditional with VTd.
Common nomenclature used in the industry for this flavor of graphics virtualization is ‘Direct Graphics Adaptor’ (vDGA). A large number of commercial desktop and workstation virtualization products in the market use this approach.
From user experience view point, there is practically no difference between having a local desktop machine with a dedicated GPU, versus, having a Virtual Desktop with Intel GVT-d direct assigned Intel processor-graphics somewhere in the enterprise server or in the cloud.
This graphics virtualization approach requires a virtual graphics driver in a virtual machine using an API forwarding technique to interface with the graphics hardware (for example fig-2). Single GPU hardware can be shared amongst many concurrent users, while the graphics hardware remains abstracted from the applications. Specific sharing algorithms remain proprietary to the virtual graphics driver. Many commercial desktop and workstation remoting products in the market use this approach.
This approach of sharing a GPU amongst many concurrent users is the latest addition to Intel’s graphics virtualization technologies portfolio (fig-3). Each virtual desktop machine keeps a copy of Intel’s native graphics driver. On a time sliced basis, an agent in the hypervisor directly assigns the full GPU resource to each virtual machine. Thus, during its time slice, while the virtual machine gets a full dedicated GPU, from overall system view point several virtual machines share a single GPU. Intel has been developing GVT-g under the code name “XenGT” for Xen. Up-streaming of GVT-g to KVM is also in works. More recently, Intel has been disclosing this solution to select partners, and making the source available for variety of processor graphics configurations.
Major ISVs and OEMs are aligning with Intel to productize Intel GVT based solutions. Open source developers are finding Intel GVT portfolio with Intel processor-graphics products equally enticing. It will be interesting to see some cool innovations emerge from graphics virtualization. I’d love to hear your thoughts, please comment below (must register before commenting.)