DPDK

DPDK Userspace, Dublin
2015-10-08 - 2015-10-09 | Clayton Hotel, Merrion Road, Ballsbridge, Dublin, Ireland
DPDK Userspace 2015 Dublin, Ireland – October 8 – 9, 2015
Userspace 2015 was a developer forum which focused on the elements of DPDK which are most pertinent to the open source software community members. The two-day event at the Ballsbridge Hotel in Dublin included highly interactive discussions on the latest features and upcoming changes to DPDK.

Project Growth and Next Steps
Thomas Monjalon (Packet Processing Engineer and DPDK.org Maintainer, 6WIND)
Thomas presented on the current role of being a maintainer of DPDK in the community, the rapid speed of growth in the project and the future of the dpdk.org community.
Video | Slide

DPDK Packet Framework
Cristian Dumitrescu (Software Architect, Intel)
Cristian presented the latest evolution of the DPDK Packet Framework, how it can be used and future proposals for the extension of the functionality of Packet Framework.
Video | Slide

OVS, DPDK and Software Dataplane Acceleration
Thomas Herbert (Principal Software Engineer, Red Hat), Mark Gray (Software Engineer, Intel), Kevin Traynor (Software Engineer, Intel)
Virtual Switching with DPDK was discussed by trio Thomas, Mark and Kevin from two different viewpoints in this presentation on the current challenges and opportunities of integrating DPDK with Open vSwitch technologies.
Video | Slide

The 7 Deadly Sins of Packet Processing
Venky Venkatesan (DPDK Architect, Intel), Bruce Richardson (Software Engineering, Technical Lead, Intel)
Venky and Bruce paired up for this presentation on the pitfalls often faced in Packet Processing and the optimum use of DPDK.
Video | Slide

Generic Resource Manager
Andras Kovacs (Lead Software Developer, Ericsson), László Vadkerti (Lead Software Developer, Ericsson)
László & András (Ericsson) presented thoughts on proposed Generic Resource Manager and Memory management in DPDK.
Video | Slide

DPDK Architecture Musings
Andy Harvey (Distinguished Engineer, Cisco Systems)
Andy brought forward the user perspective of integrating DPDK with applications, how the community can help users to develop applications faster and more easily in real world use cases.
Video | Slide

DPDK Integration Journey
Roger Melton (Technical Leader, Cisco Systems)
Roger presented his experience of DPDK from an Architecture perspective reflecting on the opportunities and challenges facing the community from a technological perspective as the project continues to scale.
Video | Slide

T-Rex Stateful Packet Generator
Hanoch Haim (Principal Engineer, Cisco Systems)
Hanoch Haim presented on TRex Stateful Packet Generator, an open source, low cost, stateful traffic generator fuelled by DPDK. It generates L4-7 traffic based on pre-processing and a smart replay of real traffic templates. TRex amplifies both client and server side traffic and can scale to 200Gb/sec with one UCS.
Video | Slide

OpenDataPlane: A Quick Introduction and Overview
Bill Fischofer (Technical Lead, Open Data Plane)
Bill presented on the Linaro Networking Group’s OpenDataPlane which supports application portability across diverse ISA and system architectures.
Video | Slide

Hyperscan Software Pattern Matching
Mohammad Abdul Awal (Software Engineer, Intel)
Awal describes Hyperscan a software-based regular expression matching library, supporting large-scale, high-performance, streaming regular expression matching on Intel Architecture.
Video | Slide

A Symmetric Cryptography Framework for DPDK
Declan Doherty (Software Engineer, Intel)
An introduction to the new asynchronous burst oriented symmetric Cryptography API and device framework for DPDK.
Video | Slide

DPDK Performance Lessons Learned in vRouter
Stephen Hemminger (Principal Software Architect, Brocade)
Stephen presented on DPDK performance lessons learned in developing Brocade’s vRouter, including their experiences with QoS and LPM.
Video | Slide

Dynamic NFV Deployment with Port Hotplug and Virtio
Tetsuya Mukawa (Software Engineer, IGEL Co. Ltd.)

Tetsuya presented on port hotplug and how it can be used to support dynamic NFV deployment.

Video | Slide

DPDK Userspace, Dublin
2016-10-20 - 2016-10-21
Userspace 2016 was a developer forum which focused on the elements of DPDK which are most pertinent to the open source software community members. The two-day event at the Clayton Hotel in Dublin included highly interactive discussions on the latest features and upcoming changes to DPDK.

DPDK Roadmap

Bruce Richardson(Intel)
This session will be an open discussion on the DPDK roadmap. It will cover topics such as:
– What do people plan to contribute to 17.02/17.05?
– What gaps exist in the roadmap?

Video | Slides

DPDK Hyper-V Support

Stephen Hemminger(Microsoft)

This presentation will cover the strategy and implications of Hyper-V support in DPDK.

Video | Slides

NFV Use-case Enablement on DPDK and FD.io

Jasvinder Singh(Intel), Cristian Dumitrescu(Intel)

This presentation will discuss the rapid development of NFV use cases such as a virtualized provider edge router (vPE) using the DPDK and VPP framework on Intel multicore CPUs. Additionally, this talk will focus on enabling DPDK Hierarchical Quality of Service Schedular (HQoS) in VPP framework. This will include the configuration of HQoS instances and their execution in VPP.

Video | Slides

Mbuf Changes

Olivier Matz(6WIND)

This session will be an open discussion on mbuf changes that are required, including mbuf extension for external data.

Video | Slides

Cryptodev and IPsec Acceleration

Declan Doherty(Intel),Damjan Marion(Cisco), Sergio Gonzalez Monroy(Intel)

This presentation will consist of 3 parts:

A comprehensive overview of the cryptodev framework in DPDK, including its architecture, poll mode drivers, crypto application development, and details on the future roadmap.
An overview of the Vector Packet Processing (VPP) project in FD.io.
A description of the integration of cryptodev into VPP to accelerate IPsec.

Video | Slides

Transport Layer Development Kit (TLDK)

Keith Wiles(Intel)
This presentation describes the Transport Layer Development Kit (TLDK) project in FD.io. It will include some performance measurements of TLDK.

Video | Slides

mOS Networking Stack: A Specialized Network Programming Library for Stateful Middleboxes

Prof KyoungSoo Park(KAIST)

Stateful middleboxes such as intrusion detection systems and stateful firewalls rely on TCP flow management to keep track of on-going network connections. Implementing complex TCP state management modules for network appliances in high-speed networks is difficult. This is especially more challenging due to the lack of a reusable networking stack that provides a development interface that monitors fine-grained flow states for stateful middleboxes. This presentation describes the middleware Operating System (mOS) which aims to address this gap.

Video | Slides

TRex Traffic Generator – Stateless Support

Hanoch Haim(Cisco)

This presentation will give high level of the capability/design of the new stateless features in Trex and how it is used by the FD.io project.

Video | Slides

DPDK Project Growth

Tim O’Driscoll(Intel)

As DPDK continues to expand, we need to consider what changes need to be made in order to facilitate that growth. One obvious change would be to move the project to an independent body such as the Linux Foundation.

Video

DPDK optimal performance everywhere
(Rallying with a Formula 1)

Thomas Monjalon (6WIND)

This presentation will be about the fundamentals of DPDK. First of all, the DPDK userspace drivers process packets at lightning speed. And it runs on several architectures with a long list of supported devices. But the real uniqueness of DPDK is to combine optimal performance with a broad hardware support and à la carte packaging. Surprisingly, there are always some new promising optimizations to unlock the full power of the hardware. Also, after 5 years of existence, the project is still making some progress to be easier to use in more and more environments. Finally it is essential to remember that these improvements are possible thanks to an amazing and fast growing Open Source community.

Video | Slides

Identifying and Fixing Performance Bottlenecks

Bruce Richardson (Intel)

This presentation will focus on identifying and fixing performance bottlenecks using the Intel® VTune™ Amplifier. An example from the i40e driver will be used to illustrate the process.

Video | Slides

Re-structuring the DPDK Device Driver Framework

Shreyansh Jain (NXP)

Expanding DPDK to support non-PCI devices e.g. platform bus devices in a SoC

Video | Slides

Mellanox Bifurcated DPDK PMD

Rony Efraim (Mellanox)

Mellanox PMD is based on Bifurcated driver and allows the kernel (netdev) and more than one PMD to run on the same PCI. If the DPDK app is not setting a rule to steer this traffic it will be processed by the kernel.

Video | Slides

Intel I40E Bifurcated Driver

Jingjing Wu (Intel)

DPDK is known to build the high performing data plane workload on Intel Architecture and platform, a real world packet processing workload often relies on heavily on the Linux kernel and its large stack for the control plane design and implementation. As a known limit, Linux performance is not sufficient for high speed data plane workloads. In order to combine the advantages of both, a few key technical components can be used to make DPDK and kernel stack work and evolve independently.

A high speed data path between Linux kernel and DPDK. (Kernel NIC Interface, KNI, TAP).
A high speed data traffic direction into Linux Kernel and DPDK. (Bifurcated driver, Virtualization)

Video | Slides

Interworking with the Linux Kernel

Ferruh Yigit(Intel)

This session will be an open discussion on the challenges of interworking with the kernel, the inability to upstream enhancements like KDP/KCP to either the kernel or DPDK, and possible next steps.

Video | Slides

Monitoring your DPDK Application/Interfaces with Collectd
Emma Foley (Intel), Maryam Tahhan (Intel), Daniel Parker(Intel)

Video | Slides

deb_dpdk – Challenges and Opportunities when Packaging DPDK

Christian Ehrhardt (Canonical), Luca Boccassi(Brocade)

DPDK is special in many ways which make packaging and distributing it a more interesting effort compared to many other programs or libraries. This talk is about challenges we faced, what we can learn from them and where we expect potential areas of improvement in the future. Working together on those should help DPDK distribution and growing a higher adoption rate.
Video | Slides

Usability (including packaging, stable releases, LTS releases etc.)

John McNamara (Intel), Christian Ehrhardt (Canonical), Luca Boccassi(Brocade)

This session will be an open discussion on usability, including topics such as packaging, stable releases, LTS releases etc.

Video | Slide

Testing and Continuous Integration

Qian Xu (Intel)

Presentation from Qian on DPDK CI Enhancements.
This presentation will focus on testing, performance testing and CI, and how these can be further improved.

Video | Slides

Open vSwitch DPDK Acceleration Using HW Classification

Rony Efraim (Mellanox)

How to use HW classification to accelerate OpenvSwitch DPDK. NIC HW can classify the packets and return flow id that can be used instead of classification the packet by software. NIC HW can classify the packets drop and count them in order to preform aging and statistics.

Video | Slides

An Implementation of a P4 Software Dataplane Using Open vSwitch

Cian Ferriter (Intel)

P4 is an emerging standard for programming dataplanes. Although its initial applicability is for hardware dataplanes (in particular switching ASICS), its paradigm shifting approach to programming the dataplane can equally be applied to software dataplanes with interesting consequences. The first mainstream implementation of a software P4 dataplane is likely to be via Open vSwitch and is based on DPDK. This presentation will talk about this work and what it means to the DPDK community.

Video | Slides

Bridging the gap between hardware functionality in DPDK applications and vendor neutrality in the open source community

Ian Stokes (Intel), Sugesh Chandran (Intel)

To date there has been multiple efforts to make use of hardware features and functionality in the fast-path of OVS to improve performance e.g. Intel XL710 VxLAN tunnel optimization using flow director feature, Intel XL710/82599 packet type identification etc. However implementations to date have been hardware specific and as such are not acceptable to the Open vSwitch community due vendor neutrality. Feedback from the Open vSwitch community indicated that what is required is a common hardware API that is vendor neutral and easily consumable.

Video | Slides

Testing and Benchmarking Applications with MoonGen

Paul Emmerich (Technical University of Munich)

MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates, we have evaluated it at rates above 100 Gbit/s at 200 Mpps.

Video | Slides

Closing Remarks

Jim St. Leger (Intel)

Video

DPDK Userspace, Dublin
2017-09-26 - 2017-09-27
Unlike its name, the userspace summit intends to gather users and developers. It is the main event, dedicated to community discussions, architects and maintainers.

SESSION SUMMARY
To access the summary, slides, and video links for a specific session, click on each of the tabs below. Tech Board Presentation & Panel Discussion
Technical Board
Presentation and panel session with the Technical Board on: Who the Tech Board are, what their responsibilities are, recent issues that they’ve addressed, future technical priorities/challenges.
Watch Video »
Download Slides » Governing Board Presentation & Panel Discussion
Governing Board
Presentation and panel session with the Governing Board on: Who the Governing Board are, what their responsibilities are, progress to date, future priorities/challenges.
Watch Video »
Download Slides » DPDK Bus Updates
Ferruh Yigit, Intel
DPDK bus infrastructure has been updated for last a few releases. Although these changes should not affect the user application, it worth mentioning the changes. In this talk, I will summarize the bus changes and mention from required modifications in drivers.
Watch Video »
Download Slides » Ideas for adding generic HW accelerators to DPDK
Hemant Agrawal, NXP
There are various kind of HW accelerators available with SoCs. Each of the accelerator may support different capabilities and interface. Many of these accelerators are programmable devices. In this talk we will discuss various ways to support such accelerators in a generic manner.
Watch Video »
Download Slides » Let’s Hot Plug: Use uevent Mechanism to Practice it in DPDK
Jia Guo, Intel
Hot plug is a key requirement for live migration. So far, the hot plug and fail-safe implementation is still not friendly for PCIe devices. This talk proposes to add a general uevent mechanism in DPDK which include the uevent monitor and failure handler, to make it easy for DPDK users to implement hot plug.
Watch Video »
Download Slides » Proposed Method for Sharing a (PCI) Device Between Multiple PMDs
Fiona Trahe, Intel
Devices on the PCI bus are found by the bus probe function. For each device, the list of registered drivers (PMDs) is searched until one (only) is found for the device. This presentation proposes a mechanism to share a pci device between multiple PMDs. It may also be extendable to non-pci devices.
Watch Video »
Download Slides » DPDK VMBus & Azure Support
Stephen Hemminger, Microsoft
This is talk about the current status and planned development of VMBus support for DPDK. This talk also gives an overview of how DPDK applications are enabled on Azure Accelerated Networking using the Fail-Safe, TAP and existing drivers. It will cover some of the requirements and plans for the future.
Watch Video »
Download Slides » rte_security: The Case of IPsec Offload
Boris Pismenny, Mellanox; Declan Doherty, Intel; Hemant Agrawal, NXP
Encryption in today’s networks is becoming ubiquitous. However, running crypto on general purpose CPUs is costly. In this talk we present joint work by NXP, Intel and Mellanox on offloading protocol processing to hardware providing better utilization of host CPU for packet processing.
Watch Video »
Download Slides » DPDK Quality of Service APIs
Cristian Dumitrescu, Intel; Jasvinder Singh, Intel
This presentation focuses on the new QoS Traffic Management API for Ethernet devices that was introduced by DPDK release 17.08, as well as the new QoS Traffic Metering and Policing API planned for DPDK release 17.11. We describe the API, device drives currently supporting it and software fall-back strategy using the SoftNIC PMD.
Watch Video »
Download Slides » Service Cores: The path to Abstracting SW/HW CPU Requirements in DPDK
Harry van Haaren, Intel
Service cores is a library that abstracts the platform, providing an app with a consistent environment. Service cores allows switching of SW and HW PMDs with no application threading changes. This talk introduces service-cores, and opens discussion on how to enable DPDK with service cores.
Watch Video »
Download Slides » Wireless Base Band Device (bbdev)
Amr Mokhtar, Intel
Wireless Base Band Device (bbdev) proposal for DPDK that abstracts HW accelerators based on FPGA and/or Fixed Function Accelerators that assist with LTE Physical Layer processing. Furthermore, it decouples the application from the compute-intensive wireless functions by abstracting their optimized libraries to appear as virtual bbdev devices.
Watch Video »
Download Slides » DPDK to support InfiniBand Link Layer
Shahaf Shuler, Mellanox
There are many large InfiniBand clusters in the HPC market, they too would like to gain the DPDK user space high packet rate processing advantage, in addition to the RDMA capabilities. I will present the basic InfiniBand and IPoIB differences from Ethernet, and present results from a live POC on a 20 node cluster with DPDK using IPoIB
Watch Video »
Download Slides » Dataplane Networking journey in Containers
Kuralamudhan Ramakrishnan, Intel; Gary Loughnane, Intel
Our advanced Container Network Interface combines the benefits of containers with DPDK‘s ultra-low latency and fast packet processing and the results show 28x more performance with SRIOV, DPDK using Vhost-User with OVS-DPDK and VPP.
Watch Video »
Download Slides » ABI Stability and LTS: Current state and Future
John McNamara, Intel; Ian Stokes, Intel; Luca Boccassi, AT&T; Kevin Traynor, Red Hat
This session will be a panel discussion of the future direction of ABI stability & LTS/Stable releases. In particular it will look at the request for a yearly xx.11 LTS release with a 2 year duration.
Watch Video »
Download Slides » Community Activity, CI & Tools
Thomas Monjalon, Mellanox; Qian Xu, Intel
The userspace summit is a good place to make a yearly summary of community changes and interactions. It is also important to describe how DPDK interact with other communities. The last part would be about community processes (repositories, distributed CI, bugs tracking, tooling, website, mailing lists and Linux Foundation).
Watch Video »
Download Slides » Implementing an SR-IOV Hypervisor using DPDK
Alex Zelezniak, AT&T
In the presentation we will describe VFd, a hypervisor for SRIOV NICs jointly developed by AT&T and Intel, which uses DPDK and acts as policy enforcement software allowing advanced configuration of SR-IOV capable Network Interfaces. We will provide overview of the use cases and new DPDK API’s to support them.
Watch Video »
Download Slides » DPDK SRIOV and Control Over Embedded Switch
Alex Rosenbaum, Mellanox
When working in SRIOV mode, we would prefer to let majority of the traffic to pass in HW directly from/to wire to/from VF, while the OVS-DPDK application only needs to handle exception packet flows on the PF. To support this mode we want to show a new Representor Ports model of the HW switch, which can be controlled from DPDK.
Download Slides » A Framework For Representation, Configuration, and Management of Virtual Function Ports in DPDK
Declan Doherty, Intel
This presentation introduces a port representor framework to DPDK. The framework based around a virtual representor PMD and representor broker plugin for physical function devices, provides the infrastructure to allow SR-IOV virtual function ports to be configured, managed and monitored within a single control application.
Watch Video »
Download Slides » Improve VNF Safety With Vhost-User/DPDK IOMMU Support
Maxime Coquelin, Red Hat
This talk will focus on improving VNF safety with Virtio and Vhost-user backend. Maxime will first describe VNF architecture relying on Virtio/Vhost-user. Then, he will talk about IOMMU support for the Vhost-user backend. Finally, Maxime will provide benchmarks results and discuss ways to improve both performance & safety.
Watch Video »
Download Slides » Virtio Status Update and New Ring Layout
Zhihong Wang, Intel
The packed ring layout is the next generation ring layout standard for Virtio, which is designed for high performance and still in the proposal stage. This talk will give a quick introduction to this new ring layout definitions and summary the current status, findings and benchmark results of the prototype in DPDK.
Watch Video »
Download Slides » Power Aware Packet Processing
Chris MacNamara, Intel; Dave Hunt, Intel
A drive to deliver OPEX saving and performance where and when it’s needed. Enter a new era of power optimized packet processing. This talk reviews new & existing dpdk extensions for policy based power control proposed in August and the associated performance benefits.
Watch Video »
Download Slides » DPDK, VPP and pfSense 3.0
Jim Thompson, Netgate
pfSense is a open source firewall/vpn appliance, based on FreeBSD, started in 2006 with over 1M active installs. We are basing pfSense release 3.0 on FD.io’s VPP, leveraging key DPDK components including cryptodev, while adding a CLI and RESTCONF layer, leveraging FRRouting and Strongswan.
Watch Video »
Download Slides » T4P4S: When P4 meets DPDK
Sándor Laki, ELTE Eötvös Loránd University
T4P4S is a P4 compiler supporting flexible re-targetability without sacrificing high performance packet processing. To achieve this goal, it is split into hardware dependent and independent components. This talk will show the architecture of T4P4S and the design decisions made to support DPDK.
Watch Video »
Download Slides » Rapid Prototyping of DPDK Applications with libmoon
Paul Emmerich, Technical University of Munich
This talk is about our framework libmoon, a wrapper for DPDK that makes building DPDK prototypes simple and fast. We’ve used it for multiple research prototypes as well as our packet generator MoonGen (presented last year here).
Watch Video »
Download Slides » Using DPDK with Go
Takanari Hayama, Igel
pfSense is a open source firewall/vpn appliance, based on FreeBSD, started in 2006 In our presentation, we share the lesson learned from our experience using DPDK with Go in order to implement a software router Lagopus2. We’ll explain how we carefully designed DPDK binding in Go to guarantee the type safeness and the performance at the same time.
Watch Video »
Download Slides »

DPDK Userspace, Dublin
2018-09-05 - 2018-09-06
Unlike its name, the userspace summit intends to gather users and developers. It is the main event, dedicated to community discussions, architects and maintainers.

SESSION SUMMARY
To access the summary, slides, and video links for a specific session, click on each of the tabs below. Introduction and Governing Board Update
Jim St. Leger
Opening remarks from Jim St. Leger
Watch Video »
Download Slides » rte_security: An Update and Introducing New Protocols (PDCP)
Akhil Goyal, NXP
Security library was introduced in DPDK as means for offloading the security protocol processing to hardware providing better utilization of host CPU for packet processing. There are many enhancements since the original proposal. This talk provides the updates on the security library, current gaps and a new proposal to add PDCP protocol offload support.
Watch Video »
Download Slides » A DPDK Native IPsec Library
Declan Doherty, Intel
IPsec is a suite of communication protocols which enable the securing of communications networks at the IP layer and is increasingly making up a larger proportion of the total packet processing workload of data plane applications. In this presentation, we will introduce a new IPsec library for DPDK, designed and developed to be performant and scalable, with native support for hardware acceleration. We will describe the modular architecture of the library and outline the proposed development roadmap. Finally, we will discuss how an IPsec solution in DPDK can be used to drive the adoption of IPsec hardware acceleration in data plane applications and infrastructure.
Watch Video » Introduction to the Distributed Software Event Device
Mattias Rönnblom, Ericsson
The Distributed Software (DSW) event device proposal adds a new software-based event device, which differs from the SW event device in that the task of scheduling events is distributed across all participating lcores.
Watch Video »
Download Slides » Deflate Your Data with DPDK
Lee Daly, Intel and Fiona Trahe, Intel
This presentation will be a crash course on the new compressdev API. If you are an application developer you will gain the skills to be able to use the API to compress your data. If you have a software/hardware accelerator you will be enabled to start building your own compression PMD. We will also explain some of the architecture and design hurdles we faced and overcame in creating the API.
Watch Video »
Download Slides » mbuf External Buffer and Usage Examples
Shahaf Shuler, Mellanox
Recent work in DPDK exposed a new mode for mbuf to have the data buffer externally attached. We will present the new mbuf mode in details. In addition, we will demonstrate its usage for various applications as well as for devices which can receive a single buffer pointer to be used for multiple packets. Finally, we will present our thoughts for further improvements to expose the external buffer mode as part of the non-experimental API.
Watch Video »
Download Slides » Dynamic Device Management (hotplug)
Thomas Monjalon, Mellanox
This presentation is an overview of the device management in DPDK – past, present, and future. It is a guided tour into the layers (bus, device resource, driver, device class, application) explaining what are the requirements and solutions to manage several buses, migration, hotplug, and multi-process.
Watch Video »
Download Slides » Don’t Fear uid != 0
Aaron Conole, Red Hat
Much of the code in DPDK makes assumptions about which system resources are available and required. In this talk, we’ll challenge those assumptions and show that developers and users should embrace non-root users and SELinux == Enforcing. We’ll talk about some of the challenges we’ve encountered in using these ‘locked down’ systems.
Watch Video »
Download Slides » Exploring the New DPDK Memory Subsystem
Anatoly Burakovm Intel
As an important step towards making DPDK less “greedy”, DPDK memory subsystem has been reworked in 18.05 release. In this talk, we will present an overview of the changes done to the DPDK memory subsystem, and explain various new features made possible by these changes. We will also provide an overview of several practical examples of how changes in DPDK memory subsystem have affected other DPDK features, and discuss solutions that were implemented in an effort to demonstrate approaches to dealing with these changes.
Watch Video »
Download Slides » DPDK Usability for OVS with DPDK
Ian Stokes, Intel
OVS with DPDK aims to be device agnostic i.e. regardless of the driver, ports should be initialized, configured and used largely in the same manner. APIs such as the eth dev API help achieve this to a degree but specific device capabilities and driver behavior beneath the eth dev API make a truly generic approach in OVS DPDK difficult. This talk will present a number of examples of this encountered to date, how they were resolved within OVS DPDK but how they could be better resolved within the DPDK code base.
Watch Video »
Download Slides » Do Less by Default
Thomas Monjalon, Mellanox and Bruce Richardson, Intel
DPDK started as a bare-metal framework and evolves toward a library model. In order to be a real library, giving all powers and flexibility to the application, some work and agreements are required. Ideally, the application should own all the configurations (e.g. for threads, memory or devices), while DPDK provides some good defaults, some parsing helpers, and a fine-grain API.
Watch Video »
Download Slides » Vhost/Virtio: Past Year Achievements and Upcoming Challenges
Maxime Coquelin, Red Hat and Jens Freimann, Red Hat
In this talk, we will cover the past year developments related to Vhost and Virtio, covering the features that have been introduced, and issues that have been fixed. Then, new features that are planned for the next releases will be presented, and improvements expected by the community will be discussed.
Watch Video »
Download Slides » DPDK on Azure: Past, Present, Future
Stephen Hemminger, Microsoft
This talk covers the architecture of DPDK support on Azure/Hyper-V. Some of the challenges this brings as well. It will also cover how the driver is evolving to support a simpler model and BSD.
Watch Video »
Download Slides » Supporting Cloud Native with DPDK and Containers
Keith Wiles, Intel
Getting DPDK ready to better support Cloud Native applications in containers/VMs by adding Runtime control, Application Abstraction and flexible I/O designs. Adding runtime control to DPDK for external coordination in an easy to use design plus adding application abstraction layer for applications to easily utilize DPDK high performance I/O without having to understand the details of DPDK internals. The presentation will have a demo and explain how we can scale hardware I/O within a system with large numbers of containers by creating an easy software patch panel design for container to hardware abstraction.
Watch Video »
Download Slides » A Service Assurance Solution for DPDK
Harry van Haaren, Intel
It is currently impossible to reliably monitor DPDK applications using generic service assurance tools. This talk introduces a JSON based API to retrieve metrics and telemetry from DPDK. It shows how simple the monitoring of any DPDK application can be if we expose DPDK metrics through a simple RESTful API, which can be consumed by any service-assurance agent (eg: CollectD). Building this functionality into the DPDK primary application enables the Service Assurance agent to monitor all DPDK applications as generic entities, instead of each application providing an ad-hoc implementation.
Watch Video »
Download Slides » Closing Remarks + DPDK Developer Appreciation awards, Evening Discussions
Closing remarks at the end of day one.
Watch Video »
Download Slides » Scaling the DPDK Community
John McNamara, Intel and Kevin Traynor, Red Hat
As the community continues to grow, our ability to scale and support our customers is increasingly important. In this talk, we will present a brief overview of the current status of maintenance in DPDK and seek feedback on further improvements. We will take the opportunity to present an overview of the DPDK maintenance map including where we have gaps, discuss committer and maintainer expectations, discuss changes recently implemented (for example the new weekly Maintainers call, weekly merge, etc.), and get input on proposed future changes.
Watch Video »
Download Slides » DPDK CI & Open Lab
Jeremy Plsek, UNH InterOperability Lab and Lijuan Tu, Intel
Establishing a CI system for DPDK is facing several challenges: 1) DPDK validation (build, test and benchmark) need to cover different OSes, vendors’ platforms, and vendors’ NICs. 2) Need to do CI test for DPDK patches in “before merge” and “after merge” timely (in a short time).
The proposal is that DPDK open lab + DPDK CI system. In open lab, standard testbeds are designed by each vendor, and all testbeds are managed centralized. Based on standard testbeds, a unified test suite can be well defined to cover OSes, platforms, NICs and their combination. With standard testbeds and a unified test suite, execution time is fined controlled and consistent quality indicator can be provided to all users. Meanwhile, CI system is designed to monitor patches in community, to trigger build test on each OS, and to dispatch tests to testbeds in open lab. Finally, the validation results are showed in CI dashboard. Furthermore, CI system includes a database in the back-end to support to track quality and performance data.
Watch Video »
Download Slides » Extending DPDK Flow Classification Libraries for Determinism and Cloud Users
Sameh Gobriel, Intel
In this talk we will briefly present new technologies to extend DPDK flow classification libraries to cover more general use cases. We will fist provide an overview of the different classification libraries (e.g. hash library, EFD library, membership library, ..etc.) and highlight the set of usages where each library is a best fit for. Next, we provide details of new extensions that we are adding to the hash library to support read/write concurrency and guaranteed flow insertion, Both features, in our point of view, are must have for a wide set of usages especially to support telco workloads. Additionally we present new research directions we are investigating on how to use DPDK flow classification libraries to optimize cloud key-value stores. We highlight bottlenecks of the current indexing schemes of such huge stores, and how DPDK can be augmented (e.g. by extending membership library to support range filters, and lossy caches, ..etc.) to help address these bottlenecks. We are soliciting feedback of DPDK developers and users on our new research directions and looking forward to any collaboration opportunity to optimize cloud workloads.
Watch Video »
Download Slides » Lock-Free Read-Write Concurrency in rte_hash
Honnappa Nagarahalli, Arm
Recent patches have tried to address the reader-writer concurrency in rte_hash library. However, these fall short on solving the problem on multiple use cases. These solutions result in further significant problems when the use cases involve preemptible writer threads. Lock-free addition and deletion algorithms are required to truly solve the read-write concurrency. This talk explores the need for lock-free algorithms in the context of rte_hash library, the changes required in rte_hash for 64bit systems. It will also discuss various options available for solving the issue on 32bit systems and seek feedback. Performance numbers with this proposal will also be presented.
Watch Video »
Download Slides » Recent Power Management Enhancements in DPDK
David Hunt, Intel
DPDK PMDs typically poll on rings, making the cores look 100% busy to the OS. Using Power Management Unit (PMU) counters, it is possible to differentiate between busy and non-busy poll loops, allowing scaling down of the core frequency during low-traffic situations, and scaling up (including Turbo) in high traffic situations, without modifying the application. A patch demonstrating this method has been added to DPDK 18.08 using the branch hits and branch misses PMU counters. The talk will give an overview of power management techniques in DPDK, and detail the methods used in the latest DPDK Power Management features.
Watch Video »
Download Slides » Soft NIC: Build Your Own NIC Pipeline in SW
Cristian Dumitrescu, Intel
This presentation describes the benefits of using the DPDK Soft NIC, which allows building custom NIC pipelines at the speed of SW development.
Watch Video »
Download Slides » urdma: A Remote Direct Memory Access verbs provider using DPDK
Patrick MacArthur, UNH InterOperability Laboratory
Remote Direct Memory Access (RDMA) provides a low latency, high throughput network interconnect with kernel bypass and zero copy between application virtual memory regions. RDMA deployments require expensive, specialized hardware. Software RDMA providers have been developed to allow testing and research of RDMA features without this specialized hardware. Historically, these software providers, including softiwarp and softroce (rxe), have been implemented in the kernel. Using DPDK, we have developed an RDMA provider named urdma that performs data transfer entirely in userspace with only minimal connection management in the kernel. The urdma provider uses a variant of the standard iWARP protocol over UDP, and is capable of running on commodity NICs. The kernel and userspace components of urdma are available under an open-source license. This presentation will discuss goals, the design and implementation of the provider, issues encountered during development, and a performance evaluation.
Watch Video »
Download Slides » Tungsten Fabric DPDK Based vRouter HW Offloads
Olga Shern, Mellanox
There is a wide range of smart/intelligent NICs emerging on the market, implemented using various technologies. These NICs are capable of being programed to perform advanced packet classification and modification operations, allowing to implement flexible packet processing pipelines implementing switching, routing, tunneling, etc. This talk will present work being done to accelerate the Tungsten Fabric DPDK based vRouter, using DPDK rte_flow API to implement a generic, vendor-agnostic, open source offload module. We will also discuss potential future enhancements to DPDK rte_flow APIs to enable additional accelerations.
Watch Video »
Download Slides » DPDK PMD for AF_XDP
Xiaoyun Li, Intel
AF_XDP, which can be regarded as an upgraded version of AF_PACKET, can provide more than 10 times performance improvement. It can also connect the XDP pass-through to user-space directly, which means an ebpf program that processes packets can be forwarded to an application in a very efficient way. Thus enabling a delicate PMD for AF_XDP is valuable for DPDK applications to benefit from it. In this presentation, we will share our recent work about enabling a DPDK Polling Mode driver for AF_XDP. Firstly, we will briefly introduce AF_XDP and why we need a DPDK PMD driver for AF_XDP. Then we will present the implementation details on how to translate AF_XDP language (XDP socket, ebpf redirect map…) into DPDK language (ethdev, queue), how to reach zero copy between rte_mempool and XDP umem, and so on. At last, we will share some ideas for future improvement such as utilizing the busy poll feature to improve performance.
Watch Video »
Download Slides » DPDK + eBPF
Konstantin Ananyev, Intel
BPF is used quite intensively inside Linux (and BSD) kernels for various different purposes and proved to be extremely useful. BPF inside DPDK might also be used in a lot of places for a lot of similar things. As an example to: – packet filtering/tracing (aka tcpdump) – packet classification – statistics collection – HW/PMD live-system debugging/prototyping – trace HW descriptors, internal PMD SW state, etc. The presentation provides information about current status of DPDK eBPF library and ideas for further enhancements and usage scenarios.
Watch Video »
Download Slides »
Sponsors:
