3D Professional Graphics

Download Report

Transcript 3D Professional Graphics

Virtualizing 3D Professional
Graphics Apps
Yvonne Dresser, Sr. Product Marketing Manager, Citrix Desktops and Apps
Thomas Poppelgaard, Solution Architect, Commaxx
March 21, 2013
Agenda
•
•
•
XenDesktop & XenApp HDX 3D technologies
Tips and Tricks
Audience Q & A
© 2013 Citrix
Industries that use 3D professional graphics
Aerospace
Automotive
Construction
Energy
Engineering
Services
Hi Tech Electronics
Industrial
Equipment
Medical
Equipment
© 2013 Citrix
Enterprise challenges and opportunities
• Desire to leverage a global talent base and collaborate across the supply chain
• Corporate requirements to safeguard product design IP
• Need to extend access to design models on mobile devices
• Economic demands for cost control and faster time to market
• Business continuity and disaster-recovery plans
© 2013 Citrix
Classification of 3D professional graphics users
Designers &
Engineers
Power Users
Knowledge &
Task users
Create &
manipulate large
3D models
View & edit 3D
data
Business graphics
apps
Shared GPU
Shared GPU
Dedicated GPU
© 2013 Citrix
Solutions for GPU-accelerated graphics
XenDesktop HDX 3D Pro
XenApp HDX 3D
• GPU acceleration of DirectX and
OpenGL ~1.5 Mbps
• One user per GPU
• H.264-based Deep Compression
• 3D SpaceMouse support
TOP PERFORMANCE SOLUTION
• GPU acceleration of DirectX &
OpenGL ~3 Mbps
• GPU sharing
• Lower cost Microsoft licensing
• Apps must be compatible with
RDSH (Terminal Services)
MOST COST-EFFECTIVE SOLUTION
© 2013 Citrix
Citrix Confidential - Do Not Distribute
XenApp
(Multi Users : 1 GPU)
Technical Overview
Receiver
HDX 3D
Graphics
NetScaler
Gateway
StoreFront
Services
XenServer with
GPU cards
Primary
Pod
Secondary
Delivery
Controller
XenDesktop
(1 User : 1 GPU)
Internet
© 2013 Citrix
DMZ
LAN
XenServer with
GPU cards
• Heavy 3D graphics app usage
• Exceptional graphics performance
and response optimizations
with HDX 3D Pro
• Multiple users per server
• Very usable experience ~1.5 Mbps
• OpenGL and DirectX
8
© 2013 Citrix
HDX 3D Pro
Additional Features
• Pixel-perfect lossless compression
• Can combine with lossy compression during motion, for
responsive remote access
• Dual monitor support
• Receiver for Windows and Linux
• Connexion SpaceMouse
• Seamless app delivery
© 2013 Citrix
TOC
Compression Options
• CPU-based, deep compression codec
• min. 1.5 Mbps bandwidth
• GPU-based implementation,
• min. 2 Mbps
© 2013 Citrix
XenDesktop with HDX 3D Pro
Desktop Virtualization for High-end 3D Graphics Users
Client options
Optimized with
special codecs:
Std. ICA codec:
© 2013 Citrix
• Light 3D apps usage
• Many users per VM
• Very usable experience at 3 Mbps
with HDX 3D
• Graphics performance and response
optimizations
• DirectX and OpenGL
12
© 2013 Citrix
XenApp with HDX 3D additional features
•Multi-monitor support
•Lossless compression
© 2013 Citrix
XenApp with HDX 3D
Apps & Desktop Virtualization for 3D graphics users
Std. ICA codec only
© 2013 Citrix
GPU Options
• Any graphics card (NVIDIA, AMD/ATI)
supported by the application vendor
• NVIDIA cards deliver highest frame rate
with VGX™ API (“Monterey”) and support
full-screen applications
• CPU-based deep compression is recommended, but if server CPU is limited
then deep compression can be offloaded to the NVIDIA GPU
© 2013 Citrix
GPU Passthrough introduced in XenServer 6
• XenDesktop HDX 3D Pro and XenApp HDX 3D
• Windows 7 (32/64-bit), Windows XP (32-bit),
Windows Server 2008 R2 (64-bit)
• Multiple GPUs per host
• Servers with 4 GPUs currently on HCL; testing underway with 8
• One graphics-accelerated VM (single-user or multi-user) per GPU
• Depending on CPU power, same host may also support
non-graphics-accelerated users (i.e. regular office workers)
• Leverages NVIDIA high-performance Quadro and Grid GPUs
• e.g. Quadro 1000M/2000/3000M/4000/5000/6000, Tesla M2070Q, GRID K1/K2
© 2013 Citrix
Citrix Confidential - Do Not Distribute
XenServer GPU Passthrough with XenDesktop
non-3D
VM
non-3D
VM
non-3D
VM
non-3D
VM
non-3D
VM
3D Pro
VM
3D Pro
VM
3D Pro
VM
3D Pro
VM
non-3D
VM
non-3D
VM
GPU
GPU
GPU
GPU
XenDesktop
Windows VMs
non-3D
VM
XenServer hypervisor
Hardware platform
© 2013 Citrix
XenServer GPU Passthrough with XenApp
Session
1
Session
2
Session
4
Session
5
XenApp
VM
XenApp
VM
XenApp
VM
XenApp
VM
GPU
GPU
GPU
GPU
XenApp Windows
Server VMs
Session
3
XenServer hypervisor
Hardware platform
© 2013 Citrix
...
Session
N-1
Session
N
Multi-GPU Hardware Platforms
ws460c G6 blade (Q4000/5000/6000)  XenServer certified
Servers: DL980 G7, DL370 G6, SL390S G7 and others
R720 rack workstation (two dual-slot cards, e.g. M2070Q or GRID)  tested
R5500 rack workstation (3x Q4000 or 4x Q2000)  XenServer certified
R5400 rack workstation (2 PCIe x16 GPUs, e.g. Q4000)
PowerEdge T620 (4x Q2000)
PowerEdge M610x with M2070Q plus C410x PCIe expansion chassis
(4 GPU devices per server, 16 total GPUs per chassis)  tested w/ XenApp
HS22 with GPU expansion blade  tested with 2x M2070Q
System x iDataPlex dx360 M3/M4 (supports Q4000/Q5000/M2070Q)  tested
System x iDataPlex x3650 M3/M4 (2 dual-slot cards, e.g. GRID)  certified
Others
Cisco C240 M3; Fujitsu TX300; SGI Asterism ID112  XenServer certified
© 2013 Citrix
XenDesktop/XenApp on vSphere 5.1
GPU passthrough and GPU sharing on vSphere 5.1
• vSphere 5.1 has introduced “virtual Direct Graphics Acceleration” (vDGA) and
“virtual Shared Graphics Acceleration” (vSGA)
• Testing for XenDesktop HDX 3D Pro compatibility with vDGA has been
successfully completed (http://support.citrix.com/article/CTX136291)
• Testing with vSGA successful (single monitor) for “tier 3” use cases
• vSGA uses API Intercept method of sharing the GPU so performance may be an
issue with large 3D models, and graphics API compatibility is limited to DirectX
9c and OpenGL 2.1
© 2013 Citrix
Looking ahead…
3D graphics enhancements in Excalibur (first release from project Avalon)
XenDesktop HDX 3D Pro
• Multi-monitor support (i.e. more than two)
• Dynamic resizing without disconnect
• Auto-config / auto-adapt (no config tool / user intervention required)
XenApp HDX 3D
• Deep Compression
Citrix Receiver (enhancements targeted for Excalibur timeframe)
• Deep Compression support on Mac, iPad, Android
• HDX SoC support for low-cost Linux thin clients
© 2013 Citrix
Looking ahead…
Hardware vGPU
At the 2012 GPU Technology Conference, NVIDIA and Citrix
announced our collaboration on GPU Hardware Virtualization
•Enhancements to the VGX™ API and XenServer along with new GRID graphics
cards will extend Citrix’s GPU sharing capability from Windows Server RDSH to
Windows XP/7/8 VDI
•Higher performance with large 3D models compared to API Intercept method
used by VMware vSphere/ESX and Microsoft Hyper-V
•Ideal for second tier users of 3D professional graphics
•Beta trials with selected partners starting Q2 2013
© 2013 Citrix
GPU Virtualization
XenDesktop
Windows VMs
4
3D Pro
VM
3D Pro
VM
3D Pro
VM
3D Pro
VM
N
...
...
...
3D Pro
VM
vGPU
vGPU
vGPU
vGPU
© 2013 Citrix
3
GPU
Hardware platform
2
vGPU
XenServer hypervisor
1
Tips and Tricks
Tips and Tricks
XenApp 6.x HDX 3D
• Optimize 3D application
• HDX Policies (i recommend)
CTX131859
Best Practices and Recommendations for Citrix Receiver 3 and HDX Technology with
XenDesktop 5.x
CTX132799
XenDesktop and XenApp Best Practice
© 2013 Citrix
Tips and Tricks
XenApp 6.x HDX 3D
• Citrix Receiver
ADM.file
© 2013 Citrix
Tips and Tricks
XenDesktop HDX 3D
• VDA Agent (VDA 4.x, 5.5, 5.6, 5.6FP1)
• Nvidia drivers (5.6FP1)
• Multi-monitor support (VDA 4.x, 5.5, 5.6,)
• 3D connexion - 3D Space Mouse (VDA 4.x, 5.5, 5.6, 5.6 FP1)
• Codec Compression (VDA 4, 5.5, 5.6)
• ClearType (VDA 4, 5.5, 5.6)
• Assign CPU cores to VM HDX 3D Pro
© 2013 Citrix
Tips and Tricks
XenDesktop HDX 3D
Upgrade existing VDA to HDX 3D Pro
• If you have standard installed VDA and you want to
enable HDX 3D Pro, you have to uninstall and install
with HDX 3D Pro parameters.
© 2013 Citrix
Tips and Tricks
XenDesktop HDX 3D
Installing or upgrading Nvidia drivers
• If you install NVIDIA drivers before you install XenDesktop Virtual Desktop Agent
with HDX 3D Pro, NVIDIA VGX is enabled by default.
If you install NVIDIA drivers after you install XenDesktop Virtual Desktop Agent
with HDX 3D Pro, NVIDIA VGX is disabled. Enable NVIDIA VGX by using the
Montereryenable tool provided by NVIDIA.
To enable NVIDIA VGX, run the following command, then restart the virtual
desktop agent:
Montereyenable.exe –enable –noreset
To disable NVIDIA VGX, run the following command, then restart the virtual
desktop agent:
Montereyenable.exe –disable –noreset
© 2013 Citrix
Tips and Tricks
XenDesktop HDX 3D Pro - Multi-monitor support VDA 45.6**
http://www.poppelgaard.com/how-to-get-receiver-with-desired-screenresolution-or-multiple-screens-to-work-with-citrix-xendesktop-5-5-hdx3d-pro
© 2013 Citrix
Tips and Tricks
XenDesktop HDX 3D Pro
Enable USB redirection to enable 3D spacemouse
© 2013 Citrix
Tips and Tricks
XenDesktop HDX 3D Pro
Enable USB redirection to enable 3D spacemouse
Change Virtual Channel Priority CTX128190
Create a key named “WDSettings” under:
[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\GroupPolicy\Defaults\] in
VDA registry.
Create a MULTI_SZ named “VirtualChannelPriority” with the following
content
from
CTX128190
increasing
the
priority of: the Generic USB Redirection virtual channel to 0
default value CTXGUSB,1 = configure this to CTXGUSB,0
© 2013 Citrix
Sizing GPU solutions
XenApp HDX 3D - XenDesktop HDX 3D Pro
NVIDIA GRID (Worlds first GPU virtualization card)
Vendor
Card type
Nvidia
GRID K1
Nvidia
Power
Frame buffer
768
150 W
16GB DDR3
2
PCI e 3.0
GRID K2
3072
225 W
8GB DDR5
2
PCI e 3.0
Vendor
Card type
CUDA
GB/S
Power
Frame buffer
MI
Nvidia
Quadro 2000
192
41.6
62 W
1GB DDR5
128 bit
1
PCI e 2.0
Nvidia
Quadro 4000
256
89.6
142 W
2GB DDR5
256 bit
1
PCI e 2.0
Nvidia
Quadro 5000
352
120
152 W
2.5GB DDR5
320 bit
2
PCI e 2.0
Nvidia
Quadro 6000
448
144
204 W
6GB DDR5
384 bit
2
PCI e 2.0
Nvidia
Tesla M2070Q
448
148
225 W
6GB DDR5
384 bit
2
PCI e 2.0
Nvidia
Quadro K5000
1536
173
122 W
4GB DDR5
256 bit
2
PCI e 3.0
© 2013 Citrix
CUDA
GB/S
MI
Slot
Slot
PCIe
PCIe
XenServer 6.0 Multi-GPU Passthrough
for XenDesktop HDX 3D Pro Graphics
XenServer Host
The Server CPU should be IOMMU enabled for AMD processors or VT-d enabled for
Intel processors.
Virtual CPUs
HDX 3D Pro Graphics utilizes one virtual CPU completely for extracting desktop
surfaces, typically 12 to 30 times per second. If Aero is enabled on Windows this
requires a second virtual CPU. In addition, at least two vCPU is required for the
graphics applications. Graphics applications are often CPU intensive, even with
hardware acceleration of graphics rendering provided by the GPU. Hence it is
important to configure the virtual machine running HDX 3D Pro Graphics with at
least four virtual CPUs. Following are the instructions for increasing the number of
virtual CPUs on XenServer.
• http://support.citrix.com/article/CTX126524
© 2013 Citrix
XenServer 6.0 Multi-GPU Passthrough
for XenDesktop HDX 3D Pro Graphics
Warning:
Snapshot does not work with GPU Cards. It is highly recommended to
create/delete/revert snapshot of VM when GPU card is not assigned to VM or else you
may have garbage entries in XenServer and VM will not start properly.
When you assign virtual CPUs to a virtual machine, by default one virtual CPU is equal
to one core for a virtual machine. Some virtual machines have higher core limitations.
By setting the cores-per-socket parameter, it is possible to present a virtual machine
with certain amount of cores.
Note: This feature is only available in the Advanced, Enterprise, and Platinum editions
and is not available in the free version of XenServer.
• http://support.citrix.com/article/CTX135811
© 2013 Citrix
XenServer 6.0 Multi-GPU Passthrough
for XenDesktop HDX 3D Pro Graphics
• Complete the following procedure to set the cores-per-socket parameter for
Windows virtual machine:
1. Get the Universally Unique Identifier (UUID) of the Virtual Machine for which the parameter needs to be set:
xe vm-list name-label=<Name of the VM>
2. Set the cores-per-socket parameter:
xe vm-param-set platform:cores-per-socket=’X’ uuid=<VM UUID from Step1>
Here, X equals 2 for dual core and 4 for quad core. For example: To have a CPU with four cores:
xe vm-param-set platform:cores-per-socket=4 uuid=<VM UUID>
3. Set the virtual CPUs startup parameter equal to the number of virtual CPUs (number of cores) to be assigned to the
virtual machine and set the VCPUs-max parameter to the total number of cores.
xe vm-param-set VCPUs-at-startup=<Number of VCPUs> uuid=<VM-UUID>
xe vm-param-set VCPUs-max=<Maximum number of cores>.
For a dual quad core CPUs, VCPUs-max=8
The number
of virtual CPUs at startup is the number of cores to assign to the virtual machine.
© 2013 Citrix
HDX 3D and HDX 3D Pro
Tools for troubleshooting/monitoring
• Microsoft Process Explorer
http://bit.ly/fzWyfq
• Microsoft GPUView
http://bit.ly/KzBTNh
• Nvidia CUDA SDK
• GPUz
http://www.techpowerup.com/gpuz/
• HDX Monitor for XenApp
http://hdx.citrix.com/hdx-monitor/tech-preview
© 2013 Citrix
HDX 3D and HDX 3D Pro
Tools for troubleshooting/monitoring
• HDX Monitor for XenDesktop
http://hdx.citrix.com/hdx-monitor/tech-preview
• HDX 3D Pro monitor
• eG Innovations
http://bit.ly/JdXqLZ
• Lakeside Software
• Login VSI
http://www.loginvsi.com/en/download
© 2013 Citrix
Additional Information
• Resources: www.citrix.com/xendesktop/HDX3D/
• Blog: www.blogs.citrix.com/product/xendesktop/
• Twitter: @xendesktop
• http://www.poppelgaard.com/
© 2013 Citrix
Work better. Live better.