A number of questions on the Intel Virtualization and Software Development Forum have come up on the topic of VT-c, so perhaps it&aposs time for a blog entry on the subject.
Intel Virtualization Technology for Connectivity, or VT-c, is a collection of technologies that improve the performance of network I/O on a virtualized system. VT-c is comprised of two components at the time of this writing: VMDq and VMDc.
VMDq, or Virtual Machine Device Queues, supports separate queuing for individual VMs on the network contoller itself, thus improving VMM performance by relieving it of the burden to sort incoming network I/O data. Separate queuing also improves fairness amongst VMs and provides several other nice features.
VMDc, or Virtual Machine Direct Connect, uses the PCI-SIG standard called SR-IOV to virtualize physical I/O ports of a network controller into multiple virtual I/O ports, and then to map the virtual ports to individual VMs. The result is near-native network I/O performance for VMs which can now make use of direct access.
Users have asked whether VT-c is a hardware or software-based set of performance features. The answer is "yes" and "yes" — in other words, both are required to enable VT-c capabilities. VMDq, case in point, requires the hardware support of particular network interfaces, driver support, and VMM support.
More information can be found on VT-c at:
David Ott, Sr. Software Engineer
Software and Services Group
Intel Virtualization and Software Development Forum