Last week Microsoft Corporate VP, Worldwide Licensing and Pricing, Joe Matz finally brought some light to a long standing Windows licensing discussion. In summary, It’s now public understanding that ISPs wanting to deliver DaaS (Desktop-as-a-Service) will need to implement Windows 2K8 Server with SPLA. In addition to that, with the soon Windows 8 release organizations will start to prepare themselves to either go to VDI/TS or upgrade existing VDI environments. That probably won’t happen as fast as we would like to because there may be no business reasons for to upgrade.
As always, I am here to talk about the technology and the virtualization stack.
If you have not been following my blog you may have missed two key articles that cover VMware View deployments using Window 2K8 Server with PCoIP, and Windows 8 CP with PCoIP. How to Access Windows 8 CP via PCoIP with VMware View and How to Access Windows 2K8 Server via PCoIP with VMware View. In addition to these articles I also have published a video demonstrating Windows 8 running on iPad via PCoIP. Windows 8 CP + View 5.0 with PCoIP + iPad [video]
After creating these articles I started playing with the solutions and started to notice a disk IO behavior that is different from what VDI architects have been working with. Its well known that Windows is a write intensive operating system, and in certain cases the disparity could be as much as 80% towards writes. Windows is also known for being write intensive during boot and login storms. In fact, during the VDI Read/Write Ratio Challenge the average number of Write IOs has been approximately 64% higher than the average of Read IOs during production workloads.
Well, everything we know about sizing storage performance for VDI environments may be about to change.
Initial tests that I have conducted without any scientific workload validation demonstrate that Windows 8 is less write intensive. This means that Microsoft has put a lot of effort in making the operating system less dependent on the storage stack. Why is this important?
Write IOs cost more than read IOs due to the RAID striping mechanism that needs to occur for every write IO. IOPs and RAID type define the storage layout and the numbers of disks required. The RAID type will set the numbers of spindles required to support the workload based on the amount of IOPS and Read/Write ratio — especially Write IO given that RAID add write penalty that is dependent upon the RAID type chosen. RAID5 adds write penalty of 4 whilst RAID10 adds write penalty of 2. VM IO = VM Read IO + (VM Write IO * RAID Penalty)
Less Write IO = Less Spindles or Solid State Drives.
Off course, a VDI workload is not only made of boot and login storms. Applications, logging and other components also generate both read and write IOs. However, as you will see now the IO construction for Windows 8 and Windows 2K8 is different and may be responsible for changing VDI storage sizing.
Baseline with Windows 7 – The following picture was extracted from one of my old articles and demonstrate a Windows XP boot process.
Windows 2K8 Server (below) demonstrate a similar behavior to Windows 7 during boot process. The high peaks are caused by OS boot, achieving approximately 453 read IOPs.
Windows 8 CP (below) demonstrate higher focus on reads than writes, considerably reducing the number of write IOs. In this example the reduction was from 76 to 44 IOPs. This number may not seem relevant, however storage backend IOs using RAID5 would increase those IOs to304 and 176. For VDI environments with hundreds or thousands of desktops this will make a big CAPEX difference when sizing storage arrays. Read IOs also require additional spindles, but if your deployment utilizes Linked Clones there is a big chance that all those read blocks will be promoted to the array cache once the boot storm is started.
Now, in my personal opinion boot storms are not as relevant as login storms. The chances are that boot storms occur only after major outages; meanwhile login storms occur every morning when users start to login into their virtual desktops. In my next article I will illustrate the storage efficiencies or deficiencies during login and IDLE time. I will also start a more accurate workload test with both Windows 8 CP and Windows 2K8 to identify what changes would have to be made to design methodologies and assumptions commonly used in the industry.