Teradici Blog

PCoIP Ultra Technical Series Part 1: Top-Level Architecture

Written by Ian Main | July 17, 2019

This is the first post in a technical blog series by Ian Main: Teradici's Technical Marketing Principal. In the series, he'll go through the PCoIP Ultra protocol enhancements from a technical perspective, and answer common questions that have come up since the release of the enhancements. 

And now without further delay, over to Ian!

PCoIP UltraTM Technical Series Part 1: Top-Level Architecture

We’ve enjoyed great customer response to the release of the PCoIP Ultra protocol enhancements, but also a barrage of technical questions and, dare I admit, some confusion surrounding capabilities and configurations too.  The PCoIP Ultra Technical Series sets out to explain the protocol enhancements in terms of both architectural and performance considerations – to help Cloud Access Software subscribers determine how to best take advantage of the new features.

 

As a quick background, the Ultra enhancements use an expanded array of encoders that promise 4K/UHD content at high frame rates, efficient scaling across multicore CPUs leveraging AVX2 intrinsics and, now in 19.08 Beta, a GPU-based encoding option leveraging NVIDIA NVENC technology. 

 

Wait a minute… What frame rate? How efficient? What about bandwidth? Why the GPU option? How does this stuff compare to regular PCoIP we know so well? How do I turn it on?  I’ll tackle these important questions in bite-sized postings. But before we get there, let’s set the stage by explaining the top-level architecture and terminology.

The PCoIP Agent (specifically version 19.08 or later) noted above, includes two new components alongside the existing PCoIP encoder. For clarity, I’ll call the longstanding encoder in Cloud Access Software the PCoIP-SSE4.2 encoder because it was most recently optimized for those intrinsics.  Not to be confused with the PCoIP encoder in VMware Horizon which is a single-threaded implementation last optimized for SSE2 instructions a few years ago… more on that in a later posting.  Also, not to be confused with TERA2 hardware encoding when using PCoIP Remote Workstation Cards (or ‘Host Cards’) plugged into a remote workstation. 

 

The first enhancement is the new PCoIP-AVX2 codec shown in blue and the second enhancement shown in yellow is the completion of our third-party codec framework, within which we’re excited to now have the NVIDIA NVENC encoder in Beta. The 19.08 Beta engages the NVENC H.264 encoder which we’ll call PCoIP-NVENC here as we’ll be adding other NVENC capabilities in the future. Codec selection is accomplished by a combination of PCoIP GPO policy settings and available capabilities of the PCoIP endpoint shown on the right… more on that in the next posting.

 

Teradici demonstrated this capability for the first time at the NVIDIA GTC conference earlier this year.    Cloud Access Software with PCoIP Ultra™ enhancements was part of a demonstration showing off the NVIDIA RTX server and Quadro vDWS. A video from the event captures a VFX artist using assets from the Netflix award-winning show Lost in Space to show how truly amazing content creation, workflows, and GPU-accelerated rendering can be with virtual workstations.

 

Up next in this series: PCoIP Ultra Client Compatibility