It was hard to create a title for this article because I normally don’t publish competitive analysis between products, protocols or architectures. I like to talk about products and technology from an optimistic and opportunistic approach. You rarely see me bashing vendors or products. I don’t do that because I believe nowadays every company has potential to quickly improve and innovate surpassing the competition.
However, certain times I feel the obligation to demystify market myths. This discussion between display protocols has been going for a while and doesn’t seem to be stopping anytime soon – and it won’t.
Articles and videos comparing display protocols have been published by vendors. However, they all lack vital information that allow organizations to make business decisions. Display Protocols are important, but they are only a small piece in the big VDI puzzle that embrace architecture, storage strategy and utilization, user profile and data management, use cases, infrastructure, long term vendor strategy, technology stack, etc…
While PCoIP (VMware View) may perform outstandingly well in some scenarios it may not be as good for different use cases. ICA and HDX on the other hand may perform at it’s best in certain scenarios and not in different use cases.
My recommendation is: PILOT the VDI solution that make sense for your organization, and as a secondary task verify that display protocols available meet your organization’s use cases.
I compared PCoIP in it’s latest’s release with VMware View 5.0 against ICA in it’s latest release with XenDesktop 5.5. I tried to maintain the exact same configuration levels and options to make sure the comparison is as transparent as possible.
Defining the Scenario
- Both VMs run Windows 7 64-bit Enterprise with VMware Tools
- Both VMs are optimized for VDI using Quest Optimizer with exact same settings
- Both VMs have Adobe Flash, Java and Silver Light installed
- Both VMs have 2GB RAM
- Both VMs have 1 vCPU
- Both VMs have 35.19MB of video RAM (equivalent to 2 displays at 1920×1200)
- Both VMs have the same reservations (none) in vSphere 5.0
- Both VMs are hosted on the same storage array and datastore
- Both VMs run hardware version 8
- Both VMs have 3D support disabled
- Both VMs are provisioned in non-persistent or pooled mode
- Each VM has it’s own agent installed (View and XenDesktop)
VMware View VM Settings
XenDesktop VM Settings
As I mentioned before, it is important to define the use case to have a correct comparison. This setup consists of a iPad 1 connected over a TCP based VPN (Cisco AnyConnect) over my wireless hotspot at my home. The connection has 20Mbit downstream to the internet and the VPN gateway is located on the US West Coast, which is where I am based at. Below you will find a representation of my setup.
By default PCoIP and ICA protocols have different configuration set. I configured both protocols in a similar fashion to reduce chances of interference to the tests, such as bandwidth being used by audio or microphones. The following changes are applied:
- Both protocols have audio client redirection disabled
- Both protocols have microphone redirection disabled
- Both protocols have been set to 24 FPS (frames per second) (24FPS is the default setting for XenDesktop. PCoIP default setting is 30FPS)
- PCoIP have Build-to-Lossless disabled (This is the default setting for XenDesktop)
I ran two different tests with both products.
Test 1 – This test used the native Internet Explorer in Windows 7 to deliver Adobe Flash host based rendering. A flash intensive website was used in my first test. (http://www.nespresso.com/variations).
Test 2 – This test used Windows Media Player to deliver a HD video.
I classify this use case similar to an organization’s employee using iPad over Wi-Fi in a meeting at the organization’s premises or in a branch office served with decent size bandwidth to the datacenter where the virtual desktop reside.
In this testing environment PCoIP outperforms ICA. However, both protocols are highly customizable and I might have overlooked settings that would tune and improve protocols performance for this specific scenario. I tried to maintain configuration parity.
If either VMware or Citrix are reading this article and would like me to modify specific settings to improve protocol performance without end user experience degradation I am happy to re-run the simulation and add the comparison to this article.
In a following article I will compare protocols in different scenarios such as from a hotel or cafe with limited internet bandwidth.