
Building High-Performance Network Applications with Fastlane Framework
"Explore the Fastlane framework for developing fast path network applications with high performance and efficiency. Learn about the challenges, solutions, and requirements for achieving optimal network function development. Discover how DPDK and CNDP compare in terms of throughput and CPU utilization. Simplify the process of application development and porting while focusing on performance. Fastlane: A revolutionary approach to building fast path network applications."
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Fastlane: A framework for building fast path network applications Debojeet Das, Lakshya, Mythili Vutukuru Systems and Networking Research Group (SynerG) Department of CSE, IIT Bombay 10th IEEE NFV-SDN '24 Natal, Brazil, Nov 2024
High performance Network IO and the OS Kernel network stack is too slow for high-performance Network Functions (NFs) NF in container User space NF in host Packet copying Socket Socket Context switching Kernel space Container N/W stack Kernel data structure allocation Processing overheads increase with containers Host N/W stack Driver NFs easier to develop with the socket interface NIC Fastlane: A framework for building fast path network applications 3/19/2025 2
High performance network IO frameworks Data Path Development Kit (DPDK) Kernel Bypass using user-space polling Cloud Native Data Plane (CNDP) Kernel Bypass using eBPF XDP hook NF in NF in host/container host/container Zero Copy Zero Copy User space User space DPDK Library CNDP Library Reduced context switches Traditional N/W stack can use NIC Socket Kernel space Kernel space XDP N/W stack has no control over NIC Application rewrite is required Driver Application rewrite is required NIC NIC Fastlane: A framework for building fast path network applications 3/19/2025 3
DPDK vs. CNDP DPDK outperforms CNDP in terms of throughput CNDP s CPU utilization is proportional to load For Performance DPDK For Efficiency CNDP Fastlane: A framework for building fast path network applications 3/19/2025 4
Requirements for high-performance NF development/porting Current solutions for NF development are silos that address one challenge only Ease of development or Performance or Efficiency For porting legacy applications to high performance packet I/O framework: - Learn and understand new framework - Re-engineer the application for the new framework. Goal: Reduce developer effort for development/porting while achieving high performance Application in Fast Path Application In Slow Path - Handles low speed traffic - Network stack based - Can be legacy application - For high-speed traffic Fastlane: A framework for building fast path network applications 3/19/2025 5
Fastlane design Fast Path Fast path packet processor Application In Slow Path Fastlane Datapath Packet I/O Framework (DPDK, CNDP) - Packet I/O Framework can be switched between CNDP / DPDK - No code changes required in fast path or slow path Fastlane: A framework for building fast path network applications 3/19/2025 6
Fastlane system overview Fast Path Fast path application logic Fast path packet processor Application In Slow Path { "API": "dpdk", "MODEL": "run-to-completion", "cloud-deployment": true, "fastpath-port-configuration": { "fastpath-filtering": true, "fastpath-ports": [ 2152,] }, } . . . Fastlane Datapath Packet I/O Framework (DPDK, CNDP) Configuration JSON JSON file contains: A user needs to provide: - Fast path application logic - Application to run in slow path - Configuration JSON file - Framework to be used - Baremetal or Cloud deployment - Fast path filter rules many more.. Fastlane: A framework for building fast path network applications 3/19/2025 7
Fastlane packet processing flow Fast Path Fast path packet processor Application In Slow Path 5. Packet from application 2. Run fast path 3. Verdict 2. Inject packet 4. Inject packet Fastlane Datapath 4. Transmit the packet 1. Packet arrival Packet I/O Framework (DPDK, CNDP) How to handle packets that are sent from the slow path? Verdicts: - NIC ports: To transmit the packet out through the NIC - Drop: To drop the packet ASAP - Kernel: To inject the packet to the slow path Fastlane: A framework for building fast path network applications 3/19/2025 8
Fastlane packet processing model Fast Path Fast path packet processor Application In Slow Path 5. Packet from application 2. Run fast path 3. Verdict 6. Verdict Handler 2. Inject packet 4. Inject packet Fastlane Datapath 4. Transmit the packet 1. Packet arrival Packet I/O Framework (DPDK, CNDP) Verdicts: - NIC ports: To transmit the packet out through the NIC. - Drop: To drop the packet ASAP. - Kernel: To inject the packet to the slow path. Fastlane: A framework for building fast path network applications 3/19/2025 9
Fastlane implementation highlights Fast Path Shared Memory Fast path packet processor Application In Slow Path TAP TAP Processor Packet I/O Framework (DPDK, CNDP) Packet injection to the kernel is done using TAP device TAP processor handles the packet sent from application Shared Memory - for fast path-slow path interactions Fastlane: A framework for building fast path network applications 3/19/2025 10
Real world example 5G UPF JSON over HTTP/TCP PFCP over UDP Control Plane Network Functions GTP over UDP . . . . . . NRF SMF UPF User Device Base Station Radio Access Network 5G Core Network Data Network Fastlane: A framework for building fast path network applications 3/19/2025 11
Real world example Fastlane 5G UPF JSON over HTTP/TCP UPF running over kernel network stack (slow path) PFCP over UDP Control Plane Network Functions GTP over UDP Fastlane UPF (fast path) . . . . . . NRF SMF Fastlane interactions UPF UPF User Device Base Station Radio Access Network 5G Core Network Data Network Fastlane: A framework for building fast path network applications 3/19/2025 12
UPF System setup details RAN DNN 5G control plane UPF NIC NIC NIC NIC Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz, 128 GB RAM Intel XL710 NICs (40 Gbps) Ubuntu 22.04 (Linux kernel 5.15.0-25-generic) 10K user sessions 20K PDRs, 20K FARs Fastlane: A framework for building fast path network applications 3/19/2025 13
Fastlane evaluation Is Fastlane s separation of fast path and slow path processing effective? UPF over N/W stack << 1Mpps UPF over N/W stack <<< Fastlane-DPDK UPF over N/W stack << Fastlane-CNDP Fastlane: A framework for building fast path network applications 3/19/2025 14
Fastlane evaluation Is Fastlane s separation of fast path and slow path processing effective? Does Fastlane simplify the development efforts of fast path network applications? Traditional UPF Total LOC 4954 Fastlane UPF* New LOC 311 Modified LOC 472 *Fastlane UPF reuses the GTP application logic of Traditional UPF Fastlane: A framework for building fast path network applications 3/19/2025 15
Fastlane evaluation Is Fastlane s separation of fast path and slow path processing effective? Does Fastlane simplify the development efforts of fast path network applications? Can applications built using Fastlane deliver performance comparable to those developed natively with CNDP or DPDK? Fastlane: A framework for building fast path network applications 3/19/2025 16
Fastlane evaluation Is Fastlane s separation of fast path and slow path processing effective? Does Fastlane simplify the development efforts of fast path network applications? Can applications built using Fastlane deliver performance comparable to those developed natively with CNDP or DPDK? Are applications built with Fastlane scalable across multiple cores? Fastlane: A framework for building fast path network applications 3/19/2025 17
Summary Fastlane, a framework that ports the fast path of network applications to high-speed packet I/O frameworks, while keeping the slow path on the traditional network stack Fastlane: - provides easy porting using split fast-path,slow-path design - no application re-writes due to its Packet I/O agnostic API - works in both baremetal and cloud Looking ahead: - auto-scaling in cloud - runtime switching between DPDK and CNDP Fastlane: A framework for building fast path network applications 3/19/2025 18
Fastlane: A framework for building fast path network applications Thank You! Questions? Debojeet Das debojeetdas@cse.iitb.ac.in