NLVMUG 16 maart 2017 Display protocols in Horizon
NLVMUG 16 maart 2017 Display protocols in Horizon
Topics Introduction Display protocols - Basics PCoIP vs Blast Extreme Optimizing Monitoring Future Recap
https://pollev.com/svenhuisman113
Introduction Sven Huisman Consultant EUC
Thanks to www.10zig.com
Display protocols - basics Graphics rendering Encoding / decoding Software vs. Hardware
Graphics Rendering Server based graphics rendering of 2D/3D workloads Software CPU Hardware pass-through/vgpu NVIDIA GRID AMD FirePro Intel Iris Pro
Encoding & Decoding Encoding Protocol (PCoIP or Blast Extreme) is encoded in the host CPU Encodes Display / audio to prepare for delivery to client device Encoding is performed either in CPU (software) or hardware encoder Encoded data is generally compressed and encrypted (software or hardware) Delivered to client device via TCP/IP Decoding Protocol (PCoIP or Blast Extreme) is decoded at the client device Client decodes Display /Audio for displaying to user session Decoding is performed either in CPU (software) or Hardware decoder
Hardware vs Software Advantages of Hardware vs Software Improved performance Increases user density (less CPU overhead) (typically 20%) Decreases latency of encoding Disadvantages of Hardware Required additional hardware and cost Can require additional licensing Can also add latency and/or bandwidth
Compression Lossy compression Irreversible Reduces overhead, eliminating certain information (i.e. white space) Perceptually lossless Lossless Compression Used for CAD, Medical imaging Reversible All original data recovered when uncompressed
Protocol Delivery TCP Connection oriented Error handling and servicing to provide error free delivery and guarantee packet delivery UDP Connectionless Packets are sent from host to destination No error handling or sequencing Generally used for real-time applications
PCoIP Background Remoting protocol developed by Teradici Formed in 2004, partnered with VMware in 2008 Hardware and software based
Blast Extreme Background Remoting protocol developed by VMware Established from Blast (HTML) access Hardware and software Designed for mobile devices and lossy networks
Encoding PCoIP Multiple codec based protocol Lossless Compression default Dynamic codecs based on region of screen (Text/Image/Video) UDP Connectionless Encryption AES 256 bit Configurable - Image quality/frames per second/bandwidth and more Software - CPU (Default) Hardware - Apex 2800 LP (Optional) Offload card installed into Server (PCI-e based) Dynamically offloads encoding to hardware for up to 64 Virtual Machines Maximum 2 cards can be installed to server for up to 128 Virtual Machines Can work alongside GPUs (NVIDIA/AMD/Intel)
Encoding Blast Extreme Multi Codec based Protocol H.264 (Industry standard video based codec) Default JPG/PNG (for lossless compression and devices not supporting H.264) TCP or UDP based Encryption AES 128 bit or AES 256 bit Configurable Image quality/frames per second/bandwidth and more Software CPU H.264 Where NVIDIA GRID card is not installed (NVENC) JPG/PNG Hardware - NVIDIA GRID H.264 supported only Uses dedicated H.264 encoders on board (Separate from GPU)
Hardware encoding - PCoIP Teradici PCoIP Hardware Accelerator Specification APEX 2800 LP Format Memory Half height, half length. PCIe gen 2.0, x4 2GB of on-board DDR3 SDRAM with ECC protection Resolution In Portrait In Landscape # of Displays Supported GPU Compatibility System Requirements 2560x1600 1920x1200 1680x1050 1280x1024 25 40 50 100 40 64 85 100 Supports GPU options: shared GPU (vsga), vgpu and GPU pass-through (vdga) PCIe slot x4, x8 or x16 ESXi 5.0 or later VMware Horizon View 5.0 or later VMware Horizon Published Desktop 6.0 or later Up to 2 cards per server
Hardware encoding - PCoIP - Horizon
Hardware encoding - Blast Extreme (H.264) NVIDIA Tesla/GRID GPU Specification Comparison Tesla M10 Tesla M60 Tesla P40 Tesla M6 TESLA P6 NVIDIA CUDA Cores 2560 (640 per GPU) 4096 (2048 per GPU) 3840 1536 2048 VRAM 32GB GDDR5 16GB GDDR5 (2 x 8GB) 24GB GDDR5 8GB GDDR5 16GB DDR5 H.264 1080p30 Streams 28 36 24 18 24 Form Factor PCIe 3.0 Dual Slot PCIe 3.0 Dual Slot PCIe 3.0 Dual Slot MXM MXM TDP 225W 225W-300W 250W 75W-100W 70W-90W GPU 4 x Maxwell GM204 2 x Maxwell GM204 1 x Pascal Maxwell GM204 1 x Pascal
NVIDIA GRID Guest OS NVIDIA Driver VM vgpu HYPERVISOR Guest OS NVIDIA Driver VM vgpu vgpu Manager Requirements Certified server Supported Hypervisor NVIDIA GRID GPU: M10, M60, M6, P40, P6 NVIDIA Virtual GPU Software Per user license License Manager Server CPU GRID 24
NVIDIA GRID Licensing Model Virtual Applications (RDSH) Virtual PC (Knowledge Worker / Power User VDI) Quadro Virtual Datacenter Workstation (High End Workstation replacement VDI) Licenses Perpetual or Annual SUMS (Support, Upgrade & Maintenance) Annual Perpetual Sums Virtual Apps $ 10 $ 20 $ 5 Virtual PC $ 50 $ 100 $ 25 Virtual Workstation $ 250 $ 450 $ 100
GPUs in VDI
Compare encoding (performed by 10Zig) Test cases designed to stretch protocol in respect to moving and updating of display 20 second interval performed by scrolling through data and/or playback of video Microsoft Excel 8500 rows, 17 x columns, stock spreadsheet Adobe Reader 25MB, Graphically rich PDF iphone User Guide VLC Avatar 1080p Trailer
Software Comparisons Encoding CPU % (Excel) PCOIP BUILD TO LOSSLESS OFF % 34% 84% BLAST (PNG) % 50% 81% PCOIP DEFAULT % 35% 97% PEAK AVERAGE BLAST H.264 DEFAULT % 23% 60% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Monitoring - VMBlastW.exe (Blast) or Pcoip_server_win32.exe (PCoIP) encoding process on Host
Hardware Comparisons Encoding CPU % (Excel) PCOIP LOSSLESS 2% 6% PCOIP LOSSY 3% 4% BLAST (H.264) LOSSY 1% 2% PEAK AVERAGE BLAST (JPEG) LOSSLESS 8% 13% 0% 2% 4% 6% 8% 10% 12% 14% Monitoring - VMBlastW.exe (Blast) or Pcoip_server_win32.exe (PCoIP) encoding process on Host. Based on Horizon 7.3.1.
Blast Extreme Lossy vs Lossless H.264 Lossy hardware offload Lower CPU-load JPG/PNG Lossless No hardware offload Higher CPU-load H.264 JPG/PNG
Blast Extreme: Adaptation Network Adaptation TCP is initial default connection Tries to connect via UDP if enabled Automatically falls back to TCP if unable to connect on UDP Codec Adaptation Use hardware encode with NVIDIA GRID if available Use software H.264 if client can decode H.264 Use JPG/PNG if client can t decode H.264 Protocol Adaptation If a pool is forced to Blast Extreme Zero client will connect with PCoIP Pre 4.x Horizon clients will connect with PCoIP/RDP
Blast Extreme - BEAT Blast Extreme Adaptive Transport Available within Horizon 7.1 onwards Improves User Experience and Performance across non-ideal networks High Latency Packet Loss Testing demonstrates Between 4-6X faster over high latency networks (1-200ms, 1% packet loss) 50% bandwidth reduction
Blast Extreme - BEAT
Decoding PCoIP VMware Horizon Clients (Windows, Linux) Software - CPU Dual or Quad Core CPU recommended Hardware Teradici Zero Clients (TERA1202, TERA2321, TERA2140)
Decoding Blast Extreme VMware Horizon Clients 4.x onwards Software Used on client devices which do not support H.264 decode Used for lossless deployments (i.e. CAD/Medical) Hardware H.264 compliant x86 Hardware Single Monitor VMware Horizon 7 onwards / Client 4 onwards Multi Monitor VMware Horizon 7.03 / Client 4.3 onwards
Optimizing GPO UEM Max Initial Image Max Session BW Enable Min Image Max Max Audio Bandwidth Profile (Kbps) BTL Quality Quality FPS BW (Kbps) High-speed LAN 900000 Yes 100 50 60 1600 50 Image Quality Performance LAN 900000 Yes 90 50 30 1600 50 Dedicated WAN 900000 No 80 40 30 500 50 Broadband WAN 5000 No 70 40 20 500 50 Low-speed WAN 2000 No 70 30 15 200 25 Extremely lowspeed connection 1000 No 70 30 5 90 0
Monitoring
PCoIP Session Statistics Viewer tool
Windows Performance Counters Estimated Bandwidth Estimated Frames Per Second Estimated RTT (Latency) Estimated Throughput
Future Future of PCoIP in Horizon? Blast Losless hardware offload? New features: Blast only? Blast collaboration Requires Blast Extreme protocol Multicast any desktop to many simultaneous users Collaboration UI on VDI desktop to initiate collaboration sessions
Recap General Get feedback on user experience Lossy vs Lossless Horizon 7.x supports both PCoIP and Blast Extreme
Recap - Blast Extreme Supported from Horizon 7.x Recommended in conjunction with NVIDIA GRID vgpu/passthrough Consider costs (Hardware and Licensing) Consider restrictions in number of H.264 encoders (NVENC) Ideal for mobile client devices and/or clients that support H.264 decoding Ideal for lossy networks with support for TCP
Recap - PCoIP Lossless Compression + Hardware offload (Graphic Design/Medical/CAD) Cost effective model for customers not deploying VMware Horizon with NVIDIA GRID hardware encode with APEX 2800 LP Choice of clients for leveraging best performance, functionality and ongoing support TERA2 Excellent performance, Lack of support for RTAV, Scanner Redirection, lack of support for H.264 Thin Client/Zero Clients (x86) Support both PCoIP/H.264, look towards quad core for PCoIP