Tuesday, November 04, 2008 11:21 PM
Kurt Roggen
Hyper-V and Virtual Devices (VDev): Synthetic versus Emulated Devices
Virtual Device (VDev)
With Hyper-V, a virtual device is a software module that provides an I/O path for a partition and are configurable via Hyper-V Manager console. A VDev allows a single physical device attached to the primary partion to be shared across multiple child partitions. Each partition believes it has exclusive access to the device. Virtual devices are very often packaged as a COM device and managed using a WMI interface.
There are two different kinds of Virtual Devices in general:
- Emulated devices also sometimes called Core devices
- Synthetic devices also called Enlightened devices
Synthetic versus Emulated devices
Emulated (legacy) devices emulate a physical network adapter in software. Although this process provides networking services to a virtual machine, it requires
additional host processing resources.
Each child partition has a Virtual Machine Worker Process (vmwp.exe) and device emulation occurs within this process. The emulated devices work by utilizing the native physical device driver inside the child partition. Emulated devices have a high overhead in terms of processing required to handle I/O to/from the device, however emulated devices also provide a high degree of compatibility with existing software and operating systems.
Emulated devices have been implemented by Microsoft for a variety of different devices:
- S3 Trio Video Card
- Intel/DEC 21140 network card
- Intel 440 BX controller
Emulated devices
Synthetic devices can be thought of as “proxy devices” that present themselves as network devices, but only serve to pass data along the VMBus to other networking resources. This process does not require software emulation, and therefore offers higher performance for virtual machines and lower host system overhead.
VMBus synthetic devices
Related reading:
Filed under: WindowsServer2008, Virtualization, HyperV