By Dr. Ron Marquardt, Vice President of Technology, Sprint
Here at Sprint we’ve been looking at ways to make our traditional mobility architectures and software designs more streamlined, efficient, and scalable as we move to a virtualized environment. After four years of research and development with Intel Labs, we’re excited to unveil today our open source effort we call the Clean CUPS Core for Packet Optimization (C3PO).
C3PO is an open source NFV- and SDN-based mobile core reference solution designed to significantly improve performance of the network core by providing a streamlined, high-performance data plane for the packet core, tightly coupled to an efficient, scalable SDN controller implementing IETF Forwarding Policy Configuration (FPC).
C3PO uses standard off-the-shelf server hardware and optimizes mobile core architecture by collapsing multiple components into as few compute cores as possible. In lab tests conducted on Dell EMC DSS 9000 rack scale infrastructure with compute sleds running dual socket 14 core Intel® Xeon® processors E5-2680 v4 with hyperthreading disabled, Sprint has achieved a benchmarked forwarding rate of 1.63 Mpps (million packets per second). The C3PO configuration demonstrated high efficiency with a single packet processing Intel® Xeon® processor core, performing a total of seven virtualized packet functions necessary for all network traffic for 500,000 subscribers using a typical Sprint traffic model. In addition to the packet processing core, six other Intel Xeon cores are used (Rx core, Tx core, Load balancing core, Interface core, Master core, and Control Plane core). A C3PO configuration with one packet processing core achieved 2.2 Mpps for 50,000 subscribers with a similar traffic model. ng4T RAN emulators and MME were used as the test harness for benchmarking.
C3PO EPC performance SRR scales linearly with additional cores added for packet processing, while the number of overhead cores remain constant at six. Single packet processing core benchmarks of C3PO are upwards of two times more efficient than comparable virtualized implementations performing only packet forwarding. C3PO is upwards of four times more efficient when compared with similar implementations that perform packet forwarding as well as all seven of C3PO’s additional packet processing functions.
Finding a More Efficient, Scalable Solution
Over the past few years while preparing to move from proprietary hardware to virtualized solutions, it became increasingly important for us to understand how to best optimize our network applications for provisioning on an Intel processor-based server. When our work with Intel Labs developing C3PO first began, CUPS was just a nascent concept, and the industry work being done on NFV was still theoretical. For simplicity, the latter was often depicted as individual software elements conceptually interconnected in a manner that would require significant compute overhead. NFV and SDN were both defined in their own contexts, with little attempt yet to marry these concepts in a performance-optimized manner. It was the early days of the industry’s march to virtual implementations.
We set out to find a more efficient solution. As a result, we identified seven network functions applicable to essentially all user traffic - serving gateway, packet gateway, deep packet inspection, child protection filtering, carrier-grade NAT, static firewall, and service function chaining classification (ISC). Instead of connecting these as separate functions, we developed C3PO as a way to collapse the functionality together into one implementation for the network core. A schematic of the C3PO architecture is shown in the following diagram:
Sprint’s role with C3PO was to write the SDN piece, which we have now contributed to OpenDaylight. That software enables a more efficient control plane implementation by governing it externally through software APIs via Open Flow and IETF FPC. Meanwhile, Intel Labs developed the Evolved Packet Core (EPC) control and user plane, and optimized them for basic packet forwarding and the seven network functions. Intel Labs has contributed their code to the CORD project under the auspices of the Linux Foundation and ON.Lab.
The Power of the Open Source Community
Open source is not a new idea – it’s been a powerful influence in the IT domain since Linux was first released more than 25 years ago. But its adoption has accelerated, especially in the telecom industry, in only the past decade or so. Today the services of the biggest technology and media companies in the world are largely based on open source software. Why? Because open source is a model that works.
Open source development allows for very rapid innovation, with a vibrant community providing a high volume of contributions at a relentless pace. The open source model streamlines processes and removes confusion on specifications and their interpretation because the actual implementation is what matters, not the verbiage of a written document.
As for next steps at Sprint, we’re now working to harden the C3PO code and extend it to a variety of use cases, including IoT. As operators scale IoT, low-cost solutions will be vital to drive viable economics when connected devices grow to 10’s and 100’s of billions in number. We believe a commercial version of C3PO to be a potential solution well-targeted for low-cost, large-scale applications such as this. Furthermore, development of this implementation, utilizing the best ideas from IETF and 3GPP, will not only lead to real-world deployments, but provide concrete results to better inform specifications for the 5G User Plane Function (UPF) as well. The lines between open source prototypes and normative standards are blurring, and Sprint will continue to contribute to these advancements in our industry.