Configuring Virtual Environments for Graphics-Intensive Applications (C240+XenDesktop+NVIDIA)
The Guild of St Luke in Florence, where Leonardo Da Vinci qualified as a master sculptor when he was only 20 years old, had in attendance both artists and doctors of medicine. While someone today might wonder what those two vocations have in common, someone from the Italian Renaissance would not. Michelangelo and Leonardo Da Vinci were the most famous artists of their day, but they were also remarkably skilled engineers, designers, architects, and experts on human anatomy.
Like the guilds of Renaissance Europe, NVIDIA graphics cards serve multiple disciplines. They can deliver 2D/3D graphics performance to CAD/CAM engineers doing design work, medical technicians and doctors examining MRI/CT scans or tumor reconstructions, scientists performing data modeling, and a variety of graphics professionals.
Although their huge thirst for computing power and their immense appetite for data have kept them at the leading edge of computer design, graphics applications have been unable to take advantage of the revolution in virtualization. Narrow network bandwidths and localized rendering engines made it impractical. And companies were sensitive about the security of their intellectual property.
However, Cisco and Citrix have developed a solution in which graphics applications can run in virtual environments with as much performance and security as if they were running locally on high-powered graphics workstations. The solution allows graphics professionals to reap the benefits of virtualization: data remains protected in the data center, desktops are centrally provisioned, and users in different locations can remotely access the same large graphics files on a variety of devices—even on remote workstations, laptops, and tablets.
This blog describes the solution, its major components, and what’s involved in configuring it inside your data center. You can get the details about the full solution in this Cisco White Paper.
The Cisco and Citrix Solution for Virtualizing Graphics Applications
Four elements are key to the Cisco-Citrix solution:
- A combination of Citrix XenDesktop 7.5 and Cisco UCS C240 M3 rack servers that enables up to 64 VMs per server to run rich 2D/3D applications accelerated by NVIDIA GRID technology.
- Compute, network, and storage efficiency that gives each desktop (or other device) virtual GPU performance comparable to locally executing applications.
- The flexibility of the Citrix XenDesktop to run the NVIDIA GRID cards in both pass-through and vGPU modes, to configure different vGPU types, and to balance the number of vGPUs to match requirements.
- Comprehensive and centralized management of the entire system and its components via the Cisco UCS Management suite.
Major System Components
The major components of this system are:
- Cisco UCS 240 M3 Rack Servers
- Citrix XenDesktop 7.5
- NVIDIA GRID K1 or K2 Graphics Cards
- Citrix XenServer 6.2 Service Pack 1.
Cisco UCS 240 M3 Rack Servers
The Cisco UCS C240 M3 rack server is part of the Cisco Unified Computing System (UCS) family, a data center platform that unites compute, network, and storage access. The platform is optimized for virtual environments and uses open industry-standard technologies to reduce total cost of ownership. It integrates a 10 Gigabit Ethernet network fabric with enterprise-class, x86-architecture servers.
The Cisco UCS C240 M3 servers feature breakthrough compute power for demanding workloads and are rack-mountable with a compact 2RU form factor. These servers use the same stateless, streamlined provisioning and operations model as their blade server counterparts, the Cisco UCS B-Series Servers. The Cisco UCS C240 M3 servers can support either SAS, SATA, or SSD drives internally, or they can interface with third-party shared storage to meet cost, performance, and capacity requirements.
The Cisco UCS C240 M3 servers also include:
- Cisco UCS 6248UP 48-port Fabric Interconnects that supply 10-Gigabit Ethernet, Fibre Channel, and FCoE (Fibre Channel over Ethernet) connectivity
- The Cisco UCS Virtual Interface Card, a PCI Express (PCIe) adapter optimized to handle virtualization workloads of the Cisco UCS C-Series rack servers
- Cisco UCS Manager, which can be accessed through a GUI, a CLI, or an XML API to control multiple chassis and thousands of virtual machines. Administrators can use the same interfaces to manage these servers along with all other Cisco servers in the enterprise.
Citrix XenDesktop 7.5
Citrix XenDesktop 7.5 delivers Windows operating systems and high performance applications to a variety of device types with a native user experience. This XenDesktop release includes HDX enhancements (including HDX 3D Pro) to optimize virtualized application delivery on mobile devices and across limited network bandwidths. HDX 3D Pro provides GPU acceleration for Windows Desktop OS machines (provisioned as VDI desktops), and Windows Server OS machines (that use RDS). It enables an optimal user experience on wide area network (WAN) connections as low as 1.5 Mbps as well as local area network (LAN) connections.
NVIDIA GRID K1 and K2 Cards
The NVIDIA GRID K1 and K2 cards let multiple users simultaneously share GPUs that provide ultra-fast graphics displays with no lag, making a remote data center feel like it’s next door. Because the cards use the same graphics drivers that are deployed in non-virtualized environments, you can run the exact same application both locally and virtualized. The software stack—including GPU virtualization, remoting, and session-management libraries—enables efficient compression, fast streaming, and low-latency display of high-performance 2D and 3D enterprise applications.
Citrix XenServer 6.2 Service Pack 1
Citrix XenServer is an open-source virtualization platform for managing server, and desktop virtualization environments. XenServer 6.2 enables GPU sharing between multiple virtual machines. As a result, each physical GPU on the NVIDIA card can support multiple virtual GPU devices (vGPUs).
As shown in the illustration below, the NVIDIA Virtual GPU Manager running in XenServer dom0 controls the vGPUs, which are assigned directly to guest VMs:
Guest VMs use NVIDIA GRID virtual GPUs in the same manner as a physical GPU that has been passed through by the hypervisor. An NVIDIA driver loaded in the guest VM provides direct access to the GPU for performance-critical operations. Lower-performance management operations use a paravirtualized interface to the NVIDIA GRID Virtual GPU Manager.
Because resource requirements can vary, the maximum number of vGPUs that can be created on a physical GPU depends on the vGPU type, as shown in this table:
|Card||Physical GPUs||Virtual GPUs||Intended Use Case||Frame Buffer (Megabytes)||Virtual Display Heads||Max Resolution per Display Head||Maximum vGPUs|
|Per GPUs||Per Board|
|GRID K1||4||GRID K140Q||Power User||1024||2||2560×1600||4||16|
|GRID K120Q||Power User||512||2||2560×1600||8||32|
|GRID K100||Knowledge Worker||256||2||1920×1200||8||32|
|GRID K2||2||GRID K260Q||Power User, Designer||2048||4||2560×1600||2||4|
|GRID K240Q||Power User, Designer||1024||2||2560×1600||4||8|
|GRID K220Q||Power User, Designer||512||2||2560×1600||8||16|
|GRID K200||Knowledge Worker||256||2||1920X1200||8||16|
For example, an NVIDIA GRID K2 physical GPU can support up to four K240Q vGPUs on each of its two physical GPUs, for a total of eight vGPUs. However, the same card can support only two K260Q vGPUs, for a total of four vGPUs.
Configuring the Cisco-Citrix System – An Overview
These are the major steps required to configure a single VM to use the NVIDIA GRID vGPU:
- Install an NVIDIA GRID GPU card in a Cisco C240 M3 UCS server.
- Perform the base Cisco UCS configuration and, if required, upgrade the GPU firmware.
- Enable virtual machines for pass-through support by installing the pass-through GPU driver and the Citrix XenDesktop HDX 3D Pro Virtual Desktop Agent.
- Install XenServer 6.2.0 and Service Pack 1, and install the NVIDIA GRID vGPU Manager.
- Create a virtual machine and configure it with the NVIDIA vGPU type. For graphics-intensive applications, be sure to configure virtual machines running Citrix HDX 3D Pro Graphics with at least four virtual CPUs.
- Install and configure the vGPU driver on the VM guest operating system.
- Verify that the graphics applications are ready to use the vGPU.
The detailed configuration steps are provided in the full white paper.
For advanced configurations, note that the C240 M3 riser 1 is associated with the first CPU socket and riser 2 with second CPU socket. Refer to this white paper for information regarding vCPU pinning and GPU locality configurations.
Cisco, Citrix, and NVIDIA have teamed up to bring the benefits of virtualization to the users of graphics-intensive applications and the IT organizations that deploy and manage them. Combined breakthrough technologies allow graphics professionals to benefit from the remote access, data sharing, and low overhead of virtualization while experiencing the performance they demand for their graphics-intensive workloads.
For more information, see:
- The full white paper that describes the entire solution
- Cisco Unified Computing System
- Citrix XenServer and Citrix XenDesktop
- NVIDIA GRID Technology (K1 and K2 graphics cards).