NFV projects: extreme challenges for the guest OS
Network Function Virtualization (NFV) is the process of replacing dedicated network devices with virtual machines. Enterprise network managers and network operators are adopting NFV for several compelling reasons.
Reduce time to deploy and operator agility
Reduce capex by eliminating dedicated hardware
Reduce opex by reducing power requirements
However, NFV creates difficult latency and throughput requirements for the guest OS, and developers and integrators of NFV products will need a new generation of OS and infrastructure software to meet the demands of tomorrow’s network.
OSV has a unique set of features which makes it ideal for NFV products.
- Van Jacobson style network stack
- Minimal administration, without local config files
- Spinlock-free design
Performance demands of NFV
The OS platform for NFV products in development today needs to deliver on three critical metrics:
6 nines (99.9999%) reliability
< 20μs latency
1 Tb/s throughput
The mainstream network requirements of 2015, when NFV is expected to reach mainstream deployment, will require removing additional latency and complexity from the guest OS layer. OSv has the performance and simplicity that NFV needs.
NFV-optimized design: Network Channels
The network stacks in other operating systems were designed for hardware of the 1970s and 1980s, which was much different: lacking SMP and with a relatively small penalty for a cache miss. On today’s hardware, real or virtual, the number of processor cores is ever-increasing, and the difference between reading network data from cache or from main memory can be two orders of magnitude.
New hardware designs require a new OS design. In the Network Channels concept pioneered by Van Jacobson, most of TCP/IP is moved into an application thread, with only a tiny packet classifier running in an interrupt-handling thread. Doing all of the “kernel space” and “user space” processing in the same context of execution, on the same processor, keeps the network data fresh in cache to avoid the latency penalty of older OS designs.
NFV-optimized design: low administration
OSv has no local configuration files. All configuration can be carried out over a simple REST API, and many parameters that require tuning in other environments are tuned automatically. With the need for six nines reliability, administration problem at the guest OS level must be simple and reliable. And the boot process typically takes less than one second.
NFV-optimized design: spinlock-free
Typical server operating systems often have unacceptable latencies for network infrastructure applications, and the presence of virtualization can dramatically increase the worst-case latency.
The synchronization primitives on conventional server OSs can result in a Lock Holder Preemption problem, in which processors “spin” and waste cycles while contending for scarce resources. Designed as a guest OS from the ground up, OSv is the only OS to use unique lock-free mutexes to completely eliminate wasteful spinlocks.
Modern hardware and hypervisors can help move network functionality to the cloud, but the guest OS needs to do its share. Make your NFV project a success by choosing the OS platform built for today’s cloud platforms and workloads.