Internship Projects/Mentors: Anuket ViNePerf/ Al Morton Sridhar Rao Federica Paganelli
DRAFT
Description
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.
Additional Information
Related Works:
Title | Paper | Comments |
---|---|---|
ViNePerf Globecom 2021 Paper | <need link> | 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 |
Learning Objectives
- 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.
Expected Outcome
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
Anuket ViNePerf
Education Level
Graduate program preferred, but a high-performing person near the end of their Undergraduate work may be suitable.
Skills
Linux and Linux Kernel. Some experience with data plane performance testing is desirable. Languages: Python 3, others.
Future plans
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
Click here to apply
Please read all instructions before applying. Include Resume, proof of school enrollment, and participation permission from school/employer
Al Morton - acm@research.att.com
Sridhar Rao - srao@linuxfoundation.org
FEDERICA PAGANELLI - federica.paganelli@unipi.it