Learn more about the tremendous value Open Data Plane brings to NFV
Bob Monkman, Networking Segment Marketing Manager, ARM
Bill Fischofer, Senior Software Engineer, Linaro Networking Group
Moderator:
Brandon Lewis, OpenSystems Media
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Learn more about the tremendous value Open Data Plane brings to NFV
1. 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. 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 FunctionVirtualization
Future plans, and how to get involved…
Wrap
Overview
5. 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. 6
ApplicationView
OpenDataPlane: One API,Two Perspectives
SoCVendorView
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. 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. 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. 9
ExampleVendor-Optimized Networking SDKs
Vendor RunTime 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. 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. 11
ODP Cross-Platform ImplementationView
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
App
ODP
App
12. 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. 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. 14
API Group Use
Buffers Fixed-sized storage blocks for application use
Classification
Parses and assigns incoming packets to Classes-of-Service
(CoS) according to Pattern Matching Rules (PMRs)
Crypto
Algorithmic offload and acceleration for
encryption/decryption of packet and buffer data
Events
Provide notification of packet arrival, buffered communication,
timeouts, and completions
Packets
Manipulation, processing of Ethernet frames and their
contents
ODP v1.0 API Groups
15. 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
Scheduler
Handles 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. 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. 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
ATOMIC
Crypto
TX
RX
ORDERED
ORDERED
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
QUEUE
KEY:
18. 18
IPSec Gateway - Implementation
while(1) {
odp_schedule()
process work
…
odp_queue_enq()
}
Scheduler
while(1) {
odp_schedule()
process work
…
odp_queue_enq()
}
ORDERED
QUEUE
ATOMIC
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. 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. 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. 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. 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. 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. 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
TheVirtual Switch Performance Characterization project will be another
area for ODP to showcase capability, in the near term
ODP and Network FunctionVirtualization
25. 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 howVirtual Network Functions can access platform
acceleration consistently from within virtualization constructs
Future plans for ODP
26. 26
Visit opendataplane.org for information
Join the ODP mailing list: lng-odp@lists.linaro.org
Participate in ODP project calls and meetings
• Weekly call heldTuesdays at 15:00 UTC
• Go to uberconference.com/opendataplane
Contribute Code/Tests/Documents/Bug Reports, etc.
Getting Involved
27. 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