The Whoas of I/O in Hyper-V
Coming from one of my favorite blogs out there is a little blurb on Hyper-V's I/O performance problems. It turns out that the only way to boot a VM is with an emulated IDE device. What's the problem with that? Well, according to Anthony F. Voellm, Principal Software Development Lead of Hyper-V at Microsoft, this directly impacts I/O performance because of the way the device works.
The IDE controller implements a well-known IDE controller and this means there is extra processing before the I/O is sent to the disk. This processing occurs in vmwp.exe (a user mode process that exists for each started VM. More on this in a later post). Once the IDE emulation is complete the I/O is sent into the Root Partition’s I/O Stack. I/O completion requires a trip back to vmwp.exe.
The SCSI controller is not emulated. The SCSI controller uses VMBUS (Virtual Machine BUS. More on this in a later post). The I/O's pass from the Child (aka Guest) Partition to the root over VMBUS and enter the I/O stack. You can already see one less process/machine context switch is required because vmwp.exe does not get invoked. Once and I/O completes its completion is sent over VMBUS.
There is a lot more to how both the IDE and SCSI controllers work however the descriptions below should help you to understand why SCSI controllers are the right choice for the best performance.
[From ALL TOPICS PERFORMANCE : Hyper-V: How to get the most from your virtualized disk performance]
Recent Comments