Using Network Function Virtualization to Achieve High Speed Communication

23 Mar Using Network Function Virtualization to Achieve High Speed Communication

Software implementations run in virtual machines can help the virtualization of network appliances. By doing this, you can replace proprietary hardware with some more cost-efficient data center solutions.

This way, IT costs can be decreased in a substantial manner. In addition, virtualizing more functions allows you to deploy more services and to integrate them quicker in your IT infrastructure. But, can you achieve efficient virtualization on both the virtual machine hosts and its guests? There are many solutions to this question, and recently user space access to network input/output in host and guest was used to speed up communication.

A virtualized network provides high response time, fast service setup, and quick data communication. For this, it requires fast network I/O communication. On the other hand, the data center needs proprietary hardware with cost-efficient data center solutions. We recently analyzed several solutions which allow high speed network I/O in user space host and guest applications, in a virtual machine, in our white paper “High Speed User-Space Network I/O Solutions for Network Function Virtualization”.

The test was performed using an Intel Xeon HW platform with Intel 82599 Ethernet Network Interface Cards (NIC), running on the operation system Enea Linux version 3.1.

We tested the following solutions;

  • Netmap – enables user space applications to fast access to network packets and can be categorized as a kernel-bypass solution.
  • Open vSwitch – multi-layer software switch under the open source Apache 2 license,
  • AF_PACKET- socket family implemented in the Linux kernel,
  • PF_RING – high speed packet I/O that uses a kernel-bypass solution for data packets,
  • DPDK – Linux framework created for high speed network applications development.

We used Layer2 Forwarding applications pinned to a single physical CPU in the VM. For testing we used a Spirent Test Center. The device under test (DUT) was an Emerson ATCA 7370 board with dual 1800 MHz Intel Xeon E5-2648 processors and with a RTM-ATCA-736X-10G NIC (Intel 82599 Ethernet controllers) running an Enea Linux with kernel version 3.10 on host and as guest.

The test consisted in generating traffic between 2 interfaces and we achieved the following results:

Out of the applications that run the information through the kernel, AF_Packet and OVS, the latter has a better performance because it does not copy the information in the kernel, too. However, Netmap skips the kernel code and has better results that both of them. Furthermore, DTPK is better even than Netmap because it executes less operations in the kernel space – this is the best result, surpassing PF_Ring too because spends 99% of the time forwarding the information.

Therefore, we can draw the conclusion that the best performance belongs to the solutions which directly access the user-space on the network I/O data than those which run the information through the kernel.

About the Author

Carmen Driscu is the Corporate Communications Manager at ENEA

Photo by Chris Potter

Craig Eversole
Craig Eversole
[email protected]
No Comments

Sorry, the comment form is closed at this time.