Internship Projects/Mentors: Anuket ViNePerf/ Al Morton Sridhar Rao Federica Paganelli
Today, most virtualized functions rely on the Data Plane Development Kit (DPDK) in user space to achieve high data plane packet processing and bypass kernel processing. The XDP ( eXpress Data Path) is an eBPF based high performance data path merged in the Linux kernel since version 4.8. The idea behind XDP is to add an early hook in the receive path of the kernel, and let a user supplied eBPF program decide the fate of the packet.
The central activity in this project is to compare DPDK and XDP data plane performance, using standard benchmarking methods which are the main focus of the ViNePerf Project. Additional development will be required to configure and automate the testing for XDP. Many benchmarking tools used today are DPDK-based, so we seek alternatives for a complete XDP-based test architecture.
Some key questions to answer are:
- Can this be an alternative to DPDK based solutions?
- What are the parameters that affect the performance - Golden Configuration
- What are the right test methodologies?
- What are the right test-tools - Traffic Generators with test traffic measurements, Packet Forwarders, etc.
|ViNePerf Globecom 2021 Paper
|Fundamental background for this work
|Building Hybrid Virtual Network Functions with
eXpress Data Path
|Performance Evaluation of eXpress
Data Path for Container-Based
Network Functions - Thesis
|An In-Kernel Solution Based on XDP for 5G UPF:
Design, Prototype and Performance Evaluation
|Demystifying the Performance of XDP BPF
|A Framework for eBPF-Based Network Functions
in an Era of Microservices
- Introduction to open source development culture and collaboration tools
- Knowledge of DPDK and XDP
- Knowledge of Cloud-Native Virtualization
- Experience with Industry data plane benchmarking practices and standards
- Development experience with the ViNePerf utility (currently DPDK-dependent)
- Implementation of an XDP test/path configuration with traffic generator, packet forwarder, and traffic receiver
- Interaction with Industry-leading experts in this topic (benchmarking), at weekly meetings of the ViNePerf Project and other areas.
Based on the duration of the Internship, the seven objectives above will be allocated to a time-line (with some slack for delays, outages, etc.)
Relation to LF Networking
Graduate program preferred, but a high-performing person near the end of their Undergraduate work may be suitable.
Linux and Linux Kernel. Some experience with data plane performance testing is desirable. Languages: Python 3, others.
This will likely be an area of continued research and development in the ViNePerf project, as we seek to maximize applicability to new technologies for Cloud Networking.
Preferred Hours and Length of Internship
Part-time, 20 hours a week for 24 weeks. If the selected Intern prefers, this can be a full-time arrangement with 40 hours per week (3 months).
Mentor(s) Names and Contact Info
Please read all instructions before applying. Include Resume, proof of school enrollment, and participation permission from school/employer
FEDERICA PAGANELLI - email@example.com