Windows Server 2008 R2 includes some enhancements to optimise how networking works in Hyper-V. I’m going to have a look at some of these now.
Virtual Machine Queue
Here’s the way things worked in Windows Server 2008. The NIC (bottom left) runs at the hardware level. VM1 has a virtual NIC.
Windows Server 2008 R2 takes advantage of Microsoft partnering with hardware manufacturers.
How it works now is that the NIC, i.e. the hardware, handles the workload on behalf of the parent partition. Hardware performs more efficiently than software. All that routing, filtering and data copy is handled by the network card in the physical host. This does rely on hardware that’s capable of doing this.
- Performance is better overall. The CPU of the host is less involved and more available. Data transfer is more efficient.
- Live Migration can work with full TCP offload.
- Anyone using 10GB/E will notice huge improvements.
TCP is pretty chatty. Data is broken up and converted into packets that must be acknowledged by the recipient. There’s an over head to this with the data being encapsulated with flow, control and routing information. It would be more efficient if we could send fewer packets that contained more data, therefore with less encapsulation data being sent.
Jumbo Packets accomplish this. Microsoft claims that you can get packets that contain 6 times more information with this turned on. It will speed up large file transfers as well as reduce CPU utilisation.
This one has been around for a while with Windows but is support for Hyper-V was added with Windows Server 2008 R2.
It’s similar to VMQ, requiring hardware support, and does a similar job. The NIC is more involved in doing the work. Instead of offloading from the parent partition, it’s offloading from the Virtual Machine’s virtual NIC. The virtual NIC in the VM advertises connection offload capabilities. The virtual switch in the parent partition offloads child partition TCP connections to the NIC.
You need support from the hardware for these features. During the RC release, the following NIC’s were included by MS in the media:
VM-Chimney Capable Drivers:
- Broadcom Net-Xtreme II 1 Gb/s NICs (Models 5706, 5708, and 5709)
- Broadcom 10Gb/s NICs (Models 57710, 57711)
VMQ Capable Drivers:
- Intel Kawela (E1Q) 1 Gb/s NICs (also known as Pro/1000 ET NICs)
- Intel Oplin NICs (IXE) 10Gb/s NICs (also known as 82598)