PCoIP; Basics

There isn’t a VDI topic people talk about more than about remote display protocols. “Which protocol is better, more efficient, faster”.. etc. For sure this is an important subject but not conclusivly. Yes, end users need to have a great user experience; the same and preferably better than in a physical environment. If they don’t, they won’t adopt centralized virtual desktops, but there are other, equal important parts like management/scalability/density.

For now I would like to cover the basics around PC over IP (PCoIP), VMware’s display protocol in View4 besides RDP.

First of all I want to start telling you PCoIP isn’t a new protocol. PCoIP has been around for years. It’s been developed by Teradici. Teradici created hardware to process this protocol. In the data center you need, for example, a blade pc with a TERA Host chip and on the client side you need a device with TERA chip.

VMware signed a co-development agreement with Teradici to put the protocol into VMware’s View software. The View Agent inside the VM and the View Client on the access device are handling the protocol now in View4. Software to software was the first step. VMware is also aiming to support software-hardware and hardware-hardware. Vmware wants to provide 1 solution that can support all kinds of end users; task workers, knowledge workers and heavy power users. Maybe those power users need a hardware PCoIP solution but it still can be put inside the data center, managed through the View Manager and there is 1 uniform way of connecting to (virtual) desktops.

First question I often get is if the new software way is putting more load on the ESX/vSphere servers. Instead of handling it in hardware, the load is being handled in software and thus handled by the ESX/vSphere server. Yes, rendering graphical content will cost CPU cycles but how much is hard to say. It all depends. I know this sounds easy but it does all depend on what’s being done inside the VM. The heavier the graphical content, the more CPU cycles it will cost you. Remember 1 other thing also; with PCoIP, end users are able to view richer multi media content than with RDP. Users will make use of that so resource usage will go up. Give me a car that can drive 100 km/h which uses 1 liter per 15 km’s and I will try and drive 100 km/h. Give me a car that can go up to 150 km/h but uses 1 liter per 13 km’s and i will do that.

Below I will talk about a couple of characteristics of PCoIP;

Codecs/encryption; PCoIP is codec agnostic. It just “looks” at the changed pixels on the screen. Basically it is comparing the changed pixels in the frame buffer of the video card. It will send over those changed pixels to the access device, compressed and encrypted (AES). With VMware View you don’t need to be afraid the solution doesn’t support a specific codec like Flash, Silverlight, MPEG etc. You also don’t need to have those codecs available on access devices which decreases management.

Progressive Build; With this capability PCoIP will send just enough data over the network for the image to be useful.  Over time the protocol will send more data until a full resolution image has been rendered. The progressive build capability applies in low bandwidth, high latency scenarios. Below you see 3 pictures. From grainy to full resolution;

Lossless/lossy compression; Primarily PCoIP will always try to build up the exact same image that is in the VM. See the 3 images above. It will drop pixels when it can’t build up to lossless because the frames are changing too quickly, like in a movie; In an action scene, not all pixels need to be transferred to the access device. Frames are changing too quickly, the eyes won’t notice the loss of pixels.

Resolution/size/color; PCoIP supports up to 4 monitors with a max resolution of 1920×1200 each. Because of Pivot technology, the monitors can be of different sizes and resolutions. They also can be placed horizontally and vertically. 32 bit color is also supported. The window automatically resizes to the maximum resolution of the monitor.

USB/Audio Redirection; PCoIP handles USB redirection via a virtual channel. This means you can put a USB device in your access device and it will appear in the VM. This also means for audio. Bi directional audio and video isn’t officially supported at the moment.

Adaptive Network Adjustment; PCoIP will use the bandwidth it can get its hands on. A single session could use many Mbps. However, this usage will decrease when more sessions from other users are setup on the network. Usage will adjust to the amount of “room” available.

PCoIP is a great protocol. In my opinion, this “first version” is equal or better than protocols that have been around for many years. This tells me there is a lot of potential for great things in the future.

Leave a Reply

Your email address will not be published. Required fields are marked *