In their recent announcement of the next-generation QorIQ communications processor, (see Freescale gives an advanced look at 28nm, 64-bit multicore QorIQ design), Freescale demonstrated the complexities of SoC hardware that are required in order to keep up with the worldwide explosion in IP (internet protocol) network data traffic. But what of the software required? How do you program such a complex multicore communication processor, with numerous specialized hadrware accelerators, to efficiently and securely manage data traffic?
This was the issue that packet-processing software provider 6Wind addressed at the recent Linley Tech Carrier Conference in San Jose, in a presentation titled "Portable Networking Software
Platforms for 4G Infrastructure". Eric Carmès, CEO of Paris-based 6Wind, said that in a typical networked application, 90+% of the workload is consumed by sophisticated data-plane packet processing and forwarding, with the remaining 10% allocated to control plane signaling. Freescale, a 6Wind customer, targets this problem in the QorIQ hardware by including specialized accelerators for packet processing functions such as pattern matching, security algorithms, and data path acceleration.
Carmès said that OS (operating system) overhead can limit the performance of data packet processing tasks, and engineers must also address the problem with a software architecture that is optimized to perform packet inspection, processing and forwarding, and that is transparent to control plane applications.
|6Wind's "Fast Path" software is a replacement for standard operating system networking stacks|
(source - Eric Carmes, Linley Tech Carrier Conference, June-8 2011)
The "Fast Path" architecture, which 6Wind developed in their 6WINDGate™ software, has been designed by the company to be a drop-in replacement for standard OS networking stacks. With 6WindGate, you can run your standard embedded Linux on one or more cores with the control plane and networking stack, and dedicate the remaining cores to fast path in order to maximize performance.
The company says that 6WindGate typically provides up to 10x the packet processing performance of a standard networking stack. Fast path processes the majority of incoming packets outside the OS environment to avoid the overhead problem. Only a small number of packets that require complex processing are forwarded to the OS networking stack, in order to perform the necessary management, signaling and control functions.
6Wind says their fast path implementation is portable to a variety of multicore architectures (including devices from Cavium, Freescale, Intel, NetLogic, and Tilera), while also taking advantage of specific hardware accelerators. The company provides a synchronization module in 6WindGate, which is intended to make the fast path software transparent to a Linux networking stack and the control plane. The fast path data plane software modules consist of processor-independent source code, and cycle-level and pipeline-level optimizations.
The 6Wind fast path networking SDK (software developer kit) provides a set of processor-specific modules that 6Wind bases on the processor SDK, providing a zero-overhead API (application programming interface) for fast path module implementation.