I recently posted on how Provisioning Server helps to offload and reduce the amount of IOPS your underlying storage needs to support in order to maintain sufficient performance of your XenDesktop VDI deployments (<a href="http://egroup.jasonmangone.com/how-citrix-provisioning-services-reduces-iops" target="_blank">see link here</a>). One of our Citrix Sales Engineers asked me to also cover MCS and to explain how Citrix is actively working to achieve the same kind of results even when using MCS and a "master image" VM.

So here it goes!

The goal here is simple-- minimize the cost of the horsepower needed for the underlying storage in a XenDesktop VDI deployment. As described in the PVS post linked above, the "issue" with things like Citrix's MCS or VMware's Linked Clone technology is that it relies on a "master image", and that image gets pounded with IO. To work through this, lots of customers invest heavily in their underlying storage specifically for this image. And this is perfectly acceptable; a STRONG and highly available storage environment is critically important here and in all other virtualized environments. But again, the goal is to minimize the COST of the necessary horsepower the deployment.

This is where Citrix's XenServer Intellicache comes into play (not to be confused with HDX Intellicache, which is somewhat similar but specifically for bandwidth and end user experience optimization). The Intellicache technology leverages LOCAL disk drives in a XenServer host to "offload" disk operations from the storage array. Once the first virtual machine boots and begins to read against the master image, a XenServer host caches the master image data on the LOCAL hard disks configured for Intellicache, and future reads to the image are then satisfied locally. This tremendously reduces the IOPS load against your shared storage array.

Imagine 10 XenServers each hosting virtual desktops using MCS and leveraging Intellicache.  Instead of having all the disk operations taking place on a single LUN backed by a certain number of spindles, you're using the local disk drives in 10 XenServers and only communicating back out to the array when necessary. A huge shift in the workload-- from entirely consolidated, to a "consolidated while shared" model.

<!--more-->

And because the cost of local drives is more affordable than the drives in an Enterprise quality storage array, you can cut the CAPEX cost of your deployment (which is THE GOAL). You can even invest in solid state drives (they rock, by the way) for the local servers and drive the performance that much higher, and stay at a lower price point.

Intellicache also offloads and reduces the consumption of bandwidth on the storage network-- and if you use NAS for your shared storage with support for NFSv3, this can help you overcome the "single TCP session" limitation of NFSv3. When a virtual desktop needs to read against the master image, the data is available and presented to it directly from the server its running on, which reduces the latency of that operation, and because it doesn't have to go "out on the wire", the bandwidth used is minimized.

<img class="aligncenter" src="http://img641.imageshack.us/img641/2762/citrixxenserverintellic.png" alt="" width="873" height="482" />