Mastering Windows Server 2016 Hyper-V

(Romina) #1

numbers of queues, typically many more than VMs running on the box. While vRSS
spreads the traffic over multiple cores in the VM, that traffic still comes from a single
queue for the VM and results in two interrupts: a hardware interrupt from the actual
NIC queue and then a software interrupt to the VM to spread out the traffic. With
VMMQ, multiple hardware queues from the NIC can be allocated to a single VM, and
each queue is affinitized to a specific CPU. The default queue (used by VMs without a
VMQ) also now uses a set of queues interrupting a set of CPUs. The distribution of the
traffic over the multiple queues is done in the NIC hardware (using the same Toeplitz
hash as RSS) instead of the VMSwitch software, which is the case with vRSS. This
means that the interrupts and processing are spread over multiple CPUs, leading to
better processing while minimizing the overhead on the Hyper-V switch. Note that the
VMs still require multiple vCPUs to process the traffic.


To enable VMMQ for a VM (which can be executed while the VM is running), use the
following:


Set-VMNetworkAdapter ‐VmmqEnabled $TRUE

Free download pdf