Intel dpdk Tutorial

SaifuddinKaijar 10,827 views 27 slides May 20, 2017
Slide 1
Slide 1 of 27
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27

About This Presentation

DPDK is a set of libraries and drivers for fast packet processing.


Slide Content

Data Plane Development Kit
One Convergence Devices Ptv. Ltd
Saif

A chain is as strong as its weakest link

DPDK Boosts Packet Processing, Performance, and
Throughput


•Data Plane Development Kit (DPDK) greatly boosts packet processing
performance and throughput, allowing more time for data plane
applications.
•DPDK can improve packet processing performance by up to ten times.
It's possible to achieve over 80 Mbps throughput on a single
Intel® Xeon® processor, and double that with a dual-processor
configuration.
1
As a result, telecom and network equipment
manufacturers (TEMs and NEMs) can lower development costs, use
fewer tools and support teams, and get to market faster.

User space
Kernel space
NIC
App
Driver
RX/TX
queues
Socket
Ring
buffers
Packet processing in Linux

User space
Kernel space
NIC
App
Driver
RX/TX
queues
Socket
Ring
buffers
Packet processing in Linux Packet processing with DPDK
User space
Kernel space
NIC
App DPDK
Ring
buffers
UIO
driver
RX/TX
queues

Kernel space
User space
HW
ioctl()
Register
syscall
VFS
copy_from_user()
iowrite()
Updating a register in Linux
User space
HW
assign
Register
Updating a register with DPDK

•Processor affinity (separate cores)
•UIO (no copying from kernel)
•Polling (no interrupts overhead)
•Lockless synchronization (avoid waiting)
What additionaly inside DPDK?

 Buffer and Memory Manager
Manage the allocation of objects non-NUMA
using huge pages through rings, reducing
TLB access, also, perform a pre-allocation of
fixed buffer space for each core
 Queue Manager
Implements lockless queues, allow packets to
be processed by different software
components with no contention
 Flow Classification
Implements hash functions from information
tuples, allow packets to be positioned rapidly
in their flow paths. Improves throughput
 Pool Mode Driver
Temporary hold times thus avoiding raise
NIC interruptions
Intel DPDK

Initialization and Core
Launching