Sunday, April 10, 2022

Reduce latency on Azure with Accelerated Networking

With Azure's accelerated networking feature, you can greatly reduce latency and improve the performance of virtual machines.


In this blog, I'll briefly describe what accelerated networking is and how it improves performance based on testing I've conducted.

What is accelerated networking?


If you are not familiar with accelerated networking, there is a good overview, here. "Enabling accelerated networking enables single root I/O virtualization (SR-IOV). SR-IOV enables network traffic to bypass the software switch layer of the Hyper-V virtualization stack." I see this as off-loading, "By moving much of Azure's software-defined networking stack off the CPUs and into FPGA-based SmartNICs, compute cycles are reclaimed by end user applications, putting less load on the VM, decreasing jitter and inconsistency in latency."

A picture tells 1000 words.

Accelerated networking
(Source: Microsoft.com)


Testing methodology

  1. Deploy two Linux virtual machines (used Bicep for repeatability)
  2. Install sockperf (used cloud-init to automate install)
  3. Test latency with sockperf before enabling accelerated networking
  4. Test latency with sockperf after enabling accelerated networking (by redeploying bicep with accelerated networking enabled)

Test 1 - Latency between availability zones


Test 1 - Results



Test 1 - Summary


Azure networking is blazing fast. We have microsecond latency even between availability zones. However, as we can see from the test results, enabling accelerated networking on the virtual machine nics improved performance by 35%. 

Reduce latency on Azure with Accelerated Networking

With Azure's accelerated networking feature, you can greatly reduce latency and improve the performance of virtual machines. In this blo...