For decades, the only way to speed up packet processing - central to all security and networking functions - was to add faster and faster hardware. When Moore’s law couldn’t address that need sufficiently on commodity silicon, the industry resorted to expensive, painfully slow time-to-market, inflexible, specialty silicon. But there is a new game in town: Vector Packet Processing (VPP).
Yahoo! JAPAN addresses infrastructure scalability challenges through the adoption of commodity x86 servers combined with the Linux Foundation Networking Fast Data Project (FD.io).
This solution brief outlines key design choices and required functionality in the move from a traditional Enterprise load balancing implementation to an open software-based, Cloud-native scalable, load balancing implementation running on commodity x86 servers.
The purpose of this technical paper is to show how the advancements in both, server processor technology and data plane software, achieve new levels of deterministic performance. It builds upon data plane benchmarking, analysis techniques and tools described in Benchmarking and Analysis of Software Data Planes and applying them to the same set of software applications (DPDK, FD.io VPP, OVS_DPDK).
This technical paper introduces the main concepts underpinning a systematic methodology for benchmarking and analysis of compute-native network SW data plane performance running on modern compute server HW. It applies first principles of computer science to performance measurements, describing involved aspects of SW-HW integration and focusing on the optimal usage of compute HW resources critical to the data plane performance.
What is VPP? Is it a software router? A virtual switch? A virtual network function? Or, something else? In fact it is all of the above and a whole lot more. It is a modularized and extensible software framework for building bespoke network data plane applications. And equally importantly, VPP code is written for modern CPU compute platforms (x86_64, ARMv8, PowerPC, to name a few), with a great deal of care and focus given to optimizing the software- hardware interface for real-time, network I/O operations and packet processing.