SaifuddinKaijar
10,827 views
27 slides
May 20, 2017
Slide 1 of 27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
About This Presentation
DPDK is a set of libraries and drivers for fast packet processing.
Size: 1.21 MB
Language: en
Added: May 20, 2017
Slides: 27 pages
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