Hyper-V Synthetic Devices

Microsoft’s new Hyper-V virtualization uses an all new hypervisor based architecture. One of the accompanying changes with this new architecture is the way it handles devices in the virtual machines. Hyper-V supports two types of devices in its virtual machines: synthetic and emulated.  Synthetic devices essentially package device requests made by the virtual machine devices and forward them over the new VMBus, an in-memory pipeline, which forwards the device requests to the physical device.  You can think of it as a packaging and forwarding  mechanism between the guest VM and the physical host. Synthetic devices are supported by Windows Server 2008, Windows Server 2003, with XEN enabled Linux and Windows Vista.  Emulated devices on the other hand use host software to emulate the device which uses additional host processing power. Hyper-V’s software device emulation is performed by the vmwp.exe program.  Hyper-V will use one instance of the vmwp.exe program per legacy VM.  

So how can you tell if a Hyper-V VM is using synthetic or emulated devices? Open the device manager for the guest VM by right clicking Computer (for Windows Server 2008 or My Computer for Windows Server 2003) then select Manage from the context menu. For Windows Server 2008 expand the Diagnostics node to open Device Manager as you can see in the figure below:

Hyper-V Synthetic Devices 

If the OS is using the higher performance Synthetic devices you’ll see Microsoft VMBus Video Device under the Display adapters, Microsoft VMBus Network Adapter under Network Adapters, and VMBus under System devices.