I believe I may have found a pretty compelling reason to migrate your VDI deployment to Windows 8. While running some experiments I collected some statistics for Windows 7, Windows 8 and Windows 2K8 Server running as virtual desktops.
At this point we should all be familiar with the challenges associated with the number and latency of IOs in VDI environments, therefore I am not getting getting into details in this article.
In short, IOps are the number of commands sent by the GuestOS to the storage, and these commands can often overload storage solutions when they are not properly sized for the VDI workloads. Write IOs normally have a higher cost than read IOs due to RAID striping that occurs for every write IO. IOPs and RAID together define the storage layout and the numbers of disks required. The RAID type will set the numbers of spindles required to support the VDI workload based on the amount of IOPS and Read/Write ratios — especially Write IOs given that RAID adds write penalty depending on the RAID type chosen.
VDI workloads are not only made of boot and login storms. Applications, logging and other components also generate both read and write IOs.
If you want to learn more on IOPS please refer to Get hold of VDI IOPs, Read/Write Ratios and Storage Tiering. Also read VMware View 4.5 Storage Tiering explained and Sizing Storage for VMware View Linked Clones and Real Life example of Storage Sizing for View Linked Clones.
Anyway, back to the tests.
I measured the average and maximum number of IOPS requested by different GuestOS at two different stages. The first stage (below) is when the desktops have been IDLE for over 12 hours. The graph below demonstrate that the maximum number of IOPS for both Windows 7 and Windows 8 are roughly comparable, with one Windows 8 anomaly for the desktop “Win8-02″. I am not sure what caused the anomaly.
In this first test both Windows 7 instances presented much lower write IO average when desktops are IDLE, however not as low as Windows 2K8. Windows 2K8 has the lowest average IO consumption of all three Windows versions.
On the second stage of the test I measured the IO consumption during the 1st user login. In this test Windows 8 excelled when compared to Windows 2K8 and Windows 7 on both, read and write IOs. Windows 8 had a write IOs peak 46% lower than Windows 7. On the average write IO the number was 20% lower in favor of Windows 8, demonstrating much more granular control over the IOPS overtime.
Before I give you my final conclusions I have to state here that this is not a scientific test and I beg you to run your own validation tests.
Microsoft has without doubt improved Windows file system performance, reducing the amount of IOs and data required to and from the storage. If steady state workloads in Windows 8 present the same benefits and performance improvements demonstrated during the login process it could drastically help to reduce VDI storage costs since nowadays most storage costs are driven by performance, not by capacity.
The storage performance conundrum may not be an issue for newer storage architectures, such as those using storage class memory devices, that can drive an enormous amount of IOPs at very low latency. However, it could also mean that architects are able to increase host density without increasing latency.
I did not run a production working set using system testing tools such as View Planner or Login VSI to completely validate the theory. If you have done so and is willing to share, please do!
This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net.