400 likes | 639 Views
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.
E N D
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
Industries that use 3D professional graphics Energy Automotive Aerospace Construction Industrial Equipment Engineering Services Hi Tech - Electronics Medical Equipment
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
Classification of 3D professional graphics users Designers & Engineers Power Users Knowledge & Task users Create & manipulate large 3D models Business graphics apps View & edit 3D data Dedicated GPU Shared GPU Shared GPU
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 Citrix Confidential - Do Not Distribute
Pod XenApp(Multi Users : 1 GPU) Technical Overview NetScaler Gateway StoreFront Services Receiver HDX 3D Graphics Primary XenServer with GPU cards Pod Delivery Controller Secondary XenDesktop(1 User : 1 GPU) XenServer with GPU cards Internet DMZ LAN
Heavy 3D graphics app usage • Exceptional graphics performance and response optimizations • Multiple users per server • Very usable experience ~1.5 Mbps • OpenGL and DirectX with HDX 3D Pro
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 ConnexionSpaceMouse Seamless app delivery TOC
Compression Options • CPU-based, deep compression codec • min. 1.5 Mbps bandwidth • GPU-based implementation, • min. 2 Mbps
XenDesktop with HDX 3D Pro Desktop Virtualization for High-end 3D Graphics Users Client options Optimized withspecial codecs: Std. ICA codec:
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
XenApp with HDX 3D additional features • Multi-monitor support • Lossless compression
XenApp with HDX 3D Apps & Desktop Virtualization for 3D graphics users Std. ICA codec only
GPU Options • Any graphics card (NVIDIA, AMD/ATI)supported by the application vendor • NVIDIA cards deliver highest frame ratewith 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
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 Citrix Confidential - Do Not Distribute
XenServer GPU Passthrough with XenDesktop XenDesktop Windows VMs non-3DVM non-3DVM non-3DVM non-3DVM non-3DVM non-3DVM 3D ProVM 3D ProVM 3D ProVM 3D ProVM non-3DVM non-3DVM XenServer hypervisor Hardware platform GPU GPU GPU GPU
XenServer GPU Passthrough with XenApp Session 1 Session 2 Session 3 Session 4 Session 5 SessionN-1 Session N . . . XenApp WindowsServer VMs XenAppVM XenAppVM XenAppVM XenAppVM XenServer hypervisor Hardware platform GPU GPU GPU GPU
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
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
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
GPU Virtualization XenDesktop Windows VMs 2 3 4 N 1 . . . 3D ProVM 3D ProVM 3D ProVM 3D ProVM 3D ProVM . . . XenServer hypervisor vGPU vGPU vGPU vGPU vGPU Hardware platform GPU . . .
Tips and TricksXenApp 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
Tips and TricksXenApp 6.x HDX 3D • Citrix Receiver ADM.file
Tips and TricksXenDesktop 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
Tips and TricksXenDesktop 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.
Tips and TricksXenDesktop 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 –noresetTo disable NVIDIA VGX, run the following command, then restart the virtual desktop agent:Montereyenable.exe –disable –noreset
Tips and TricksXenDesktop HDX 3D Pro - Multi-monitor support VDA 4-5.6** http://www.poppelgaard.com/how-to-get-receiver-with-desired-screen-resolution-or-multiple-screens-to-work-with-citrix-xendesktop-5-5-hdx3d-pro
Tips and TricksXenDesktop HDX 3D Pro Enable USB redirection to enable 3D spacemouse
Tips and TricksXenDesktop HDX 3D Pro Enable USB redirection to enable 3D spacemouse Change Virtual Channel Priority CTX128190Create 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 0default value CTXGUSB,1 = configure this to CTXGUSB,0
Sizing GPU solutionsXenAppHDX 3D - XenDesktopHDX 3D Pro NVIDIA GRID (Worlds first GPU virtualization card)
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
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
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: • 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> • 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> • 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=8The number of virtual CPUs at startup is the number of cores to assign to the virtual machine.
HDX 3D and HDX 3D ProTools for troubleshooting/monitoring • Microsoft Process Explorerhttp://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 ProTools for troubleshooting/monitoring • HDX Monitor for XenDesktophttp://hdx.citrix.com/hdx-monitor/tech-preview • HDX 3D Pro monitor • eG Innovationshttp://bit.ly/JdXqLZ • Lakeside Software • Login VSIhttp://www.loginvsi.com/en/download
Additional Information • Resources: www.citrix.com/xendesktop/HDX3D/ • Blog: www.blogs.citrix.com/product/xendesktop/ • Twitter: @xendesktop • http://www.poppelgaard.com/ thomas@poppelgaard.com thomas@poppelgaard.com