Challenges for Designing Telecoms/ Networking Applications on Top of Multi-Core Environments

By Eric Carmes

Until now, running a processor at a higher frequency was the only solution to increase processing capabilities. Unfortunately, this approach has recently reached micro-electronics limits. Multi-Core (MC) processor technology was introduced a few years ago and is bringing a smart solution to run several processors in parallel while keeping power consumption under acceptable limits.

MC technology is a great technology to address many applications. As performance requirements keep growing (demanding applications, growing number of subscribers, higher bandwidth, secured communications, etc.) the telecommunications and networking markets are MC early adopters. They can clearly benefit from significant improvements brought by MC technology to design efficient software architecture for telecommunications, network and security equipment:

  • MC architecture allows a flexible distribution of cores between Data Plane and Control Plane and the coexistence of different execution environments (one for Fast Path, one for Slow Path and Control Plane for instance) on a single chip. A typical use of MC technology for telecommunications equipment, for instance on a 16-core processor, is to use several cores to implement an efficient Fast Path under a Multi-Core Execution Environment (MCEE), while the remaining number of cores are dedicated to the OS environment (Linux for instance) implementing Slow Path (IP stack) and the Control Plane. The different functions are co-localized in a single MC chip, but distributed over the different cores.
  • MCEE provides APIs to implement lock free packet processing and optimize memory bandwidth contention leading to unrivalled performance compared to a standard OS. Although services provided by such a dedicated environment are limited, the programming model is simpler compared to previous generation of Network Processors based on micro-coded architectures. It is therefore easier to provide complete features at the Data Plane level.
  • Built-in hardware features (crypto engines, packet matching engines, and hardware queue for QoS management) can be used for an efficient implementation of time-consuming functions such as encryption or deep packet inspection.
  • Standard Operating Systems have also been ported on MC technology. Slow Path and Control Plane that implement more complex mechanisms can run under a standard Operating System. However, it requires an efficient multiprocessor implementation of the networking stacks to be able to use it efficiently across several cores at the same time.
  • MC architecture is by essence scalable and can also be used to interconnect different MCs to have, for instance, a distributed Fast Path over several MCs, or to deliver High Availability features.
  • Developing networking software for MC can be perceived as complex because standard software cannot fully benefit from MC improvements and require some long and costly re-design phases for each protocol. In particular, one of the key issues to be solved is the integration of Control Plane, Slow Path and Fast Path to benefit from the level of performance of the MC technology.

Efficient networking software for MC platforms has to be designed with several key concepts in mind:

  • Networking software should be specifically designed for MC including, an efficient Fast Path architecture to make the best use of MC performance according to the number of cores, a flexible distribution of Control Plane / Slow Path / Fast Path over the cores, and a complete synchronization between these three elements.
  • High-level APIs to interface HW features such as cryptoengines or hardware queues for QoS should be available while generic features should be fully portable to provide hardware independence.
  • MC specific software running under MCEE should be fully integrated with the Control Plane OS to provide a transparent solution for applications and to maximize reuse of existing software. Such integration hides MC complexities for applications.
  • Networking software should integrate a complete and comprehensive set of L2/L3 networking features, each one optimized between Fast Path and Slow Path.
  • Networking software should be open for extension to ease the integration of differentiating and value added features.

Meeting these key concepts will significantly reduce time-tomarket for equipment providers to deploy innovative services for fixed and wireless networks and will help to meet cost and design challenges for designing telecoms / networking applications on top of multi-core environments.

Eric Carmes is Founder and CEO of 6WIND. Eric holds a Master of Science degree from both INSA (French University for Applied Sciences) and ESE (French Electrical Engineering University). Contact Eric at eric.carmes@6wind.com.