30
Bob Monkman, Networking Segment Marketing Manager, ARM Bill Fischofer, Senior Software Engineer, Linaro Networking Group Learn more about the tremendous value Open Data Plane brings to NFV Moderator: Brandon Lewis, OpenSystems Media Speakers:

Learn more about the tremendous value Open Data Plane brings to NFV

Embed Size (px)

Citation preview

Bob Monkman, Networking Segment Marketing Manager, ARM

Bill Fischofer, Senior Software Engineer, Linaro Networking Group

Learn more about the tremendous value

Open Data Plane brings to NFV

Moderator:

Brandon Lewis, OpenSystems Media

Speakers:

Agenda

Housekeeping

Presentation

Questions and Answers

Wrap-up

3

OpenDataPlaneAn emerging standard for common application

interfaces to the networking data plane

4

High level view of OpenDataPlane and why the project is needed

Technical view, what are the APIs and how are they used?

Transitioning Interfaces in Next Generation Applications

ODP in Network Function Virtualization

Future plans, and how to get involved…

Wrap

Overview

5

What is OpenDataPlane?

ODP is an open source, cross-platform framework for data plane

applications, interfacing to multi-vendor, multi-core networking SoCs

ODP delivers a common API for application portability across these SoCs

One API layer, multiple implementations… tuned to each supplier’s unique

platform, for maximum leverage, performance and scalability

Result: Easy application portability and optimized performance

Application Environment

Data Plane applications typically run in Linux user space, with essentially

zero system overhead

But ODP can be extended to a number of other environments , for

hardware abstraction and software portability…i.e. bare metal, virtualized

etc.

OpenDataPlane Overview

6

Application View

OpenDataPlane: One API, Two Perspectives

SoCVendor View

Application

Platform A Platform B Platform C

ODP API

Run on any Platform

Application A Application B Application C

ODP API

SoC Platform

Compete for any Socket

7

OpenDataPlane(ODP).org original charter contributors…

Additional companies joining LNG or otherwise participating in

some form in ODP discussions and/or implementations

Shared design, influence, governance…

8

Requirements we viewed as essential… Technical Requirements

Hardware abstraction without diminishing innovation◦ Leverage accelerators and optimized SDKs

Event based programming model abstraction for handling I/O and offload capabilities

Ability to map APIs efficiently to various HW offload and acceleration capabilities

Abstract APIs that reflect application use models, not implementation details

Supports different I/O and event scheduling approaches

Demonstrated cross-platform support for multiple architectures, approaches and device implementations

Rich set of primitives useful for the data plane

9

Example Vendor-Optimized Networking SDKsVendor Run Time Environment Hardware

Designed for*

Year of

introduction

Broadcom HyperExec, NetOS XLR/XLS/XLP 2004

Cavium Simple Executive OCTEON 2005

Freescale Light Weight Executive

(LWE), USDPAA

QorIQ/DPAA 2009

Intel DPDK X86+Intel NIC 2009

Tilera Zero-Overhead Linux (ZOL),

Bare Metal

Environment(BME), Netlib

Tile64/TilePro/Tile-

GX

2007

*All were designed and highly optimized for the specific vendor’s silicon they were intended for…Since then, these have evolved and been carried forward in some form, many to ARM-based SoCs. 6WIND published DPDK source code in April 2013 on dpdk.org

10

Open Data Plane API

Standardized data plane API to enable networking

applications across most any silicon on any

architecture

Open support for ARM, x86, MIPS & Power

Architectures!

Structured to enable future innovation

Lightweight abstraction preserves performance without

prescribing lower –level processing structure

Access and management of HW accelerators

Supports optional schedulers to provision easy management

and traffic load balancing

Vendor run-time environments sit underneath to

preserve vendor optimizations

ODP embraces and extends existing, vendor-optimized RTEs, enabling an

efficient, truly cross-platform standardized data plane programming interface

Application and

services

portability

across a choice

of hardware

platforms

11

ODP Cross-Platform Implementation View

ODP

App

Intel Architecture

SoC A

(ARM v7/v8)

ODP

Implementation

for SoC A*

SoC B(MIPS)

SoC C(Power)

ODP

application

layer

ODP API

Layer

ODP port to

different

SoC/HW

architecture

ODP

Implementation

for Intel

(ODP-DPDK

over DPDK)

ODP

Implementation

for SoC B*

ODP

Implementation

for SoC C*

* may be implemented with use of a vendor SDK

ODP

App

ODP

AppODP

App

12

Data-plane/Packet processing an ideal fit to many ‘small’ cores

Paradigm relevant to other problems in networking and beyond

Exploit packet level parallelism for maximum Throughput/W and

Throughput/mm2

Critical to have a programming model that scales

Move basic building blocks (for example, queues to communicate

between threads) behind the API

Strong separation of API and implementation

Don’t have to reinvent the wheel for each and every application

Use the best implementation for that platform, and optimize it once

Why ODP? Scalability Support for many-core

13

Significant value of ARM networking ecosystem is the differentiated IP

developed by ARM’s partners

Traffic manager

Work scheduler

Baseband, cryptography

Differentiation necessary to support the diverse requirements

Low latency, high throughput, QoS

Need a programming model that supports partner accelerators and

enables them to be used by software

Why ODP? Support for Accelerators

14

API Group Use

Buffers Fixed-sized storage blocks for application use

ClassificationParses and assigns incoming packets to Classes-of-Service

(CoS) according to Pattern Matching Rules (PMRs)

CryptoAlgorithmic offload and acceleration for

encryption/decryption of packet and buffer data

EventsProvide notification of packet arrival, buffered communication,

timeouts, and completions

PacketsManipulation, processing of Ethernet frames and their

contents

ODP v1.0 API Groups

15

API Group Use

PktIO Abstracts logical Input/Output ports for RX/TX processing

Pools Storage management for buffers, packets, timers, and events

Queues Channels that store and deliver events

SchedulerHandles sequencing and scale-out of event processing to

available application threads

Shared

Memory

Abstracts bulk memory allocation for ODP internal and

application use

ODP v1.0 API Groups

16

API Group Use

Synchronizers Atomic operations needed for mulitprocessing

Threads Units of parallel execution

Timers Single-shot and periodic notifications of passage of time

ODP v1.0 API Groups

17

IPSec Gateway – Lifetime of a packet

Verify

IPSec

IN

Classify

Route

Look

up

IPSec

OUT

Classify

IPSec

OUT

Seq

IPSec

OUT

Finish

IPSec

OUT

Xmit

Crypto

IPSec

IN

Finish

ATO

MIC

Crypto

TX

RX

OR

DER

ED

OR

DER

ED

Only one core can assign a sequence number at the same time (mutual exclusion)

OK for crypto of

multiple packets

in parallel, so

long as order is

maintained

For a synchronous crypto accelerator, queueing is optional

CPU

Work

Accel

Work

QU

EU

E

KEY:

18

IPSec Gateway - Implementation

while(1) {

odp_schedule()

process work

odp_queue_enq()

}

Scheduler

while(1) {

odp_schedule()

process work

odp_queue_enq()

}

ORDERED

QUEUEATOMIC

QUEUE

Crypto

Accel

TX

TX

QUEUE

QUEUE

QUEUE

RX

RX

Completion event of asynchronous accelerator

Enqueue next component of application work

Thread 0

Thread N

19

ODP Project History - 1 of 2

Date Tags Major Features

4Q13 odp-0.1 Initial preview release

2Q14 odp-0.2 Development checkpoint

4Q14 v0.3.0 – v0.6.0 CUnit test framework, new

packet/buffer APIs, classification

APIs.

20

ODP Project History - 2 of 2

Date Tags Major Features

1Q15 v0.7.0 – v0.11.0 Timer APIs, loopback, events,

strong typing, normalization of

error handling.

March

2015

v1.0.0 Functionally complete, stable APIs.

Suitable for evaluation and

application development.

4Q15 TBD Select new APIs (e.g., Egress

traffic shaping). Fully tuned and

suitable for production

application deployment.

21

There will naturally be a migration required to future proof

applications moving forward, but the rewards are compelling

Gain access to the full power of underlying software & hardware layers

Enable instant access to a growing choice of optimized ODP

implementations

The ODP project team is laying the groundwork to make this easier

Many member and non-member companies have developed ODP

implementations already layered on top of their existing SDKs

ODP maintains an optimized, low-overheard integration on top of DPDK

Implementation and migration documentation under development for

other cases

Transitioning Interfaces to Next Gen Applications

22

Developer options to future-proof applications

ODP on vendor-optimized platform provides unique (best) value & portability

SoC vendor provides the optimized ODP implementation

Enable better abstraction of underlying SW/HW

New Apps- use new ODP APIs direct

Legacy Apps (legacy interfaces)

Migrate legacy HW interfaces to use ODP equivalent in order to:

Enable instant access to a growing choice of optimized ODP implementations

Future-Proof

Application

Legacy

Interface

Application

ODP Optimized

Implementation

Vendor

Optimized

SDK

ODP API

Vendor API

23

Developer options to future-proof applications:

DPDK Specific Example

ODP Optimized Implementation

Linaro maintains thin integration

Could be extended for greater capability:

◦ E.g. Add HW acceleration integration via ODP APIs

New Apps- use new ODP APIs direct

Legacy Apps (legacy interfaces)

Migrate legacy HW interfaces to use ODP equivalent in order to:

Broaden abstraction of HW acceleration

Enable instant access to a growing choice of optimized ODP implementations

Future-Proof

Application

Legacy

DPDK

Application

ODP-DPDK (Linaro : Thin Layer)

DPDK

Implementation

ODP API

DPDK API

24

ODP supports the NFV goals for portability and scalability

The ODP stakeholders have been active in both ETSI NFV ISG and

OPNFV.org

ODP recognized as a key upstream project for realizing the NFV vision

ODP PoCs demonstrating ODP viability in NFV architecture.

ARM is actively driving, with other ODP stakeholders, approaches in

the DPacc OPNFV project focused on data-plane acceleration

ODP will demonstrate definitively its value in the implementation phase

The Virtual Switch Performance Characterization project will be another

area for ODP to showcase capability, in the near term

ODP and Network Function Virtualization

25

Planning activity is ongoing at LNG, but some highlights

Performance Characterization/Optimization Continued developed of Use case proof points (PoCs)

Developer feedback

ODP-DPDK optimization◦ Migration path that will leverage accelerators & I/O capabilities of

SoCs

Potential new APIs HW Statistics

Egress Scheduling

OPNFV could drive new requirements DPacc looking how Virtual Network Functions can access platform

acceleration consistently from within virtualization constructs

Future plans for ODP

26

Visit opendataplane.org for information

Join the ODP mailing list: [email protected]

Participate in ODP project calls and meetings

• Weekly call held Tuesdays at 15:00 UTC

• Go to uberconference.com/opendataplane

Contribute Code/Tests/Documents/Bug Reports, etc.

Getting Involved

27

ODP is the most promising way forward to a broad, consensus

interface to data plane hardware

ODP delivers application portability while leveraging maximum

optimization and supporting superior scaling of many-core designs

OpenDataPlane.org is the only upstream project where SoC vendors

are able to work together with OEMs and ISVs, on equal footing, with a

vote, to agree the best solution

OPNFV is a promising forum for advising the project, testing use cases

ODP 1.0 is just the tip of the iceberg…Go to www.opendataplane.org

and join us to realize the full potential!!

Summary/Wrap

28

Thank You

For more information, visit:

Audience Q & A

Bob Monkman,

Networking Segment Marketing Manager,

ARM

Bill Fischofer,

Senior Software Engineer,

Linaro Networking Group

Thanks for joining us

Event archive available at:

http://ecast.opensystemsmedia.com/

E-mail us at: [email protected]