DPDK summit 2015: It's kind of fun to do the impossible with DPDK

33
1 Copyright©2015 NTT corp. All Rights Reserved. It's kind of fun to do the impossible with DPDK Yoshihiro Nakajima, Hirokazu Takahashi, Kunihiro Ishiguro, Koji Yamazaki NTT Labs

Transcript of DPDK summit 2015: It's kind of fun to do the impossible with DPDK

Page 1: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

1Copyright©2015 NTT corp. All Rights Reserved.

It's kind of fun to do the impossible with DPDK

Yoshihiro Nakajima, Hirokazu Takahashi, Kunihiro Ishiguro, Koji Yamazaki NTT Labs

Page 2: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

2Copyright©2015 NTT corp. All Rights Reserved.

Agenda

Motivation for fun Fun with Lagopus SDN switch Fun with speed

Smart FPGA for software dataplane Fun with experience

SDN IX @ Interop Tokyo 2015 ShowNet

Page 3: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

3Copyright©2015 NTT corp. All Rights Reserved.

Motivation for fun

Trend

Page 4: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

4Copyright©2015 NTT corp. All Rights Reserved.

Trend shift in networking

Closed (Vender lock-in)

Yearly dev cycle

Waterfall dev

Standardization

Protocol

Special purpose HW / appliance

Distributed cntrl

Custom ASIC / FPGA

Wired logic dataplane

Open (lock-in free)

Monthly dev cycle

Agile dev

DE fact standard

API

Commodity HW/ Server

Logically centralized cntrl

Merchant Chip

Software dataplane

Page 5: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

5Copyright©2015 NTT corp. All Rights Reserved.

5

Evaluate the benefits of SDN by implementing control plane and switch

for fun

Page 6: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

6Copyright©2015 NTT corp. All Rights Reserved.

Lagopus SDN switch project

Page 7: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

7Copyright©2015 NTT corp. All Rights Reserved.

Goal of Lagopus project

Provide NFV/SDN-aware switch frameworkSDN switch agent (OpenFlow, REST)100Gbps high-performance soft dataplaneFlexible/extensible switch configuration datastoreDPDK extension (library, FPGA NIC, vNIC)Cloud middleware integration

Expand software-based packet processing to carrier networksHardware acceleration and processing offload for scalable software

dataplane

Page 8: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

8Copyright©2015 NTT corp. All Rights Reserved.

High-performance SDN/OF software switch40-Gbps packet processing throughput / portMega-class flow entries supportLow-latency and wire-rate speed in smaller packet size

Expands SDN to WAN, GW and NFVMultiple frame format support

• MPLS, PBB, MACinMAC, IPv4, IPv6Hybrid SDN support

• REST API, OpenFlow 1.3, OVSDB, NETCONF• Legacy protocol support

vSwtich for hypervisor, container virtualization

Target

Page 9: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

9Copyright©2015 NTT corp. All Rights Reserved.

Lagopus vSwitch

switch configuration datastore(config/stats API, SW DSL)

FPGA NIC DPDK NIC

DPDK libs/PMD driver

Lagopus soft dataplane

flow lookup flow cache

OpenFlow pipeline

queue/policer

Flow tableFlow table

flow tableFlow table

Flow tableGrouptable

Flow tableFlow tablemetertable

switch HAL

OpenFlow 1.3 agent

JSON IF

SNMP

CLI

OVSDB

NETCONF

L2 bridge

L3 (IPv4 ICM

P)

SDN switch Agent• Full OpenFlow 1.3.4 support• Controller-less basic L2 and

L3 support

SDN-aware management API• OVSDB, REST• Ansible support

DPDK-enabled soft dataplane•Over-10-Gbps performance•Low latency packet processing•high performance multi-layer flow lookup

DPDK-enabled vNIC for NFV (virtq-pmd)

Switch configuration datastore• Pub/sub mechanism• Switch config DSL• JSON IF support

Soft-dataplane aware FPGA NIC

Page 10: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

10Copyright©2015 NTT corp. All Rights Reserved.

Fun with speed

• Performance Improvement• Smart FPGA NIC for software dataplane(collaboration with Xilinx)

Page 11: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

11Copyright©2015 NTT corp. All Rights Reserved.

Performance Improvement

Page 12: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

12Copyright©2015 NTT corp. All Rights Reserved.

Basic packet processing

Network I/O RX

packet

Frame processing

Flow lookup &Action

QoS ・ Queue

Network I/OTX

Packet classification &packet distribution to buffers

Packet parsing

lookup, Header rewriteEncap/decap

Policer, ShaperMarking

packet

Page 13: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

13Copyright©2015 NTT corp. All Rights Reserved.

What we did for performance

Network I/O RX

packet

Frame processing

Flow lookup &Action

QoS ・ Queue

Network I/OTX

packet

• Delayed packet frame evaluation

• Delayed action (processing) evaluation

• Packet batching to improve CPU $ efficiency

• Delayed flow stats evaluation

• Smart flow classification• Thread assignment optimization

• Parallel flow lookup• Lookup tree compaction• High-performance lookup

algorithm for OpenFlow(multi-layer, mask, priority-aware flow lookup)

• Flow $ mechanism

• Batch size tuning

Page 14: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

14Copyright©2015 NTT corp. All Rights Reserved.

Road to 10Gbps packet processing with 1M OpenFlow flow entries

2013 Q2 2013 Q3 2013 Q4 2014 Q1 2014 Q202468

101214

DPDK-powered I/O Lookup performance

MPP

S

Project startpoint

OF lookup improved

Lookup optimization

Flow $ and Lookup

optimizationwith 12 CPU

cores

Packet processing optimization

with 4 CPU cores

Page 15: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

15Copyright©2015 NTT corp. All Rights Reserved.

Big change from Y2013

NowBefore project

10Gpbs by software

dataplane? Impossible!!

Software dataplane becomes great performance.

We try vSwitch for our usecases.

Page 16: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

16Copyright©2015 NTT corp. All Rights Reserved.

Smart FPGA NIC forsoftware dataplane

Page 17: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

17Copyright©2015 NTT corp. All Rights Reserved.

Motivation Network I/O is not optimized for multi-core CPU

Std NIC does not support RSS for WAN protocol Software-based processing are heavy

Packet classifier Packet dispatcher are heavyQoS and needs lots of CPU cycles

NIC 1RX

NIC 2RX

I/O RX

I/O RX

NIC 1TX

NIC 2TX

I/O TX

I/O TX

Flow lookuppacket processing

Flow lookuppacket processing

Flow lookuppacket processing

Flow lookuppacket processing

NIC 3RX

NIC 4RX

NIC 3TX

NIC 4TX

NIC RX bufferRing buffer

Ring buffer NIC TX buffer

Bottleneck for Multi-core CPU QoSCompact flow

lookup tree

Multiple network I/O for multi CORE CPU

Page 18: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

18Copyright©2015 NTT corp. All Rights Reserved.

Leverage hardware offload processing of smart FPGA NIC Flexible hardware-based packet classifier & dispatcherHardware-based packet marking for post-packet-processing

Optimized to multi-core CPUEfficient packet processing for multi-thread

Co-design approach for performance

Performance

Flexiblity Availability

SDN hardware switch

+HW offloadAdvance features leveraging HW

High-relibility,

High-performance with HW

Page 19: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

19Copyright©2015 NTT corp. All Rights Reserved.

FPGA Flow Classification & Dispatch

FPGA

・・・DMA transfter

DST DST DST

RAM3

RAM2

RAM1

RAMN

RAM5

RAM4

#1 #2 #3 #4 #5 #N

Cores

Wor

kloa

d

#1 #2 #3 #4 #5 #N

Cores

Wor

kloa

d

Ingress traffic (RX)

Classifier (SDNet)

Multi-coreProcessor(Xeon®E5)

Processor RX workloadw/o smart FPGA NIC

w/ smart FPGA NIC

32 channelsRX DMA

Flow Dispatcher

Dispatcher

Classifier Xilinx Virtex®-7(XC7VX690T)

Page 20: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

20Copyright©2015 NTT corp. All Rights Reserved.

Lagopus software data-plane• Hash, cache search and match are omitted• Increase network I/O performance

Front-end hardware-based packet classification and packet dispatcherReconfigurable packet filter for dynamic load balance for worker

threadDPDK flow director API compatible

FPGA NIC and soft dataplane

RX

Disp

TX

TX threadRX thread

Headerparsing

Hashcalc

Cachesearch

Match

Action

Init

OpenFlow worker thread

For 32 queues

Hardware classification & dispatch on FPGA NIC• Reprogrammable filters in look-up table• Configured by DPDK flow director API

VLAN 1

VLAN 2

VLAN 3・・・・・

VLAN 32

Q1

Q2

Q3・・・・・Q32

Result (QID)Perfect match filter (ex. VLAN-ID)

Filte

r ent

ries

Filters

For 32 queues

Page 21: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

21Copyright©2015 NTT corp. All Rights Reserved.

Improved performance with Smart FPGA NIC

ETH/VLAN/IPV4, 1 Flow, Intel Xeon® E5-2680 v2 (Ivy Bridge-EP)@ 2.8GHz, 10C/20T, Xilinx FPGA NIC, DPDK-1.7.1

0 200 400 600 800 1000 1200 1400 16000.00

5.00

10.00

15.00

20.00

25.00

30.00

35.00

40.00

40G Line Rate 4 cores only, Flow Director=OFF4 cores + FPGA, Flow Director=ON 8 cores + FPGA, Flow Director=ON

Frame Size (Bytes)

Thro

ughp

ut (G

pbs)

4 cores: RX(1C), Worker(2C), TX(1C)8 cores: RX(2C), Worker(5C), TX(1C)

40Gbps wire-speedfrom 384 Bytes

Page 22: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

22Copyright©2015 NTT corp. All Rights Reserved.

Summery

Small extension of NIC give great benefit for software dataplanePerformance improvementSave CPU cycle for important processingSave CPU cores for the same processing with standard NIC

Page 23: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

23Copyright©2015 NTT corp. All Rights Reserved.

Fun with experience

SDN IX

Page 24: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

24Copyright©2015 NTT corp. All Rights Reserved.

SDN IX @ Interop Tokyo 2015 ShowNet

Interop Tokyo is the biggest Internet-related technology show in Japan.This trial was collaboration with NECOMA project (NAIST & University of Tokyo)

Page 25: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

25Copyright©2015 NTT corp. All Rights Reserved.

Motivation

IX (Internet eXchange)Packet exchange point between ISP and DC-SPBoarder router of ISP exchanges route information

IssueEnhance automation in provisioning and configurationDDoS attack is one of the most critical issues

• ISP wants to reduce DDoS-related traffic in origin• DDoS traffic occupies link bandwidth

IX

ISP-CISP A ISP-DISP B

SW

SWSW

SW

ISP-EISP F

IX

ISP-CISP A ISP-DISP B

SW

SWSW

SW

ISP-EISP F

Page 26: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

26Copyright©2015 NTT corp. All Rights Reserved.

What is SDN IX?

Next generation IX with SDN technology Web portal-based path provisioning between ISPs

• Inter-AS L2 connectivity– VLAN-based path provisioning– Private peer provisioning

Protect network from DDoS attack• On-demand 5-tuple-baesd packet filtering

SDN IX controller and distributed SDN/OpenFlow IX core switch

Developed by NECOMA project (NAIST and University of Tokyo)

ISP-CISP A ISP-DISP B

ISP-EISP F

ISP-CISP A ISP-DISP B

SW

SWSW

SW

ISP-EISP F

Page 27: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

27Copyright©2015 NTT corp. All Rights Reserved.

Lagopus @ ShowNet 2015 Two Lagopus (soft switch) are

deployed for SDN-IX core switchMultiple 10Gbps linksDual Xeon E5 8core CPUs

Page 28: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

28Copyright©2015 NTT corp. All Rights Reserved.

Lagopus @ ShowNet rack

Page 29: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

29Copyright©2015 NTT corp. All Rights Reserved.

Path provisioning

Router Router

AS290AS131154

DIX-IEJPIXISP

Router

10G-LR

lagopus-1(DPID:2)

OFS(DPID:1)

IXJGNX

lagopus-2(DPID:4)

OFS(DPID:3)

xg-89:0.1(port 4)

xg-83:0.0(port 1)

xg-89:00.0(port 3)xg-83:00.1

(port 2)

xg-83:0.0(port 1)

xg-83:0.1(port 2)

xg-89:0.0(port 3)

xg-1-0-49(port 49)

xg-1-0-51(port 51)

xg-1-0-52(port 52) xg-1-0-50

(port 50)

xg-1-0-49(port 49)

xg-1-0-50(port 50)

xg-1-0-51(port 51)

OtemachiMakuhari(Interop Veneue)

Page 30: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

30Copyright©2015 NTT corp. All Rights Reserved.

Average 2Gbps throughputNo packet dropNo reboot & no trouble for 1 week during Interop TokyoSometimes 10Gbps burst traffic

Traffic on Lagopus @Makuhari

Page 31: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

31Copyright©2015 NTT corp. All Rights Reserved.

Big change happened

Before After

vSwitch has

lots of issues on performance,

scalability, stability, …..

vSwitch works well without any trouble!

Good performance,Good stability.

Page 32: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

32Copyright©2015 NTT corp. All Rights Reserved.

It's kind of fun to do the impossible with DPDKEnjoy hacking with DPDK for your networking!Performance optimization is fun

Lagopus project commit to high-performance vswitch development for fun We still have lots of issues for fun

• Lookup optimization, performance improvement, …. Changing one’s mind is great fun

Real experience change their mind

Conclusion

Page 33: DPDK summit 2015: It's kind of fun  to do the impossible with DPDK

33Copyright©2015 NTT corp. All Rights Reserved.

Lagopus demonstrationvSwitch performance benchmark

• Haswell-EP and Fortville• Carrier usecase

MPLS-based segment routing (source routing) and NFV integration

https://github.com/lagopus/vSwitch, DPDK extension, and more…

Visit our booth #172 in IDF15SFO