User-Space Network I/O : Taking Data Path on Hyper-drive
Next generation networks are characterized by a much higher native flexibility and programmability for all non-radio network segments including SDN, NFV and IoT Networks. MontaVista continues to participate in the way networks are created and behave by providing necessary software, tools and support to help reduce Capex and improve Opex. This is being achieved by transitioning from Physical Network Function (PNF) (i.e. on a single purpose hardware & software platform) to a Virtual Network Function (VNF) that is deployable on a wide variety of general purpose hardware and software combination. The promises of cost reductions from virtualizing a network can only be realized if packet throughput and I/O response times can be achieved and predicted. Linear scalability in performance by the CPU core in a virtualization server environment can be unpredictable. This is because generic Operating systems are not optimized for networking in a virtual environment. However, it is possible to deliver hardware line rates in a virtualized environment through the use of certain architectures and development kits like the Data Plane Development Kit (DPDK) and Open Data Plane (ODP). MontaVista is able to provide the optimized architecture used to run a high performance, optimized product. There is an increasing trend to use such userspace access to the network I/O in host and guest, as a popular way to work-around the native performance challenges of the OS networking stack.
This solution brief gives an overview of the packet processing architecture in Linux and available optimization techniques. It includes some use cases to measure the performance of the optimized solution that better meets such I/O performance special needs.