VMQ, RSS, and SR-IOV
So far, we have covered a lot of technologies related to network connectivity. The
following sections cover a few technologies that can help with the performance of
network communications. Although it can introduce some challenges when trying to
maximize its utilization and gain the highest levels of performance and bandwidth,
40Gbps and beyond is becoming more common in many datacenters.
SR-IOV and Dynamic Virtual Machine Queue (DVMQ) are two popular networking
technologies that can enhance network performance and can minimize overhead for
the hypervisor. These technologies are shown in Figure 3.37.
Figure 3.37 Understanding the VMQ and SR-IOV network technologies compared to
regular networking
SR-IOV
Single-root I/O virtualization (SR-IOV) allows a single PCI Express network device to
represent itself as multiple separate devices directly to virtual machines. In the case of
SR-IOV and virtual machines, this means that a physical NIC can present multiple
virtual NICs, which in SR-IOV terms are called virtual functions (VFs). Each VF is of
the same type as the physical card and is presented directly to specific virtual
machines. The communication between the virtual machine and the VF completely
bypasses the Hyper-V switch because the VM uses direct memory access (DMA) to
communicate with the VF. This makes for very fast and very low-latency
communication between the VM and the VF, because both the VMBus and the Hyper-
V switch are no longer involved in the network flow from the physical NIC to the VM.
Because the Hyper-V switch is bypassed when SR-IOV is used, SR-IOV is disallowed if
any ACL checking, QoS, DHCP guard, third-party extensions, network virtualization,
or any other switch features are in use. SR-IOV use is permitted only when no
switches’ features are active.