<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1678247062437069&amp;ev=PageView&amp;noscript=1">

PCoIP Ultra Technical Series Part 3: Four Times the Pixel Rate!

August 27, 2019
Ian Main

Ian is Teradici's Technical Marketing Principal. Ian has over 10 years of experience at Teradici, involved in performance benchmarking, architectural aspects of PCoIP design and customer requirements analysis, with a particular focus on the media and entertainment industry. Follow Ian on Twitter! https://twitter.com/PCoIP_Ian

This is the third 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 3: Four Times the Pixel Rate!

In part 1 and part 2, we set the stage showing the architecture of PCoIP Ultra protocol enhancements and discussed endpoint device considerations. Now it’s time to talk performance.

pcoip-ultra-features2-diagram-outline2

In the above graph

  • Lower left: The original PCoIP software encoder integrated in VMware Horizon (and suited to most VDI)
  • Middle: The SSE4.2 encoder with good performance up to FHD (1920 x 1080) at 60 frames per second (fps)
  • Top right: The PCoIP Ultra protocol enhancements – performance targeted at 500 mega-pixels-per-second (MPPS) this year.

 

Using PCoIP-AVX2, the specified full-screen throughput of 4K/UHD at 30 fps is easily achieved for full-screen video playback. This allows dual 4K/UHD display topologies such as a typical editorial environment comprising timeline and playback screens.  For partial display windows such as a native-sized 1080p video window on a single 4K/UHD monitor, we see frame rates reaching up to 60 fps already! Look out for some fantastic updates we have in the works to ensure buttery smooth video playback in these scenarios.  

 

A short arithmetical detour on the ‘MPPS’ metric 

We can use the pixel processing ability of encoders and decoders as an easy metric for characterizing endpoint performance requirements.  The PCoIP protocol only needs to process pixels that have changed subsequent to the previous encoder cycle (typically 16.6 ms earlier), so a static desktop runs near zero pixels-per-second throughput requiring no active CPU cycles.

 

Encoding a video window or VFX workload obviously requires some allocation. A single 1080p video frame has about 2 million pixels (or 2 megapixels) so if video content is displayed at 24 fps, we need 2 million x 24 = 48 MPPS. A single 4K/UHD video frame of 8.3 megapixels at 30 fps needs 8.3 x 30 = approximately 250 MPPS and so on. Keep in mind that both the remote workstation and the endpoint need some processing resources to meet the MPPS throughput demand, hence the client recommendations in the previous blog post of this series.  

 

On the subject of processing resources, the beauty of choosing an NVIDIA vDWS architecture with NVENC GPU-based encoding is that PCoIP-NVENC mode enables you to offload most of the pixel processing on the host side which frees up CPU cycles for hungry workloads… a topic I’ll dig deeper later in the series so stay tuned.

 

In the next post, we’ll investigate how the recently enhanced PCoIP Agent leverages the multicore features of modern servers to accomplish this huge throughput without overloading the CPU or stealing cycles from all-important software applications.

 

Subscribe to this blog to catch part 4 of the PCoIP Ultra Technical Series

Ian Main

Ian is Teradici's Technical Marketing Principal. Ian has over 10 years of experience at Teradici, involved in performance benchmarking, architectural aspects of PCoIP design and customer requirements analysis, with a particular focus on the media and entertainment industry. Follow Ian on Twitter! https://twitter.com/PCoIP_Ian