gpu accelerated virtual desktop infrastructure (vdi) on openstack

18
Page 1 GPU-Accelerated VDI on OpenStack NIMBIS SERVICES, INC. GPU-Accelerated VDI on OpenStack OpenStack DC MeetUp June 18, 2013 Nimbis Services, Inc. http://www.nimbisservices.com Brian Schott, CTO [email protected]

Upload: brian-schott

Post on 10-Jun-2015

1.866 views

Category:

Technology


9 download

DESCRIPTION

This is a talk presented at the OpenStack DC Meetup #9 of GPU pass-through of an Nvidia GRID K2 card with XenServer, Microsoft Hyper-V, and open source Xen hypervisors. We looked at

TRANSCRIPT

Page 1: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 1

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

GPU-Accelerated VDI on OpenStack

OpenStack DC MeetUpJune 18, 2013

Nimbis Services, Inc.

http://www.nimbisservices.com

Brian Schott, CTO

[email protected]

Page 2: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 2

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

About Nimbis Services

Nimbis Services is lowering the barriers to high-performance computing (HPC) and offering a secure

marketplace for technical computing in the cloud.

Nimbis partners with leading HPC & cloud providers, software vendors, and domain experts to configure and broker secure

on-demand pay-as-you-go access to applications.

Page 3: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 3

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Challenges for GPU-Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Making the GPU available to a virtual machine.(3 basic approaches, ok, maybe 4). Bare Metal / Containers (lxc) PCI Pass-Through Para-virtualization (proxy device drivers) Remote Display Protocols (X, NX, VirtualGL, WebGL)

Remote desktop protocol that supports GPU acceleration. Host and Guest Combinations: Linux or Windows Remote Clients: Linux, Windows, OSX, Web Browser, Tablet Networking: “The Joys of Firewalls”, or “Any Port as Long as it is 443” Licenses: “This is too good to be free.”

Provisioning GPU resources from within OpenStack. Nova compute virtualization driver (plugin). GPU instance types, resource discovery, and scheduling. This is still under development in the community. Full disclosure: Nimbis hand-deployed the GPU instances for testing.

Page 4: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 4

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Nimbis Testbed Hardware

“Production” Cisco System (1) UCS C220 M3 – dual quad-core 3.3GHz

Intel Xeon E5-2643, 192GB SDRAM, 2TB SAS-7K, dual channel 10GbE interface.

(2) UCS C220 M3 – dual quad-core 2.4GHz Intel Xeon E5-2609, 192GB SDRAM, 2TB SAS-7K, dual channel 10GbE interface.

(3) UCS C240 M3 – dual quad-core 2.4GHz Intel Xeon E5-2609, 192GB SDRAM, 6TB SAS-7K, dual-channel 10GbE.

• (1) Nvidia GRID K2 Board (2) Nexus 3064 10GbE Switches (2) ASA 5520 Adaptive Security Appliances (2) Cisco Catalyst 2960S 1GbE switches

“Development” Cisco System (3) Cisco UCS C200 M2 (1) Nexus 3064 10GbE Switch (1) ASA 5520 Adaptive Security Appliance (1) Cisco Catalyst 2960S 1GbE switch

Cores: 72Memory: 1440 GBDisk: 36 TBServers: 9*

Switches: 9*

* What do you expect with a Cisco testbed?

Page 5: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 5

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Nvidia GRID GPU Virtualization (Kepler Architecture)

Source: http://www.nvidia.com/object/grid-boards.html

Source: 1http://www.nvidia.com/content/PDF/kepler/NV_DS_Tesla_KCompute_Arch_May_2012_LR.pdf

GPU Virtualization¹GRID boards feature the NVIDIA Kepler architecture that, for the first time, allows hardware virtualization of the GPU. This means multiple users can share a single GPU, improving user density while providing true PC performance and compatibility.

Page 6: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 6

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

GPU-Accelerated VDI Approaches Considered

Customer Requirements Combination of Windows and Linux guest images. Applications using OpenGL on both Windows and Linux. Variety of Windows (95, 7, 8) clients, OSX clients, and web browsers

(IE7, IE8, Firefox, Chrome, Safari). Variety of firewall and IT/FSO software challenges.

Technologies Tested Microsoft Hyper-V and RemoteFX XenServer with VNC / RDP / Guacamole Open Source Xen (libvirt) on Ubuntu Linux with VNC

Possible Alternatives Linux Containers (lxc)

• USC/ISI team has the blueprint and code targeted for Havana.• No Windows support.

XenDesktop with HDX 3D Pro (not tested)• Requires a custom client, Citrix Receiver, OpenGL support unclear.• Does not integrate with OpenStack.

Page 7: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 7

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Microsoft Hyper-V and RemoteFX

Technology Windows Host GPU device with para-virtualized driver for windows guests.

Host / Hypervisor Microsoft Windows Server 2012 Datacenter Edition (RemoteFX license). Latest Nvidia driver for Windows.

Guests No GPU pass-through available or driver for Linux guests. Accelerates Windows DirectX calls, does software OpenGL rendering.

Clients Good performance with standard Windows RDC > 8.0. Good performance from FreeRDP* OSX client, not Microsoft client. iOS and Android? Not tested, but FreeRDP clients exist on both.

OpenStack Status Integrates with OpenStack Hyper-V nova compute drivers. Nova scheduler support for Hyper-V extra specs not on blueprint radar. Possible to use today with custom nova scheduler plugin.

* http://www.freerdp.com

Page 8: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 8

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Hyper-V and RemoteFX Benchmarks with Nvidia GRID K2

Host: Microsoft Windows Server 2012 Datacenter Edition, Guest: Microsoft Windows Server 2012 Standard Evaluation,Client: FreeRDP on Mac OSX * http://gfxbench.com/

Page 9: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 9

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

XenServer with VNC / RDP / Guacamole

Technology GPU pass-through of Nvidia GRID K2 to Windows and Linux guests. Two GPU devices available for two separate instances. Physical GPU virtualization drivers promised by end of the year (n=64?).

Host / Hypervisor XenServer 6.1 Platinum Edition (enables GPU license).

Guests Linux: specify Windows 7 as server template then standard CentOS 6.4

install process. Good GPU performance using VNC and VirtualGL. Windows: tried both RDP and TigerVNC do software OpenGL rendering.

• Unable to VNC or RDP to “console” display, possibly no monitor? Clients

Windows and OSX Clients comparable to remote desktop to native boxes. Tried RDP, VNC, and Guacamole (HTML5 VNC client).

OpenStack Status XenServer Integrates with OpenStack using XenServer plugins. Nova scheduler support for XenServer not on blueprint radar.

Page 10: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 10

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Open Source Libvirt/Xen with VNC / RDP / Guacamole

Technology GPU pass-through of Nvidia GRID K2 to Windows and Linux guests. Two GPU devices available for two separate instances. Unsure of GPU virtualization drivers status for n > 2.

Host / Hypervisor Ubuntu 12.04, Xen (Xen hypervisor 4.1.0), libvirt (0.98) Xen HVM guest cfgfile in /etc/xen/<guest> to enable VGA passthrough:

gfx_passthru=1 pci=['yy:zz.n’]

Guests Linux: Tested CentOS 6.4 image with latest Nvidia drivers (310.44). Verified

device functioned. Expect similar results to XenServer. Windows: Did not test an image. Expect similar results to XenServer.

OpenStack Status Xen supported within OpenStack using nova libvirt driver. Nova specs support for libvirt exists (i.e. this host has a GPU). Feasible to have support included in H or I release given lxc work.

http://wiki.xen.org/wiki/Xen_VGA_Passthrough

Page 11: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 11

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

XenServer Linux Virtual Machine Installation Hack

Page 12: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 12

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Specify GPU Type

Page 13: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 13

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

VirtualGL Architecture (VirtualGL.org)

Page 14: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 14

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

GLXINFO for Linux Instance on XenServer

Page 15: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 15

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Guacamole HTML5 Browser VNC

Page 16: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 16

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Windows Server 2012 on XenServer

Page 17: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 17

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Heterogeneous Architecture Support Blueprints

https://wiki.openstack.org/wiki/HeterogeneousInstanceTypes

https://wiki.openstack.org/wiki/ScheduleHeterogeneousInstances

https://wiki.openstack.org/wiki/HeterogeneousGpuAcceleratorSupport

Page 18: GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack

Page 18

GPU-Accelerated VDI on OpenStack

NIMBIS SERVICES, INC.

Summary

GPU-accelerated VDI pools within OpenStack are quite feasible. Code support is very rough around the edges, not production ready. We really need to get open community support organized for this feature. Several vertical vendor solutions out there, but Xen and KVM baselines

should be possible as open-source. Questions?