Microsoft recently announced that Accelerated Networking is now generally available for Windows (previously GA) and Linux (new) virtual machines running in Azure.
Accelerated networking is a system where virtual machines bypass the virtual switch of the underlying Azure Hyper-V host and inbound and outbound packets travel directly between the virtual machine’s virtual NIC (virtual function or VF) and the host’s physical NIC (physical function or PF). This results in:
You can enable Accelerated Networking when creating a new virtual NIC for a new virtual machine. If you have an existing virtual machine, then you will have to delete the virtual machine and recreate it from the existing disks (you lose nothing but time):
The availability of Azure PowerShell depends on:
The following series are supported:
Note that 8 vCPUs on a D_v3 is 4 cores and 4 vCPUs on a D_v2 is also 4 cores. 4 cores appears to be the magic entry point at this time.
If your virtual machine is not supported and you want to improve networking performance, you should verify that RSS (Receive Side Scaling) is enabled in the network adapter properties of the guest OS, as discussed by Microsoft.
The timing of the GA is wonderful for two reasons. The first is that Microsoft recently updated the Azure virtual machine specifications documentation to give us real max bandwidth figures for each size of the virtual machine. Previously, we had to decipher what “low”, “medium”, and “high” meant. Now we can see what is possible, if we enable the free Accelerated Networking feature if the virtual machine can support it.
Currently, one would have to be hiding under a rock to not know about the Meltdown and Spectre security vulnerabilities that are impacting Intel, AMD, and ARM processors. Microsoft was forced to start rebooting hosts, after deploying the Windows Server patch, a week earlier than planned. The Azure hosts are powered by Intel Xeon processors (all mention of AMD Opteron seems to be replaced by the phrase “throttled”), so they were subject to the problem … and the performance hits that might exist.
… worked to optimize the CPU and disk I/O path and are not seeing noticeable performance impact after the fix has been applied.
And went on to state:
A small set of customers may experience some networking performance impact. This can be addressed by turning on Azure Accelerated Networking.
The timing of the GA of Accelerated Networking couldn’t have been better! Why would Accelerated Networking help? When a virtual machine uses the default path of networking, packets have to flow across the following to travel between physical NIC and the virtual NIC:
There are more context switches when this default path is used. Therefore the impact of the Meltdown fix (as it stands today) is magnified. If we can reduce those context switches by enabling Accelerated Networking, then more processor time is made available to the services in the virtual machine.