Upcoming Webinar: Hyperscaling in the Cloud
Skip to main content
Loading Events

« All Events

  • This event has passed.

DPDK Userspace, Bordeaux, September 19th-20th

September 19, 2019 - September 20, 2019

SESSION SUMMARY

To access the summary, slides, and video links for a specific session, click on each of the tabs below.

Dynamic mbuf

Dynamic mbuf
Thomas Monjalon, Mellano

The main data structure in DPDK – mbuf – contains metadata for packet buffers which are sent or received. Protocol processing offloads may require an infinite number of metadata, whereas the size of the structure is finite. This problem will be discussed with a solution relying on dynamic registration of needs.

Watch Video »
View Slides »

Which Standard for Ethernet Statistics?

Which Standard for Ethernet Statistics?
Thoman Monjalon, Mellanox

DPDK has basic stats which are limited and extended stats which are not enough standardized and implemented. This presentation will make a status of the implementation, the issues, and an overview of some standards. It should draw the way to improvements in DPDK ethdev and PMDs.

Watch Video »
View Slides »

Recent advances in DPDK IPsec

Recent advances in DPDK IPsec
Konstantin Ananiev, Intel

Briefly describe recent developments to enhance DPDK IPsec support with new features and gather community feedback on:
1. Scalable Security Association Database (SADB)
2. Enhancement in rte_security API to speedup synchronous (CPU based) crypto processing.
3. Support for one SA over multiple crypto devices (multiple sessions per SA).

Watch Video »
View Slides »

DPDK Regex device

DPDK Regex device
Alex Rosenbaum, Mellanox

Regular expression processing and DPI widely used by VNFs (Firewall, cybersecurity applications, Network Based Application Recognition).
Even though there are some vendors which offer Regex/DPI lookaside or inline HW acceleration, there are no standard APIs for it in DPDK.
This effect application portability between different vendors and the ability to expose such functionality on opensource DPDK apps such as VPP, OVS-DPDK, etc.
This presentation will present the Regex device in order to standardize the use of Regex/DPI within DPDK. In addition, will also present a framework to support inline Regex/DPI processing on top of the ethdev.

Watch Video »
View Slides »

Adding Eventdev support in IPsec-gw and other apps

Adding Eventdev support in IPsec-gw and other apps
Hemant Agrawal, NXP

This presentation will give overview of newly added support for crypto eventdev framework and how it is being added to IPSEC GW and l2fwd-crypto kind of application to take best advantage of non-polling based processing.

Watch Video »
View Slides »

Asynchronous CBDMA Enqueue Framework for vHost-User

Asynchronous CBDMA Enqueue Framework for vHost-User
Zhihong Wang, Intel

In DPDK vhost-user enqueue operations, where data movement is heavily involved, performing memory copy operations takes up a major portion of CPU cycles and usually becomes the hot spot. To save precious CPU core resources and achieve higher performance, DMA engines, such as Crystal Beach DMA (CBDMA), can be used to accelerate memory copy operations. To avoid blocking the CPU, memory copy operations should be offloaded to the DMA engine in an asynchronous mode.

In this presentation, we propose an asynchronous CBDMA enqueue framework for vhost-user. First, we will present the design of asynchronous CBDMA offloading pipeline. With the asynchronous pipeline, vhost-user can achieve optimal offloading performance with the CBDMA or even other DMA engines. Second, we will introduce a new asynchronous enqueue API for users to easily use CBDMA-accelerated vhost-user enqueue.

With our asynchronous CBDMA enqueue framework, vhost-user can offload memory copy operations to the CBDMA efficiently and without blocking the CPU. Therefore, the saved CPU cycles can be used to perform CPU logics, thus improving the overall performance in turn.

Watch Video »
View Slides »

DPDK Thread-safe High Performance Pseudo-random Number Generation

DPDK Thread-safe High Performance Pseudo-random Number Generation
Mattias Rönnblom, Ericsson

This talk covers a recent DPDK contribution in the area of pseudo-random number generation (PRNG). The patch set introduces a DPDK-native, backward-compatible, thread-safe PRNG implementation, with improved performance and pseudo-random number quality compared to the legacy implementation.

Watch Video »
View Slides »

Better development with robots

Better development with robots
Aaron Conole, RedHat

In this talk, we aim to cover some existing robots and tests that are used for each patch submitted to the mailing list. We’ll discuss how to check the various public testing infrastructure that is being used, the tools available for building your own robots, and how to feed your test reports to the community to give early patch feedback.

Watch Video »
View Slides »

DPDK Community Updates

DPDK Community Updates
John McNamara, Intel

An overview of DPDK community development and growth in the last year including, community maintainers calls, stable releases, static code analysis, and the community testing lab. A panel discussion with other members of the community.

Watch Video »
View Slides »

Community Survey Analysis and Conclusion

Community Survey Analysis and Conclusion
Honnappa Nagarahalli, ARM

During the 2018 North America DPDK summit, the community asked questions on improving the development methodologies by using tools such as Gerrit, GitHub pull requests, etc. Subsequently, a survey was conducted to understand the need. This presentation will go into the details of the outcome of the survey.

Watch Video »
View Slides »

DPDK.org services, latest and future planned improvements

DPDK.org services, latest and future planned improvements
Ali Alnubani, Mellanox

The talk is to present a list of the services (web, git, etc.) provided by dpdk.org, with usage and a short description of each, along with the latest improvements that were done. The talk will also cover what’s planned in the near future.

Watch Video »
View Slides »

Introduction to the new DPDK Vulnerabilities management process

Introduction to the new DPDK Vulnerabilities management process
Maxime Coquelin

The DPDK Technical Board has worked on the definition of a vulnerabilities management process. This talk will present the outcomes of this work.

Watch Video »
View Slides »

DPDK LTS update

DPDK LTS update
Kevin Traynor, Red Hat

DPDK LTS releases have been in operation for almost 3 years. Anecdotal reports are that DPDK LTS is becoming more popular with users.

Firstly, let us refresh with why there is an LTS, how it is different from master DPDK releases, and what needs it serves.

Building on that we will talk about the last year, changes to short term stable releases and some statistics on the releases.

Finally, we can talk about things that developers and companies can do to ensure that LTS releases are high quality for their use cases, and have an open discussion about how LTS releases can improve to meet the needs of developers and companies.

Watch Video »
View Slides »

Does DPDK need a stable ABI?

Does DPDK need a stable ABI?
Stephen Hemminger, Microsoft & Ray Kinsella, Intel

In light of the renewed community discussion on Application Binary Interface Stability, now is the time to debate the merits and challenges of ABI Stability.

DPDK has its roots as a toolkit for developing Packet Processing appliances, where realizing packet processing performance is traditionally the highest priority. Since then it has grown into the new usage models of Network Function Virtualization and Cloud, where there is now the competing demands to continue the pace of innovation and also provide ABI Stability, Seamless Upgrades, Long Term Support, and OS Packaging as primary means of distribution.

ABI Stability will help bring these numerous benefits listed above and possibly more, however it will mean changes to the often permissive culture that we have around ABI changes that have helped DPDK’s rapid growth and innovation.

How can the community reconcile these often competing for demands of innovation and stability? DPDK Userspace is an opportunity to debate the next stage in DPDK’s evolution.

Watch Video »
View Slides »

Integrating RCU library with data structures

Integrating RCU library with data structures
Honnappa Nagarahalli, ARM

RCU library has been merged in 19.05 release. However, it needs to be adopted further into other DPDK libraries and example applications. I have been working on a common design that can be used across various DPDK libraries. The design differs from the typical integration that liburcu library offers and provides several advantages. This presentation will discuss the requirements for the design, the design itself and seek any feedback. It will help the reviewers and other maintainers to integrate RCU library in their work.

Watch Video »
View Slides »

Current sorry state of C11 code and suggestions to fix it

Current sorry state of C11 code and suggestions to fix it
Phil Yang, ARM

I will provide a brief introduction on the relaxed memory models, C11 atomic APIs and issues with some of the APIs provided. I will proceed to present cases in DPDK where the C11 model is not fully followed. I will present cases from different parts of DPDK to show the performance benefits across the board. Finally, I would like to point out how the rte_atomic APIs fall short of addressing relaxed memory models and propose that the community should adopt using C11 APIs going forward. If time permits, I will go over how to use C11 APIs to write efficient code.

Watch Video »
View Slides »

Arm64 WFE mechanism and use cases in DPDK

Arm64 WFE mechanism and use cases in DPDK
Gavin Hu, ARM

In this presentation, I will talk about the ARMv8 WFE (Wait For Event) mechanism and how it works and benefits the power and performance by saving cache and memory traffic.
The rte ring, spinlock, ticket lock and other locks use cases were identified and the benchmarking tests already showed significantly positive results while more widely benchmarking on different Arm64 microarchitectures is ongoing. It had no impact on x86 and PPC.
A new API was introduced for easy use of the WFE and in the last I will talk about how and in what contexts it can be used.

Watch Video »
View Slides »

DPDK Build System Status and Plans

DPDK Build System Status and Plans
Bruce Richardson, Intel

This lightning talk is to provide an update on the DPDK build systems, both the status of the new one – including any gaps and the plans for deprecation of the old make system. The intention is to both inform the community of the plans, and ensure that nothing is being missed in the switchover.

Watch Video »
View Slides »

What is wrong with existing packet capture (and how to fix it)

What is wrong with existing packet capture (and how to fix it)
Stephen Hemminger, Microsoft

DPDK supports packet dump via pdump, but the solution relies on the older libpcap API which has many limitations. This talk will discuss a proposed enhancement using pcapng which supports multiple interfaces, higher resolution timestamps, additional meta data, and can be used directly from tshark or wireshark.

Watch Video »
View Slides »

virtio-net failover in DPDK

virtio-net failover in DPDK
Jens Freimann, RedHat

This talk will present what I did to implement the Virtio failover feature to QEMU and what our ideas are to bring it to QEMU. I will most likely not present an already implemented solution but my ideas on how to do it in DPDK. I hope to spark a discussion and get some feedback from the DPDK community.

A description of the failover feature: Virtio has a feature to enable VMs that have a PT (pass-through) device plugged for fast transmission of data to be live migrated to another host system. For this, a pair of NICs is specified as a failover group. The fastPT NIC is called the primary interface and a second paravirtualized (PV) NIC (virtio-net) is called the standby device. When both virtio front- and backend support this feature, live migration is done by first unplugging the fast-path NIC and then have the (slower) virtio-net device take over the data path. This means that only the virtio-net device needs to be live migrated and we already have support for that. After migration is completed a PT device is plugged to the target VM and the data path can be switched over from the PV to the PT device. A more detailed discussion of the feature can be found here: https://mstsirkin.blogspot.com/2019/03/virtio-network-device-failover-support.html?m=1

Watch Video »
View Slides »

DPDK-accelerated Partial Offload for Fine-grained HQoS

DPDK-accelerated Partial Offload for Fine-grained HQoS
Rosen Xu, Intel

The HQoS(Hierarchical Quality of Service) block is widely used in prioritizing the transmission of packets from different users and different traffic classes according to the policy specified by the Service Level Agreements (SLAs) of each network node. The most usages of HQoS in NFVi(Network Function Virtualization Infrastructure) and VNF(Virtual Network Function) are scheduling millions of traffic flows. But Software Based HQoS is an overhead processing, Schedule and its associated Shape Elements of HQoS take up most of CPU cores while Inter Connection for Schedule Information also consumes most of CPU Caches. For Hardware-based HQoS implementation, being restricted by resource, PCIe TX/RX Queue of NIC usually has less than a thousand of queues, and the queue number is also fixed so it’s hard to expand millions of traffic class by software requirements. This idea calls for a method to implement a partial HQoS framework, by which not only provides more Flexible Queue Expand but also provides High Precision Scheduling.

Watch Video »
View Slides »

Latest Power Enhancements in DPDK

Latest Power Enhancements in DPDK
David Hunt, Intel

In DPDK 19.05, support was added to the power management library to allow pinning of threads to any available higher performing cores. This lightning talk gives an overview of how DPDK can benefit and utilize a new technology introduced in recent CPUs, called Speed Select Technology – Base Frequency, which gives a guaranteed higher frequency on some of the cores in the processor. It also goes through the API changes added to DPDK to allow applications maximize their performance, along with a sample application to demonstrate their use.

Watch Video »
View Slides »

Measure Software Performance of Data Plane Applications

Measure Software Performance of Data Plane Applications
Harry van Haaren, Intel

Measuring software performance of data-plane applications is a difficult task. This presentation showcases best-known-methods to measure and understand software performance. Solutions to common performance issues are shown to improve your data-plane performance, with some real-world examples.

Watch Video »
View Slides »

rte_flow at hyper large scale toward production is really happening

rte_flow at hyper large scale toward production is really happening
Alex Rosenbaum, Mellanox & Li Xing, Alibaba

Why is high flow count handling in DPDK such an important trend?
What is considered ‘high flow count’?
What needs to be improved in DPDK to handle 10 million flow rules?
Some considerations are touching the offload flow handling to NIC, memory footprint, more API changes and new flow objects.

In this collaborated presentation, Alibaba, a large cloud provider, with Mellanox NIC vendor, will detail a live production deployment use case utilizing DPDK for large scale flow count handling.
We will answer some of the above questions and touch some of the future big challenges on this topic.

Watch Video »
View Slides »

DPDK expands into Storage domain

DPDK expands into Storage domain
Darek Stojaczyk & Fiona Trahe, Intel

SPDK is an open source library used to accelerate storage services with similar poll mode techniques to DPDK. The storage domain needs solutions to many of the same problems as networking, so rather than re-invent the wheel SPDK uses DPDK. This presentation will explain how SPDK integrates with DPDK vhost, compressdev, cryptodev, hugepage management and PCI hotplug.

Watch Video »
View Slides »

Docker VNFs and packet throughput using Lib1Net and DPDK

Docker VNFs and packet throughput using Lib1Net and DPDK
Anthony Fee, Emutex

Lib1Net, developed by Emutex, is a library that enables Virtual Network Function (VNF) vendors to develop high performance VNFs that can be easily enabled on any common network interface. This is achieved by abstracting the VNFs from the underlying network interfaces. Currently, when onboarding VNFs, the decision has already been made at the development phase as to what network interface is supported by the VNF. This complicates the onboarding process due to the possibility that the supported network interface type is not compatible with the telco network infrastructure. As a result, the engineer enabling the VNF may need to work with the vendor to integrate the VNF within their infrastructure. This slows the onboarding process and adds potential expense to both the telco and VNF vendor.

Building VNFs using the Lib1Net library removes the decision at development time as to what network interfaces should be supported. Instead, the VNF is abstracted from and supports many common network interface types through the Lib1Net single network interface. This in turn means that the telco engineer enabling the VNF simply needs to configure which network interface type to attach to the VNF at runtime.

Enabling VNFs using Lib1Net unlocks the potential to open the VNF market for smaller vendors particularly when looking towards moving intelligence to the network edge. Once the VNF has been developed there should no longer be a need to work with the telco engineer beyond the configuration of the VNF itself.

Lib1Net is built with DPDK at its core and abstracts the application from the configuration and initialisation of DPDK. It provides a Docker container-to-container interface built using DPDK shared-memory to enable trusted VNF service chains with zero-copy packet transfers. It currently supports DPDK physical interfaces, the vhost-user interface and the link (container-to-container) interface. Further development is planned to support the VPP memif interface and the AF_XDP interface. Lib1Net is currently implemented as a proof of concept. We look forward to receiving feedback from the DPDK community on Lib1Net’s viability as a tool to simplify the VNF development and onboarding process. For more information about Lib1Net visit www.emutex.com or email lib1net@emutex.com

Watch Video »
View Slides »

Details

Start:
September 19, 2019
End:
September 20, 2019
Website:
https://events.linuxfoundation.org/events/dpdk-userspace-2019-bordeaux/

Organizer

DPDK Project

Venue

LA CITE DU VIN
Esplanade de Pontac, 134 Quai de Bacalan,
Bordeaux, 33300 France
+ Google Map
View Venue Website