Improve VDI Performance

Improve VDI Performance

VirtuCache Host Side Caching for VMware Reduces Virtual Desktop Latencies.

If your VDI VMs are plagued by slow application response times, long Windows boot times, cursor freezes, jittery audio/video, anti-virus software locking up VMs, slow vGPU offloaded applications, then our VirtuCache software for VMware will be relevant.

The root cause of these issues is most likely high storage latencies from your storage appliance or storage network.

VirtuCache solves this problem by automatically caching frequently and recently used VM data (reads and writes) from any SAN based storage to in-VMware host RAM or SSD. Subsequently, VirtuCache services more and more storage IO from this in-host cache media, instead of the IO requests traversing the storage network. This improves VM level latencies considerably, even during times of peak workload.

VirtuCache is a 10 minute install in the ESXi kernel. It can be installed while production VMs are running on the host, without requiring maintenance mode.

Supports ALL VDI (View and XenDesktop) and vSphere features without any admin configuration.

We compete with all-flash & hybrid arrays, hyper converged appliances, and built-in caching features in XenDesktop and Horizon View.

Versus SSD based storage arrays and hyper-converged appliances.

  1. With VirtuCache, you don’t need to replace your existing storage appliance or storage network. VirtuCache is very very non-disruptive to install and operate.

  2. We will be higher performing than SSD based arrays since in our case the SSD is closer to the host CPU that consumes this data.

  3. If you configure VirtuCache to cache to host RAM, there will be no equal in performance, since neither all-flash arrays nor hyper-converged appliances are capable of using RAM to service storage IO. And RAM is the highest throughput and lowest latency storage media.

  4. VirtuCache is similar to hyper-converged appliances only in the sense that high speed storage is back in the host. Unlike hyper-converged appliances, VirtuCache only moves the performance tier to the VMware host, the capacity tier stays in the backend SAN appliance, so you can scale performance and capacity independently.

Versus built-in caching features in VMware Horizon View and Citrix Xen Desktop.

Both VMware and Citrix have server side caching functionality in their respective VDI software. VMware calls it View Storage Accelerator (VSA) and Citrix calls it Machine Creation Services Storage IO Optimization (MCS IO).

But the differences between us and MCS IO / VSA are many, the top few are listed here.

Question.

VirtuCache.

VMware Horizon View Storage Accelerator (VSA).

Citrix’ Machine Creation Services Storage Optimization (MCS IO).

Improves the storage performance of what?

All read and write operations for all server VMs and virtual desktop VMs can be cached.

Only a maximum of 2GB of Master VM blocks can be cached.1

Only VM write operations of non-persistent XenDesktop / Xenapp VMs can be cached.2

Can cache to what?

Host memory and/or in-host SSD. No limit on amount of SSD or RAM that can be used as cache device.

Maximum of 2GB host RAM.1

VM memory.2

Admin Overhead.

Assign caching policy to VMs or Datastores once.

No ongoing administration required after.

Requires periodic ‘Regeneration’ of index, during which time VMs might be slow or inaccessible.3

VMs larger than 512GB are not supported.4

Administrator needs to manually ensure that cached writes don’t fill up VM RAM, else there will be instability/blue screen in the VMs.2,5

Though VDI administrators compare us to these built-in caching features in XenDesktop or View, our performance is comparable to an all-flash array instead, since the storage acceleration VirtuCache provides is across all your VMs (server and desktop), and its typically configured to use larger amounts of cache media than what’s possible with VSA or MCS IO. This ensures that most of the storage IO is serviced from in-host cache media.

Cross references:
1-Search for ‘read cache’, ‘The cache size must be between 100MB and 2,048MB.’ on this link https://docs.vmware.com/en/VMware-Horizon-7/7.4/horizon-administration/GUID-77B22AC9-EF9F-4161-9856-88DADEE095DD.html
2-Search for ‘writes to memory’ ; ‘only works with non-persistent VDI and RDS provisioned machines’ ; ‘blue screen’ on this link https://www.citrix.com/blogs/2016/08/03/introducing-mcs-storage-optimisation/
3-Search for ‘View Storage Accelerator might take tens of minutes to generate or regenerate the digest files for large virtual disks (for example, a 100 GB virtual disk). As a result, the desktop might be inaccessible for longer than expected.’ on this link https://docs.vmware.com/en/VMware-Horizon-7/7.3.3/rn/horizon-733-view-release-notes.html
4-Search for ‘View Storage Accelerator is disabled on virtual machines that are larger than 512GB.’ on this link https://docs.vmware.com/en/VMware-Horizon-7/7.3.3/rn/horizon-733-view-release-notes.html
5-This happens because cached writes in RAM are never synced with backend storage, and so never evicted from VM RAM, hence the amount of writes in VM RAM keeps growing. Search for ‘actual VM disk will not have any data written to it’ https://rakhesh.com/citrix/mcs-choices-ram-cache-disk-cache/