Cloud Native Data Plane - Builders.intel

Transcription

White PaperCloud Networking applicationsCloud Applications, Security, and Wireless CommunicationsCloud NativeData PlaneData Plane development for 5G Mobility Edge made easy.AuthorsEdwin VerplankeSenior Principal EngineerSerge MaskalikVP EngineeringOverview . 1Highway9 Networks Virtual Mobility Edge . 2Migration Made Easy. 2Wireless applications. 3CNDP . 3Addressing challenges . 3Cloud integration. 3Performance. 3Cloud orchestration . 3Faster Time to Market . 4CNDP Toolkit . 4Network Stack . 4Language Bindings . 4Vector Packet Processor (VPP) . 4Enabling Data Plane CI/CD . 5OverviewIt is no secret that mainstream Data Center applications aremigrating to cloud. Similarly in the Security and WirelessCommunications industry, this trend is emerging as well. Securityapplications such as Firewall, DDoS prevention, WAF, etc., havea natural affinity since the business logic has already moved inthis direction and requires protection and portability. Over the lasttwo decades, all major security and networking appliancesbecome virtualized on-premise and in the public cloud, untetheredand agnostic from hardware they run on. Also, as telecom andenterprise customers adopted the hybrid cloud strategy, the needfor platform portability gained more momentum as customers mayhave a different cloud platform on-premise and in the public cloudwhile using the same networking functions.Fast forward to today, where we build the reality of edge cloudwith low latency applications of AR/VR, video data acquisition withlocal inferencing engines, robotics controllers in manufacturing,clinical communications and imaging for healthcare, etc. Cloudvendors transformed from regional clouds to near-edge cloudswith lots of sites near the enterprise locations. The making of thenext hybrid 5G cloud is the intersection of the following trends: Multi-cloud – in order to get near-edge proximity, it will take avillage (AWS Local Zones, Azure Edge, VMware on-premise,Google Edge, Vapor I/O, etc.) Cloud Native principle adoption by all network functionvendors 5G technology integration with Software-Defined Networkingdomains as 5G enters the hands of enterprise IT operation Cloud Native Data Plane (CNDP) can be used to create ormigrate Data Center applications to the cloud infrastructure.In Summary . 61

White Paper Cloud Native Data PlaneAn example of such a solution is the Highway9Networks Virtual Mobility Cloud, allowingcloud-consumption of 5G services for theEnterprise. The Virtual Mobility Cloud (VMC)workflows simplify and automate theprovisioning of private CBRS wirelessnetworks with templates for common usecases to minimize user input. The VMCdedicated instances are rapidly deployed foreach enterprise tenant to provide a securecloud-first enterprise deployment model. TheVirtual Mobility Edge provides the control anduser plane for private CBRS networks –flexibly deployed on-premise or on aproximate Edge or Public Cloud. Simple tooperate, the indoor and outdoor radios areactivated by the Highway9 Networks cloudservice and integrated into corporate AAAservices like Network Access Control (NAC),Active Directory and Mobile DeviceManagement.Figure 1: Highway9 5G Mobility Edgecommon deployment be achieved with tools like Helmacross all K8s cloud platforms? Is there a standardway to do logging, metrics, event handling and othertransparency requirements for telemetry? How canupgrades be managed in a Cloud Native fashion fordata plane applications while meeting the lowdowntime and resilience goals? Previously, deployingcloud native data plane solutions meant sacrificingportability and compatibility across platforms – butnow CNDP offers an elegant solution where thedeveloper can easily balance performance &compatibility. The multi-cloud abstraction viaAF XDP, the Kubernetes orchestration and theavailability of CNDP deployment operator with CNDPdevice plugin and the CNI largely solves the multicloud problem. The native integration into Kubernetestelemetry tool chain via Prometheus sidecar that isincluded.The Mobility Edge houses the 5G controller withfastpath user plane functions like 5G UPF andfeatures like MEC local breakout which applies to allNG RAN instances in a given site. This system alsomanages the subscriber authentication and policiesby integrating with IT systems of record such asActive Directory to map the hardware root of trust inSIM to enterprise users, Network Access Controlpolicies for ACLs and VXLAN/VLAN routing and enduser devices grouping from Mobile DeviceManagement systems. To satisfy the enterprise multicloud requirements, the Mobility Edge has to integratewith all common flavors of private and public cloud:VMware with VMXNET3, AWS with Nitro, baremetalfor embedded appliances and Google cloud (GCP) aswell.In order to build an open multi-cloud compatibleLike other high speed networking systems, Highway9solution without any technology “lock-in,” adoption ofNetworks leverages VPP to achieve low latency andCNDP using AF XDP is highly attractive. Previously,high speed for its 5G Mobility Edge instances.Highway9 Networks Mobility Edge solution had to beAdopting CNDP is made easy because it is a gradualcognizant of all SDN choices. It is further exacerbatedprocess without knife edge cutovers required. CNDPwith different ways to manage SRIOV access inincludes a VPP plugin that allows for existing VPPclouds. CNDP toolkit bring a level of portability andapps to begin to leverage CNDP benefits without ainteroperability required to provide multi-cloud highrewrite. A good strategy is to sediment functionalityspeed, low latency networking solutions.natively into CNDP as the business objectives aremet without a costly re-platforming exercise. Similarly,Cloud Native principles, furthermore, make thelots of functionality fromportability possible, but alsoDDPK is available. Onecome with its own set ofother aspect Highway9challenges for data placeNetworks found attractiveapplications. Can youThe next generation of enterpriseabout CNDP was themaintain combability withcampus SDNs are being built on multi- redefined relationship withall populate KubernetesLinux Networking.flavors, with variance ofcloud, 5G technologies and cloudPreviously, Linux networkingcontainer storage andnative design principles – CNDPwas effectively bypassednetworking (CNI/CSI)enables the ultimate portability andwith SRIOV/DPDK – but nowsubsystems? Can theit is embraced. This enablessecurity posture befeature velocity to bring this to market. additionalinstallation,maintained withoutorchestration and automationrequiring privilegedbenefits that were previouslycontainer access? How can2

White Paper Cloud Native Data Planelost. The visibility and accounting for networkingpseudo-devices and new capabilities in testing ispossible.In Figure 2: CNDP Overview, it shows the high-leveloverview of CNDP and where it sits in the system. ACNDP application sits in user space and interacts withthe kernel to send/receive packets via the AF XDPsockets interface. Using AF XDP sockets for packetI/O allows the application to run without having toknow or require specific hardware, which makes theapplication more portable. The application still hasaccess to other system interfaces, if needed.For Wireless types of applications, it is less obvious,however the 5G control plane has an affinity toward acloud native deployment since it has adopted HTTP/2for its application layer. However, the cloud migrationfor communications centric applications does comewithout challenges. For example, a communicationsapplication often maintains elements of (legacy)monolithic code that don’t lend itself to be refactoredin micro services. Code migrating from an appliancetype of solution where it is the expectation that theaccess to Layer 2 and/or Layer 3 network protocolaccess may be hampered since public cloud may notallow access. These are just a few examples, andclearly there are many more, such as the data planemigration element. The latter is reviewed in the nextsection.Whether the communications application addresses awireless or security requirement, there is one thingthey have in common: each needs to move largevolumes of packets or data frames betweeninterfaces, commonly referred to as the data plane.We can break down the data plane migrationchallenges into the following categories: Data Plane or User Plane functionality often thehigh-performance data movement requirementand are typically designed following a run tocompletion model and do not lend themselves tobe refactored in micro services. The Linux Networking infrastructure iscomprehensive but small packet movementperformance is typically not sufficient for networkinfrastructure applications. To guarantee the performance requirementsdedicated resource allocation is typically required.For example, huge page memory allocation, limitscheduling overhead by utilizing core pinning anddedicated network resource assignment isrequired. Because of the above two challenges, theorchestration complexity has increased. Anoperator would have to find the hardware specthat aligns with the requirements above tomaintain the performance requirements.Figure 2: CNDP OverviewThe Kubernetes integration via the device plugin andCNI helps the developer install the application withouthaving to know about most of the details in thesystem to run the application. Having theorchestration available and accessed by theKubernetes standard interface allows the developersto understand the application’s performance andconfiguration.The CNDP set of libraries provide a lightweightintegration of CNDP components into the applicationto enhance the performance and/or deployment. Thelibraries provide performance and features to give thedevelopers a solid foundation to build applicationswhile achieving the best performance. Some of theseperformance features utilize Intel architectureenhancements i.e., Intel AVX-512 instructions andperformance optimizations. Highway9 Networkslearned over time to get the best performance fromapplications running on Intel architecture. Becausethe best-known methods (BKMs) are put into CNDPlibraries, the developer can focus on the businessaspects of the application, which provide the featuresand solutions cloud applications require.CNDP is a collection of user space libraries foraccelerating packet processing for cloud applications.It aims to provide better performance than that ofstandard network socket interfaces using an I/O layerprimarily built on AF XDP, an interface that deliverspackets directly to user space, bypassing the kernelnetworking stack. CNDP provides a custom TCP/UDPstack, libraries for RIB, FIB, ACL, Hash, etc. It alsoprovides JSON parsing and libraries to exposemetrics and telemetry with examples to deployservices on Kubernetes.Orchestration of cloud applications is complex and iscritical to having a good application, as it needs tointegrate with the management systems to makedeployment easy and clean.CNDP provides new integration plugins and tools toallow systems like Kubernetes to deploy theapplication in the cloud. Making it easier for thedevelopers is one of the primary goals of CNDP.3

White Paper Cloud Native Data PlaneWith these tools and plugins, Kubernetes canconfigure the container or Pod to better deploy theapplication into the system for performance andfunctionality.bindings to integrate common languages used incloud native applications i.e., Go and Rust. Thelanguage bindings are a work in progress to allowmigrating the application using languages.In order to achieve fast time to market and maintainfeature velocity for Highway9 Mobility Edge, CNDPhas lots of features and primitives available, beneficialto the edge applications like UPF and enterpriserouting.The Vector Packet Processor (FD.io VPP)1 is a userspace network stack. Packets are passed through adirected graph, where each node in the graphprocesses multiple packets at a time. The graph isextensible using shared libraries, or "plugins," that areHaving a toolkit, shown inFigure 3: CNDP Libraries,gives an optimized RIB/FIBprimitives for fast forwardinglookups, precision timers,graph library, ACL supportand data-inflight encryptionengines. This allowsHighway9 Networks to focuson the application and not thescaffolding.Performance monitoring cloudnative applications are criticalto the success of these typesFigure 3: CNDP Librariesof applications. CNDPprovides and maintainsseveral performance metrics and allows exportingthese metrics to external applications i.e.,Prometheus and other cloud native monitoring tools.Metrics for the application is critical to understand ifthe application is performing well and what changescould be done to improve the performance. Addingmore metrics and performance statistics should beenabled within the application process, plus beingable to collect information about the systemperformance is required.Many applications require access to a network stack asthe application may have been using the kernel networkstack. When using AF XDP packets bypass thekernel network stack, which means some applicationsneed a user space stack to function properly. CNDPprovides a user space network stack called CNET(Cloud Networking) and currently provides anIPv4/UDP protocols. Work is in progress for TCP/IPv6as new features. The CNET stack is created usinggraph nodes and allows the developer to create newnodes to process packets as needed by theapplication (see Figure 4: CNET stack high levelview).The CNET stack contains a channel interface/API issimilar to standard sockets, but it uses a multi-packetdesign for better performance and zero copy ofpacket data unlike the standard socket interface.Figure 4: CNET stack high level viewthe VPP packet processing graph. VPP calls theCNDP input node to receive packets, which arepassed through the graph for processing like anyother packet.The CNDP libraries also provide a set of language1loaded when the VPP process starts. Any plugin canmodify the graph by introducing new nodes orrearranging existing nodes.The CNDP plugin uses the CNDP API to interact withAF XDP sockets. When requested, the CNDP pluginopens an AF XDP socket on each requested queueusing the CNDP API and inserts an input node intoFD.io VPP https://fd.io/gettingstarted/technology4

White Paper Cloud Native Data PlaneThe plugin uses a feature of CNDP calledTransparent Buffers that makes it possible to pass theVPP packet buffer addresses directly to the kernelthrough the AF XDP socket, avoiding any packetcopies between hardware and the CNDP plugin.As the Highway9 Networks Mobility Edge adoptedCNDP, further simplifications happened around thecontinuous development and testing becamepossible. The fully cloud-native deployment of thedata plane application allowed for standard pipelinesto be used which greatly simplify testing anddeployment.Figure 6: Test SetupIXIA* Traffic Parameters: IxNetwork* : 9.00 Test: RFC2544 quick test Acceptable Frame Loss: 0.1%, 0.01%,0.001%, 0.0001% UDP traffic Resolution: 0.1 Traffic Duration: 20 Seconds Flows per port for CNDP/Ip tables: 10KCNDP 22.01.0 2x25G ports (2C/2T) 1 Queue/CoreQueue/Interrupt Cores: CPU 6 (Socket 0, Core 6) polls port 0 CPU 7 (Socket 0, Core 7) polls port 1Application Cores: CPU 8 (Socket 0, Core 8) CPU 9 (Socket 0, Core 9)Iptables2x25G ports(2C/2T) CPU 6 (Socket 0, Core 6) polls port 0Figure 5: Test LayoutDUT (Platinum 8352Y) Processor: Intel Xeon Platinum 8352Y CPU@ 2.20GHz Platform: Intel Wilson City Memory: DDR4 3200 MT/s RDIMMs 8x16GBper socket (total 128 GB), 8 Channels/socket NIC: 2x Intel Ethernet Controller XXV710Boot Configuration: BOOT IMAGE /vmlinuz-5.11.0-49-genericroot /dev/mapper/ubuntu--vg-ubuntu--lv ro 5CPU 7 (Socket 0, Core 7) polls port 1

White Paper Cloud Native Data PlaneFigure 7: Relative PerformanceFigure 8: Packets per secondCNDP Consumers:Relative PerformanceThe Figure 7: Relative Performance shows thepackets per second performance compared to astandard Linux socket-based application and theperformance increase achieved by using CNDP.Using a 64-byte frame we show CNDP/AF XDP canprovide almost a 24x improvement in packetperformance compared to the forwarding packetsusing Linux iptables.CNDP in conjunction with customers like Highway9’s5G Mobility Edge are building Cloud Nativeapplications giving the developer and applications thefollowing: Cloud Network Function (CNF) and CloudApplication developers: Those who createapplications based on CNDP. CNDP hides thelow-level I/O, allowing the developer to focus ontheir application. CNF and Cloud Application consumers: Thosewho consume the applications developed by theCNF developer. CNDP showcases deploymentmodels for their applications using Kubernetes.CNDP follows a set of principles: 6Functionality: Provide a framework for cloud

White Paper Cloud Native Data Planenative developers that offers full control of theirapplication. Usability: Simplify cloud native applicationdevelopment to enable the developer to createapplications by providing APIs that abstract thecomplexities of the underlying system while stilltaking advantage of acceleration features whenavailable. Interoperability: The CNDP framework is builtprimarily on top of AF XDP. Other interfaces,such as memif, are also supported, howeverbuilding on AF XDP ensures it is possible tomove an application across environmentswherever AF XDP is supported. Portability/stability: CNDP provides ABI stabilityand a common API to access network interfaces. Performance: Take advantage of platformtechnologies to accelerate packet processing orfall-back to software when acceleration isunavailable. Observability: Provide observability into theperformance and operation of the application. Security: Security for deployment in a cloudenvironment is critical.Performance varies by use, configuration and other factors. Learn more at www.intel.com/PerformanceIndexPerformance results are based on texting as of dates shown in configurations and may not reflect all publicly available updates. See backup forconfiguration details. No product or component can be absolutely secure.Intel technologies may require enabled hardware, software or service activation.Your costs and results may vary. Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands maybe claimed as the property of others.0522/KW/351569-001EN Please Recycle7

volumes of packets or data frames between interfaces, commonly referred to as the data plane. We can break down the data plane migration challenges into the following categories: Data Plane or User Plane functionality often the high-performance data movement requirement and are typically designed following a run to