It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN...

33
0 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 It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN...

Page 1: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

0 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

Page 2: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

1 Copyright©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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

2 Copyright©2015 NTT corp. All Rights Reserved.

Motivation for fun

Trend

Page 4: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

3 Copyright©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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

4 Copyright©2015 NTT corp. All Rights Reserved.

4

Evaluate the benefits of SDN by implementing control plane and switch

for fun

Page 6: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

5 Copyright©2015 NTT corp. All Rights Reserved.

Lagopus SDN switch project

Page 7: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

6 Copyright©2015 NTT corp. All Rights Reserved.

Goal of Lagopus project

Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible switch configuration datastore DPDK extension (library, FPGA NIC, vNIC) Cloud middleware integration

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

dataplane

Page 8: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

7 Copyright©2015 NTT corp. All Rights Reserved.

High-performance SDN/OF software switch 40-Gbps packet processing throughput / port Mega-class flow entries support Low-latency and wire-rate speed in smaller packet size

Expands SDN to WAN, GW and NFV Multiple frame format support

• MPLS, PBB, MACinMAC, IPv4, IPv6 Hybrid SDN support

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

vSwtich for hypervisor, container virtualization

Target

Page 9: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

8 Copyright©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 table Flow table

flow table Flow table

Flow table Group table

Flow table Flow table meter table

switch HAL

OpenFlow

1.3 agent

JSON IF

SNM

P

CLI

OV

SDB

NET

CO

NF

L2 bridge

L3 (IPv4 IC

MP)

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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

9 Copyright©2015 NTT corp. All Rights Reserved.

Fun with speed

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

Page 11: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

10 Copyright©2015 NTT corp. All Rights Reserved.

Performance Improvement

Page 12: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

11 Copyright©2015 NTT corp. All Rights Reserved.

Basic packet processing

Network I/O RX

packet

Frame processing

Flow lookup & Action

QoS・Queue

Network I/O TX

Packet classification & packet distribution to buffers

Packet parsing

lookup, Header rewrite Encap/decap

Policer, Shaper Marking

packet

Page 13: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

12 Copyright©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/O TX

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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

13 Copyright©2015 NTT corp. All Rights Reserved.

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

02468

101214

2013 Q2 2013 Q3 2013 Q4 2014 Q1 2014 Q2

MPP

S

DPDK-powered I/O Lookup performance

Project start point

OF lookup improved

Lookup optimization

Flow $ and Lookup optimization

with 12 CPU cores

Packet processing optimization

with 4 CPU cores

Page 15: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

14 Copyright©2015 NTT corp. All Rights Reserved.

Big change from Y2013

Now Before project

10Gpbs by software

dataplane? Impossible!!

Software dataplane becomes great performance.

We try vSwitch for our usecases.

Page 16: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

15 Copyright©2015 NTT corp. All Rights Reserved.

Smart FPGA NIC for software dataplane

Page 17: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

16 Copyright©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 heavy QoS and needs lots of CPU cycles

NIC 1 RX

NIC 2 RX

I/O RX

I/O RX

NIC 1 TX

NIC 2 TX

I/O TX

I/O TX

Flow lookup packet processing

Flow lookup packet processing

Flow lookup packet processing

Flow lookup packet processing

NIC 3 RX

NIC 4 RX

NIC 3 TX

NIC 4 TX

NIC RX buffer

Ring buffer

Ring buffer NIC TX buffer

Bottleneck for Multi-core CPU QoS

Compact flow lookup tree

Multiple network I/O for multi CORE CPU

Page 18: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

17 Copyright©2015 NTT corp. All Rights Reserved.

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

Optimized to multi-core CPU Efficient packet processing for multi-thread

Co-design approach for performance

Performance

Flexiblity Availability

SDN hardware switch

+HW offload

Advance features leveraging HW

High-relibility,

High-performance with HW

Page 19: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

18 Copyright©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-core Processor (Xeon®E5)

Processor RX workload w/o smart FPGA NIC

w/ smart FPGA NIC

32 channels RX DMA

Flow Dispatcher

Dispatcher

Classifier Xilinx Virtex®-7 (XC7VX690T)

Page 20: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

19 Copyright©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 dispatcher Reconfigurable packet filter for dynamic load balance for worker thread DPDK flow director API compatible

FPGA NIC and soft dataplane

RX

Disp

TX

TX thread RX thread

Header parsing

Hash calc

Cache search

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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

20 Copyright©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.00

5.00

10.00

15.00

20.00

25.00

30.00

35.00

40.00

0 500 1000 1500 2000

Thro

ughp

ut (G

pbs)

Frame Size (Bytes)

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

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

40Gbps wire-speed from 384 Bytes

Page 22: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

21 Copyright©2015 NTT corp. All Rights Reserved.

Summery

Small extension of NIC give great benefit for software dataplane Performance improvement Save CPU cycle for important processing Save CPU cores for the same processing with standard NIC

Page 23: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

22 Copyright©2015 NTT corp. All Rights Reserved.

Fun with experience

SDN IX

Page 24: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

23 Copyright©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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

24 Copyright©2015 NTT corp. All Rights Reserved.

Motivation

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

Issue Enhance automation in provisioning and configuration DDoS attack is one of the most critical issues

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

IX

ISP-C ISP A ISP-D ISP B

SW

SW SW

SW

ISP-E ISP F

IX

ISP-C ISP A ISP-D ISP B

SW

SW SW

SW

ISP-E ISP F

Page 26: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

25 Copyright©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-C ISP A ISP-D ISP B

ISP-E ISP F

ISP-C ISP A ISP-D ISP B

SW

SW SW

SW

ISP-E ISP F

Page 27: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

26 Copyright©2015 NTT corp. All Rights Reserved.

Lagopus @ ShowNet 2015

Two Lagopus (soft switch) are deployed for SDN-IX core switch Multiple 10Gbps links Dual Xeon E5 8core CPUs

Page 28: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

27 Copyright©2015 NTT corp. All Rights Reserved.

Lagopus @ ShowNet rack

Page 29: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

28 Copyright©2015 NTT corp. All Rights Reserved.

Path provisioning

Router Router

AS290 AS131154

DIX-IE JPIX ISP

Router

10G-LR

lagopus-1 (DPID:2)

OFS (DPID:1)

IX JGNX

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)

Otemachi Makuhari (Interop Veneue)

Page 30: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

29 Copyright©2015 NTT corp. All Rights Reserved.

Average 2Gbps throughput No packet drop No reboot & no trouble for 1 week during Interop Tokyo Sometimes 10Gbps burst traffic

Traffic on Lagopus @Makuhari

Page 31: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

30 Copyright©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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

31 Copyright©2015 NTT corp. All Rights Reserved.

It's kind of fun to do the impossible with DPDK Enjoy 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: It's kind of fun to do the impossible with DPDK · Provide NFV/SDN-aware switch framework SDN switch agent (OpenFlow, REST) 100Gbps high-performance soft dataplane Flexible/extensible

32 Copyright©2015 NTT corp. All Rights Reserved.

Lagopus demonstration vSwitch 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