XDP performance studies for cloud-native NFV Usecases

Internship Projects/Mentors: Anuket ViNePerf/ @Al Morton @Sridhar Rao  Federica Paganelli

DRAFT Apr 26, 2022 



Title

XDP performance studies for cloud-native NFV Usecases

Status

Selection Complete

Difficulty

Medium




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:

  1. Can this be an alternative to DPDK based solutions?

  2. What are the parameters that affect the performance - Golden Configuration

  3. What are the right test methodologies?

  4. What are the right test-tools - Traffic Generators with test traffic measurements, Packet Forwarders, etc.

Additional Information

Related Works:

Title            

Paper        

Comments

Title            

Paper        

Comments

ViNePerf Globecom 2021 Paper

<need link>

Fundamental background for this work

Building Hybrid Virtual Network Functions with
eXpress Data Path

paper



Performance Evaluation of eXpress
Data Path for Container-Based
Network Functions - Thesis

 PDF



An In-Kernel Solution Based on XDP for 5G UPF:
Design, Prototype and Performance Evaluation

 PDF



Demystifying the Performance of XDP BPF

 PDF



A Framework for eBPF-Based Network Functions
in an Era of Microservices

 PDF





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