Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DPDK for Advanced Users - PART I - training overview

319 views

Published on

This training aims to enable developers with networking/kernel background to effectively use DPDK library within developed products. The practical part is based on exclusively developed sample application - DPI Bridge. This part of the training is focused on the general understanding of the concepts and surrounding tools, whereas advanced optimization has been moved to the second part.

Published in: Education
  • Be the first to comment

  • Be the first to like this

DPDK for Advanced Users - PART I - training overview

  1. 1. Training overview DPDK for Advanced Users - PART I
  2. 2. Copyright (C) 2016 Semihalf. All rights reserved.Semihalf Expert To Expert Academy Summary ● Overview/Objectives This training aims to enable developers with networking/kernel background to effectively use DPDK library within developed products. The practical part is based on exclusively developed sample application - DPI Bridge. This part of the training is focused on the general understanding of the concepts and surrounding tools, whereas advanced optimization has been moved to the second part. ● Duration 3 days ● Number of participants min 2, max 8 (assuming pair programming) 2
  3. 3. Copyright (C) 2016 Semihalf. All rights reserved.Semihalf Expert To Expert Academy Contents of the training (1) 1. High level overview ● Comparison of DPDK to classic packet processing in kernel ● Explanation of the reasons why user space processing might be faster and more efficient ● Costs and drawbacks of using DPDK 3 2. Introduction ● Running environment configuration (hugepages, drivers etc.) ● DPDK structure: Environment Abstraction Layer (EAL), memory management (rings, mempools), PMDs ● Concepts of lcore in comparison to processes/threads ● Setup and running a sample app.
  4. 4. Copyright (C) 2016 Semihalf. All rights reserved.Semihalf Expert To Expert Academy Contents of the training (2) 3. In depth of the DPDK app ● Compilation of the DPDK and example app ● Initialization sequence (EAL init, memory pool creation, NIC configuration) ● Packet processing overview ● Single thread example app benchmarking using pktgen 4 4. DPDK and PMD API ● Application optimization ● Function call sequence ● Callbacks around tx_burst and rx_burst ● Multithread scaling using RSS ● Queues number optimization from the perspective of the app and PMD/RSS
  5. 5. Copyright (C) 2016 Semihalf. All rights reserved.Semihalf Expert To Expert Academy Contents of the training (3) 5. Packet processing ● Packet representation and mbuf usage ● Packet processing path ● Timeouts handling ● Lockless asynchronous access to the shared memory ● Multithreading processing challenges 5 6. Troubleshooting ● Testing environment configuration including tools such as mausezahn, testpmd, dpdk-pktgen, tcpdump, dpdk-procinfo ● Troubleshooting of the app basing on network traffic analysis and statistics ● Debugging of the DPDK example app
  6. 6. Contact us! academy@semihalf.com 6

×