virtualizing 3d professional graphics apps 3d professional graphics apps ... • xendesktop &...

40
March 21, 2013 Virtualizing 3D Professional Graphics Apps Yvonne Dresser, Sr. Product Marketing Manager, Citrix Desktops and Apps Thomas Poppelgaard, Solution Architect, Commaxx

Upload: vuongphuc

Post on 09-Mar-2018

257 views

Category:

Documents


5 download

TRANSCRIPT

March 21, 2013

Virtualizing 3D Professional Graphics Apps

Yvonne Dresser, Sr. Product Marketing Manager, Citrix Desktops and Apps Thomas Poppelgaard, Solution Architect, Commaxx

© 2013 Citrix

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

Create & manipulate large

3D models View & edit 3D

data

Dedicated GPU Shared GPU Shared GPU

Knowledge & Task users

Business graphics apps

© 2013 Citrix

Solutions for GPU-accelerated graphics

XenDesktop  HDX  3D  Pro   XenApp  HDX  3D  

Citrix  Confiden5al  -­‐  Do  Not  Distribute  

•  GPU  accelera5on  of  DirectX  and  OpenGL  ~1.5  Mbps  

• One  user  per  GPU    •  H.264-­‐based  Deep  Compression    

•  3D  SpaceMouse  support  

TOP  PERFORMANCE  SOLUTION  

•  GPU  accelera5on  of  DirectX  &  OpenGL  ~3  Mbps  

•  GPU  sharing    •  Lower  cost  MicrosoP  licensing  

•  Apps  must  be  compa5ble  with  RDSH  (Terminal  Services)    

MOST  COST-­‐EFFECTIVE  SOLUTION  

© 2013 Citrix

Internet LAN DMZ

                                     

StoreFront Services

NetScaler Gateway

                                     

Primary

Secondary

XenApp (Multi Users : 1 GPU) Technical Overview

Receiver HDX 3D Graphics

                                     

Pod  

XenServer with GPU cards

                                     

Pod  

XenServer with GPU cards

XenDesktop (1 User : 1 GPU)

                                     

Delivery Controller

© 2013 Citrix

•  Heavy 3D graphics app usage •  Exceptional graphics performance

and response optimizations

•  Multiple users per server

•  Very usable experience ~1.5 Mbps

•  OpenGL and DirectX

8

with HDX 3D Pro

© 2013 Citrix

Addi5onal  Features  HDX 3D Pro

•  Pixel-­‐perfect  lossless  compression    • Can  combine  with  lossy  compression  during  mo5on,  for  responsive  remote  access  

• Dual  monitor  support  • Receiver  for  Windows  and  Linux  

•  Connexion  SpaceMouse    

•  Seamless  app  delivery  

TOC  

© 2013 Citrix

Compression Options

•  CPU-based, deep compression codec •  min. 1.5 Mbps bandwidth

•  GPU-based implementation, •  min. 2 Mbps

© 2013 Citrix

Desktop  Virtualiza5on  for  High-­‐end  3D  Graphics  Users  XenDesktop with HDX 3D Pro

Client  op5ons  

Op5mized  with  special  codecs:  

Std.  ICA  codec:  

© 2013 Citrix 12

•  Light 3D apps usage •  Many users per VM •  Very usable experience at 3 Mbps •  Graphics performance and response

optimizations

•  DirectX and OpenGL with HDX 3D

© 2013 Citrix

XenApp with HDX 3D additional features

• Multi-monitor support • Lossless compression

© 2013 Citrix

Apps  &  Desktop  Virtualiza5on  for  3D  graphics  users  XenApp with HDX 3D

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

Citrix  Confiden5al  -­‐  Do  Not  Distribute  

•  XenDesktop  HDX  3D  Pro  and  XenApp  HDX  3D  

• Windows  7  (32/64-­‐bit),  Windows  XP  (32-­‐bit),    Windows  Server  2008  R2  (64-­‐bit)  

• Mul5ple  GPUs  per  host    •  Servers  with  4  GPUs  currently  on  HCL;  tes5ng  underway  with  8  • One  graphics-­‐accelerated  VM  (single-­‐user  or  mul5-­‐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

Hardware  plaform    

XenServer GPU Passthrough with XenDesktop

GPU

 

XenServer  hypervisor  

XenDesktop    Windows  VMs  

GPU

 

GPU

 

GPU

 

3D  Pro  VM  

3D  Pro  VM  

3D  Pro  VM  

non-­‐3D  VM  

3D  Pro  VM  

non-­‐3D  VM  

non-­‐3D  VM  

non-­‐3D  VM  

non-­‐3D  VM  

non-­‐3D  VM  

non-­‐3D  VM  

non-­‐3D  VM  

© 2013 Citrix

Hardware  plaform    

XenServer GPU Passthrough with XenApp

GPU

 

XenServer  hypervisor  

XenApp  Windows  Server  VMs  

GPU

 

GPU

 

GPU

 

XenApp  VM  

XenApp  VM  

XenApp  VM  

Session  1  

XenApp  VM  

Session  2   Session  3  

Session  4  

Session  5  

Session  N-­‐1  

Session  N  . . .

© 2013 Citrix

ws460c  G6  blade  (Q4000/5000/6000)    ß  XenServer  cer5fied  

Servers:    DL980  G7,  DL370  G6,  SL390S  G7  and  others  

R720  rack  worksta5on  (two  dual-­‐slot  cards,  e.g.  M2070Q  or  GRID)  ß  tested  R5500  rack  worksta5on  (3x  Q4000  or  4x  Q2000)  ß  XenServer  cer5fied  R5400  rack  worksta5on  (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)  ß  cer5fied  

Others   Cisco  C240  M3;  Fujitsu  TX300;    SGI  Asterism  ID112  ß  XenServer  cer5fied  

Multi-GPU Hardware Platforms

© 2013 Citrix

GPU  passthrough  and  GPU  sharing  on  vSphere  5.1  XenDesktop/XenApp on vSphere 5.1

•  vSphere  5.1  has  introduced  “virtual  Direct  Graphics  Accelera5on”  (vDGA)  and  “virtual  Shared  Graphics  Accelera5on”  (vSGA)  

•  Tes5ng  for  XenDesktop  HDX  3D  Pro  compa5bility  with  vDGA  has  been  successfully  completed  (hlp://support.citrix.com/ar5cle/CTX136291)    

•  Tes5ng  with  vSGA  successful  (single  monitor)  for  “5er  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  compa5bility  is  limited  to  DirectX  9c  and  OpenGL  2.1  

© 2013 Citrix

3D  graphics  enhancements  in  Excalibur  (first  release  from  project  Avalon)  Looking ahead…

XenDesktop  HDX  3D  Pro  

•  Mul5-­‐monitor  support  (i.e.  more  than  two)  

•  Dynamic  resizing  without  disconnect  

•  Auto-­‐config  /  auto-­‐adapt  (no  config  tool  /  user  interven5on  required)  XenApp  HDX  3D  

• Deep  Compression  

Citrix  Receiver  (enhancements  targeted  for  Excalibur  5meframe)  

•  Deep  Compression  support  on  Mac,  iPad,  Android  

•  HDX  SoC  support  for  low-­‐cost  Linux  thin  clients  

© 2013 Citrix

Hardware  vGPU  Looking ahead…

At  the  2012  GPU  Technology  Conference,  NVIDIA  and  Citrix    announced  our  collabora5on  on  GPU  Hardware  Virtualiza5on    •  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  MicrosoP  Hyper-­‐V  

•  Ideal  for  second  5er  users  of  3D  professional  graphics  •  Beta  trials  with  selected  partners  star5ng  Q2  2013  

© 2013 Citrix

Hardware  plaform    

GPU Virtualization

GPU

 

XenServer  hypervisor  

XenDesktop    Windows  VMs   3D  Pro  

VM  3D  Pro  VM  

3D  Pro  VM  

3D  Pro  VM  

vGPU  

3D  Pro  VM  

. . .

vGPU  

vGPU  

vGPU  

vGPU  

. . .

1 2 3 4 N

. . .

Tips and Tricks

© 2013 Citrix

• 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

Tips and Tricks XenApp 6.x HDX 3D

© 2013 Citrix

• Citrix Receiver ADM.file

Tips and Tricks XenApp 6.x HDX 3D

© 2013 Citrix

•  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

Tips and Tricks XenDesktop HDX 3D

© 2013 Citrix

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.

Tips and Tricks XenDesktop HDX 3D

© 2013 Citrix

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

Tips and Tricks XenDesktop HDX 3D

© 2013 Citrix

Tips and Tricks XenDesktop HDX 3D Pro - Multi-monitor support VDA 4-5.6** hlp://www.poppelgaard.com/how-­‐to-­‐get-­‐receiver-­‐with-­‐desired-­‐screen-­‐resolu5on-­‐or-­‐mul5ple-­‐screens-­‐to-­‐work-­‐with-­‐citrix-­‐xendesktop-­‐5-­‐5-­‐hdx3d-­‐pro  

© 2013 Citrix

Enable USB redirection to enable 3D spacemouse

Tips and Tricks XenDesktop HDX 3D Pro

© 2013 Citrix

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  Redirec5on  virtual  channel  to  0  default  value  CTXGUSB,1  =  configure  this  to  CTXGUSB,0  

Tips and Tricks XenDesktop HDX 3D Pro

© 2013 Citrix

Vendor   Card  type   CUDA   GB/S   Power   Frame  buffer   MI   Slot   PCIe  

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  

Sizing  GPU  solu5ons  XenApp  HDX  3D  -­‐  XenDesktop  HDX  3D  Pro  

Vendor   Card  type   CUDA   GB/S   Power   Frame  buffer   MI   Slot   PCIe  

Nvidia   GRID  K1   768   150  W   16GB  DDR3   2   PCI  e  3.0  

Nvidia   GRID  K2   3072   225  W   8GB  DDR5   2   PCI  e  3.0  

NVIDIA  GRID  (Worlds  first  GPU  virtualiza5on  card)  

© 2013 Citrix

XenServer 6.0 Multi-GPU Passthrough for XenDesktop HDX 3D Pro Graphics

• http://support.citrix.com/article/CTX126524

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  u5lizes  one  virtual  CPU  completely  for  extrac5ng  desktop  surfaces,  typically  12  to  30  5mes  per  second.  If  Aero  is  enabled  on  Windows  this  requires  a  second  virtual  CPU.  In  addi5on,  at  least  two  vCPU  is  required  for  the  graphics  applica5ons.  Graphics  applica5ons  are  oPen  CPU  intensive,  even  with  hardware  accelera5on  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  instruc5ons  for  increasing  the  number  of  virtual  CPUs  on  XenServer.        

© 2013 Citrix

XenServer 6.0 Multi-GPU Passthrough for XenDesktop HDX 3D Pro Graphics

• http://support.citrix.com/article/CTX135811

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  limita5ons.  By  sesng  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  Pla5num  edi5ons  and  is  not  available  in  the  free  version  of  XenServer.    

© 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

•  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

HDX  3D  and  HDX  3D  Pro  Tools  for  troubleshoo5ng/monitoring  

© 2013 Citrix

•  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

HDX  3D  and  HDX  3D  Pro  Tools  for  troubleshoo5ng/monitoring  

© 2013 Citrix

Additional Information

• Resources: www.citrix.com/xendesktop/HDX3D/ • Blog: www.blogs.citrix.com/product/xendesktop/ • Twitter: @xendesktop • http://www.poppelgaard.com/

[email protected]  [email protected]  

Work better. Live better.