In November 2012, the ETSI ISF for NFV (Network Function Virtualization) was created by a handful of the world's leading service providers. There are now over 220 participating companies. When surveyed, nearly all carriers worldwide are expecting to begin VNF (virtualizing network functions) within the next few years. Telefónica has declared that they expect to virtualize 30% of their network functions by 2016. While straightforward in theory, the move from network appliances to running network functions in VMs (virtual machines) on x86-based servers is far from trivial.
One of the requirements of running a function virtually is having “predictable performance.” This is kind of like going car shopping and requiring any vehicle tested to go 0-to-60 in less than 5 s, get at least 35 miles to the gallon, have sports car handling, and stop on a dime — while not restricting how many people are in the car.
Over the past two years, four key areas have arisen that create bottlenecks in performance for a virtualized function. By identifying them, tuning them, and tweaking them it's possible to get predictable performance in highly controlled environments.
1. Servers and NIC(s)
Not all COTS (commercial off-the-shelf) servers are created equal. The most fundamental aspects of the server is the CPU (brand, generation, number of cores) and system memory. An Intel E5 v2 has more than four times the packet processing performance of the older Xeon 5600. The NICs (network interface cards) are also critical in terms of performance when choosing 10GbE versus 40GbE NICs and ensuring the proper driver is used which is optimized for the OS and server. For example, a NIC without support for DPDK (data plane development kit) could have significantly worse performance.
To read more of this external content, go to “Hypervisor and the vswitch.”