Wondering how all the I/O requests by virtual machines are handled in Hyper-V? Hyper-V has a storage IO balancer which prevents one busy VM from starving another VM. The Performance Tuning Guidelines for Windows Server 2008 at http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx provides the following detail:
The virtualization stack balances storage I/O streams from different VMs so that each VM has similar I/O response times when the system’s I/O bandwidth is saturated. The following registry keys can be used to adjust the balancing algorithm, but the virtualization stack tries to fully use the I/O device’s throughput while providing reasonable balance. The first path should be used for storage scenarios, and the second path should be used for networking scenarios:
HKLM\System\CurrentControlSet\Services\StorVsp\ = (REG_DWORD)
HKLM\System\CurrentControlSet\Services\VmSwitch\ = (REG_DWORD)
Both storage and networking have three registry keys at the preceding StorVsp and VmSwitch paths, respectively. Each value is a DWORD and operates as follows. We do not recommend this advanced tuning option unless you have a specific reason to use it.