+ All Categories
Home > Documents > Utiliserl’Intel® DPDK –Communautédpdk.org …media.frnog.org/FRnOG_22/FRnOG_22-1.pdfor OS...

Utiliserl’Intel® DPDK –Communautédpdk.org …media.frnog.org/FRnOG_22/FRnOG_22-1.pdfor OS...

Date post: 17-Mar-2018
Category:
Upload: vuquynh
View: 229 times
Download: 0 times
Share this document with a friend
26
V8.0 | ©6WIND 2013. All rights reserved. All brand names, trademarks and copyright information cited in this presentation shall remain the property of its registered owners. Utiliser l’Intel® DPDK – Communauté dpdk.org http://dpdk.org [email protected]
Transcript

V8.0 | ©6WIND 2013. All rights reserved. All brand names, trademarks and copyright information cited in this presentation shall remain the property of its registered owners.

Utiliser l’Intel® DPDK – Communauté dpdk.org

http://dpdk.org

[email protected]

V8.0 | 2©6WIND 2013

Introduction

Performances on Intel architecture

Technology Overview

Topics

V8.0 | 3©6WIND 2013

Network Traffic

Source: Cisco

(Worldwide data center IP traffic)

While Network Traffic Grows at 25% Annually….

V8.0 | 4©6WIND 2013

….CPU Performance Grows at only 14%

Annually….

CPU Performance

CPU performance

increases don’t sustain

network traffic growth

Network Traffic

V8.0 | 5©6WIND 2013

….And Virtualization Increases Traffic within

Appliances

Aggregate Traffic withinNetwork Appliances

Multiple VMs per appliance

CPU Performance

Network Traffic

The "Traffic Gap"

V8.0 | 6©6WIND 2013

Performance of Linux kernel

stack doesn't scale linearly with

number of cores

Packet processing within Linux

kernel can't close the network

traffic gap

Linux Networking Kernel Doesn't Meet

Scalability Needs

V8.0 | 7©6WIND 2013

Traffic Growth Limits Availability of CPU

Resources for Applications

Physical NICs

Physical NICs

vSwitch Stacks

VirtualNICs

Sockets

CPU Performance

VMs or Applications

Hypervisor or OS Stack

VMs or Applications

Hypervisor or OS Stack

VMs or Applications

Hypervisor or OS Stack

AdequateCompute

Bandwidth

LimitedCompute

Bandwidth

InsufficientCompute

Bandwidth

Aggregate Traffic

V8.0 | 8©6WIND 2013

Fast path Optimizes CPU Utilization

Hypervisor or OS Stack

Physical NICs

Physical NICs

vSwitch Stacks

VirtualNICs

Sockets

VMs or Applications

InsufficientCompute

Bandwidth

VMs or Applications

MaximumCompute

Bandwidth

Hypervisor or OS Stack

minimize CPU cycles used for

networking, maximizing CPU

resources available for VMs

or applications

Fast path-based networking stacks

• IP Forwarding, TCP, IPsec, firewall etc.

Standard Linux Networking StackStandard Linux accelerated by a fast

path technology

Accelerated Network I/O

Accelerated network I/O

• PCIe, mempool etc.

V8.0 | 9©6WIND 2013

Introduction

Performances on Intel architecture

Technology Overview

Topics

V8.0 | 10©6WIND 2013

Intel Crown Pass platform

Dual Ivy Bridge processors (each with 12 cores)

3.5GHz CPU speed

32GB RAM

22 x 10G interfaces (327Mpps)

Traffic generator

Up to 24 x 10Gbps interfaces using daisy chain

Up to 357 Mpps.

Ivy Bridge

Platform Description

V8.0 | 11©6WIND 2013

Fast path IP forwarding

performance

14.24 Mpps per core

24 Mpps per core with l2switch

Up to 313.31 Mpps with 22 cores

Performance scales linearly with

the number of cores configured to

run the fast path.

Performance is independent of

frame size.

IP Forwarding using http://dpdk.org

Test Results

V8.0 | 12©6WIND 2013

Fast path IP forwarding

performance

14.24 Mpps per core

24 Mpps per core with l2switch

Up to 313.31 Mpps with 22 cores

Performance scales linearly with

the number of cores configured to

run the fast path.

Performance is independent of

frame size.

IP Forwarding using http://dpdk.org

Test Results

V8.0 | 13©6WIND 2013

IPsec using http://dpdk.org

Test Platform

SPD/SAD lookup

decypherx n

SPD/SAD lookupcypher

x n

routelookup

x n

routelookup

x n IPv4 forwarding

IPsec

AES128-HMAC-SHA1 for all the measurements

3 measurements:

• Software crypto

• PCIe crypto using Intel Cave Creek

• PCIe crypto using Cavium Nitrox

V8.0 | 14©6WIND 2013

IPsec performance

5.39 Gbps per core for 1420B

packets

Up to 73.01 Gbps using 14 cores /

28 threads

Performance scales linearly with

the number of cores configured to

run the fast path

Software IPsec

Test Results

V8.0 | 15©6WIND 2013

IPsec performance using DPDK

AES-NI/AVX osftware crypto

1.81 Gbps per core for 64B packets

5.39 Gbps per core for 1420B

packets

Up to 73.01 Gbps using 14 cores /

28 threads

Performance scales linearly with

the number of cores configured to

run the fast path

Software IPsec

Test Results

V8.0 | 16©6WIND 2013

IPsec using Quick Assist DPDK

addon

3.52 Gbps per engine for 1420B

packets

Up to 40 Gbps (platform limit) using

16 engines

Performance scales linearly with

the number of engines configured

to process IPsec transformation

IPsec with PCIe Intel Cave Creek

Test Results

V8.0 | 17©6WIND 2013

IPsec using Quick Assist DPDK

addon

13.56 Gbps with 16 engines for 64B

packets

Up to 40 Gbps (platform limit) with

16 engines for 1420B packets

IPsec with PCIe Intel Cave Creek

Test Results

V8.0 | 18©6WIND 2013

IPsec performance using Cavium

Nitrox DPDK add-on

Up to 20.23 Gbps for 1420 bytes

IPsec with PCIe Cavium Nitrox

Test Results

V8.0 | 19©6WIND 2013

Accelerate packet processing in the hypervisor

Leverages PMDs for physical NICs

Accelerates virtual switching / routing thanks to the fast

path (OVS, V(x)LAN, (NV)GRE + other protocols)

Enables high performance communication with the VMs

using a vNIC PMD

Accelerate packet processing in the VMs

Enables high performance communication with the

virtual switch using a vNIC PMD

Supports vNIC netdevice if Intel® DPDK is not required

in the VM

Accelerates packet processing thanks to the fast path

(NFV, TCP)

In addition, communication with standard VMs using

standard vNICs

Using a fast path in a Virtual Environment:

Complete Solution

Hypervisor

Linux

NICs

Virtual Machine

Linux

vNIC netdev

IXGBEPMD

Virtual Machine

Linux

Standard vNIC

Standard vNIC

IGBPMD

MellanoxPMD

Other pNICPMD

vSwitch/vRouter

OVSacceleration

V(x)LAN(NV)GRE

IPsecFilteringOther FPprotocols

Virtual Machine

Linux vNIC PMD

Fast Path

vNIC PMD

Virtual Switch

VNFVNFApp

Standard pNIC

V8.0 | 20©6WIND 2013

OVS L2 switching performance

6.8 Mpps per core

Up to 67.8 Mpps using 10 cores (20

threads)

Performance scales linearly with

the number of cores configured to

run the fast path.

Performance is independent of

frame size.

OVS Acceleration: Performance

V8.0 | 21©6WIND 2013

Introduction

Performances on Intel architecture

Technology Overview

Topics

V8.0 | 22©6WIND 2013

Kernelslow path

ControlPlane

FastPath

Fast Path Architecture

?Localinfo

Localinfo

Fast path packet

Continuoussynchronization

Exception packet

Synchronizationmodule

DPDK

V8.0 | 23©6WIND 2013

Your Three Options for Obtaining Intel® DPDK

DPDK plus

Selected developed

enhancements

3. From 3rd parties• Maintained version

• Latest version of DPDK

• Feature and performance enhancements

• dpdk.org patches

• Full technical support and maintenance

• Optionally integrated with a fast path stack

Sync of

git tree

Open-Source

Community

Patches

2. From dpdk.org• Latest version of Intel DPDK

• Community patches

• Community support

• Some 6WIND-developed features

dpdk.orgSync of git tree

1. From Intel• As direct Intel customer

• Latest version of Intel® DPDK

• www.intel/com/go/dpdk

Baseline Intel®

DPDK Code

V8.0 | 24©6WIND 2013

Developed by 6WIND and available from

6WIND

Developed by 6WIND and available from

6WIND

Developed by 6WIND, available

from dpdk.org

Developed by 6WIND, available

from dpdk.org

6WIND's Enhancements on http://dpdk.org

librte

_e

al/ lin

ux

us

erla

nd

librte_ framework

librte

_m

em

po

ol

librte

_m

allo

c

librte

_rin

g

librte

_m

bu

f

librte_ether (rte_eth_dev_*() )

librte

_p

md

_e1

00

0

librte

_p

md

_ix

gb

e

librte

_p

md

_p

ca

p

librte

_p

md

_rin

g

librte

_p

md

_virtio

(1)

librte

_p

md

_m

lx4

.so

librte

_p

md

_virtio

.so

(1)

librte

_p

md

_vm

xn

et3

.so

librte

_p

md

_o

the

rs.s

o

librte

_tim

er

librte

_s

ch

ed

librte

_p

ow

er

librte

_c

md

line

librte_crypto

librte

_p

md

_q

uic

ka

ssis

t.so

librte

_p

md

_n

itrox

.so

librte

_p

md

_m

ultib

uffe

r.so

V8.0 | 25©6WIND 2013

Implement a fast path on http://dpdk.org

dpdk.org

librte

_e

al/ lin

ux

us

erla

nd

librte_ framework

librte

_m

em

po

ol

librte

_m

allo

c

librte

_rin

g

librte

_m

bu

f

librte_ether (rte_eth_dev_*() )

librte

_p

md

_e1

00

0

librte

_p

md

_ix

gb

e

librte

_p

md

_p

ca

p

librte

_p

md

_rin

g

librte

_p

md

_virtio

(1)

librte

_p

md

_m

lx4

.so

librte

_p

md

_virtio

.so

(1)

librte

_p

md

_vm

xn

et3

.so

librte

_p

md

_C

ON

FID

.so

librte

_tim

er

librte

_s

ch

ed

librte

_p

ow

er

librte

_c

md

line

librte_crypto

librte

_p

md

_q

uic

ka

ssis

t.so

librte

_p

md

_n

itrox

.so

librte

_p

md

_m

ultib

uffe

r.so

Fast Path

IPv4 / IPv6 Filtering

MPLS / VPLS Encapsulation

NAT IPsec SVTIOpen vSwitch

(OVS) AccelerationExtended Fast

Path (1CP + xFP)

QoSIPv4 / IPv6 Multicast

IP Reassembly GTP-UL2TP, PPPoE

BRASTCP / UDP

Termination

IPv4 / IPv6 Forwarding

IPsec IPv4 / IPv6 VLAN GREEthernet Bridging,

LAGFlow Inspection

(BPF)

RX/TX plug-ins (load balancers, QoS, custom modules)

rte_mbuf fast path buf rte_timers timers DPVI fpu RPC

V8.0 | 26©6WIND 2013

fast path =

Intel® DPDK from http://dpdk.org

+ a software stack

Turbo boost your Linux, your vSwitch, your networking solutions

MERCI


Recommended