What is VMDq and what is needed to deploy it on a virtualized server?

VMDq allows the creation of parallel queues by moving packet sorting and queues out of the hypervisor's virtual machine manager.

What is VMDq and what is needed to deploy it on a virtualized server? How does this differ from DDIO? 

Hardware-accelerated virtualization technologies are expanding beyond the processor to embrace the server’s I/O subsystem. Technologies like single root I/O virtualization (SR-IOV), virtual machine device queues (VMDq), data direct I/O (DDIO) and others can support efficient network use, reliable network traffic isolation, better I/O allocation and management and improved server consolidation for busy data centers. It’s important to test each feature to ensure that the necessary software and hardware components are in place before general deployment, but the benefits are often well worth the incremental investment in server features.

When a virtualized server attempts to exchange data between a VM and the network, the hypervisor’s virtual machine manager (VMM) is typically responsible for queueing and sorting the packets. Packet sorting demands an increased load on the VMM and processors -- and may not result in efficient transmit and receive queueing.

A VMDq moves packet sorting and queues out of the VMM and into the network controller hardware (the Ethernet controller chip) in conjunction with tools like Microsoft’s Virtual Machine Queues (VMQ) or VMware’s NetQueue software. This allows the creation of parallel queues which can service each virtual NIC (vNIC) or virtual HBA (vHBA) without the performance restrictions normally associated with a single serial queue. The technology can also do a better job of scheduling transmit and receive tasks so that bandwidth utilization is improved for each queue. The addition of quality-of-service features on the controller chip helps to ensure that performance levels are maintained for critical workloads.

Servers will require software and hardware components to use a feature like VMDq. Software must include a suitable hypervisor and queue management tool. For example, the server might use Windows Server 2012 R2 with Hyper-V and Microsoft VMQ or VMware NetQueue included in vSphere. The underlying network controller must also support VMDq functionality. It’s important to remember that it’s really the Ethernet chip (not the NIC make or model). These include the Intel 82575 1 GigE or Intel 82598 10 GigE controllers. A more recent example includes the Intel XL710-AM2 dual 40 GigE controller chip.

DDIO is not the same as VMDq. DDIO is basically a means of allowing the network adapter to communicate directly with the processor’s cache to exchange network transmit and receive packets without first moving those packets to and from memory. This allows network data to be moved directly between the CPU and NIC without any memory reads or writes, reducing latency and enhancing bandwidth use to boost server performance. DDIO requires a suitable Ethernet controller chip and a corresponding processor such as Intel’s XL710-AM1 single port 40 GigE Ethernet controller chip and a new Xeon E5 or Xeon E7 v2 processor.

Next Steps

What to know about a VMQ

Dig Deeper on Virtual machine provisioning and configuration