Upload
ghodhbane-mohamed-amine
View
180
Download
2
Tags:
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:
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
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]