SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Here Now - an Open Source Project Near
You
The Linaro LNG Open Data Plane Initiative
Mike Christofferson, Enea
In conjunction with Ola Liljedahl, Arm
FOUNDED
1968
TEN OFFICES
IN NORTH
AMERICA,
EUROPE AND
ASIA
REVENUE
~70 M
USD
NO. OF
EMPLOYEES
426
 Increasing data traffic in communication devices
require new and innovative software solutions to
handle bandwidth, performance, and power
requirements, as well as scalable systems
management and availability solutions
 A robust product portfolio
 Enea operating systems software is heavily
used in wireless Infrastructure (Macro, small
cell), gateway, etc. Enea Solutions run in
more than 50% of the world’s 8.2M radio
base stations.
 Enea provides a commercial Linux
distribution, built by Yocto, with focus on real-
time
 Proven, mature middleware solutions for over
10 years – High Availability, Systems
Management, and real-time database
 Global presence, global development, and
headquartered in Stockholm, Sweden
Enea - Powering Distributed, Connected Systems
0
20
40
60
80
100
120
140
160
1995 2000 2005 2010 2015 2020 2025 2030
• Super-linear growth in:
– Number of users
– Number of connected devices
– Number of over the top (OTT)
applications and protocols
– Number of (standard)
protocols (RFC’s)
– Bandwidth usage
– Power consumption of
network infrastructure
What Is Happening
Logos and trademarks are used for illustration only and remain the property of their respective owners.
• Increasing and varying QoS requirements
– Realtime (e.g. VoIP, video conferencing, gaming)
– Streaming (e.g. music, video)
– Messaging (e.g. IM, Ajax, M2M/IoT)
– Bulk (web data, file sharing, OTA updates)
• More functionality and services implemented in the
network
– Web caching
– Content delivery (CDN)
– Intrusion detection and prevention (IDS/IPS)
– User-specific service level agreements (SLA)
Increasing Diversity and Functionality
Consequences
• Need flexibility of software and programmable hardware
– Trend towards software-realised networking - function defined by
software
• Need familiar programming environments with robust tools
– For TimeToMarket-driven development of new protocols and
services
• Need portability
– Move functionality and applications between hardware platforms
optimised for different power/performance/cost points
• Need high abstraction
– To enable innovation in efficient implementations
– E.g. OpenGL/OpenMAX
• Need efficient support for virtualization
– Decouple functionality (SW) from capacity (HW)
– Dynamic partitioning of common HW for different functions
– Simple, robust and incremental deployment of new services
Solution – HW/OS
Develop and deploy networking applications on general
purpose processors/architectures
• Increasingly ARM and x86
• Users and partners are drawn to the big ecosystems around these architectures
Networking applications running in Linux user space
Develop, debug and deploy using standard Linux tools
• Robust user space access to networking HW resources
Linux enhanced to provide bare metal-like environment
Bare Metal Linux
Avoid TLB misses, interrupts, context switches, system calls, thread migration
Direct HW access from user space
Applications run isolated in user space on dedicated cores, unaffected by the Linux
kernel and other applications
Optional real-time support
As needed by some wireless subsystems (<10μs interrupt response time)
What Is Open Data Plane?
• ODP is an open source cross-platform framework
for data plane applications
• Common API for application portability
• Multiple implementations tuned to different
platforms for performance
• Result: Easy app portability and performance
Application Environment
• Applications run in Linux user space with
essentially zero system overhead
Open Data Plane Overview
Open Data Plane: The Time has Come
• Networking silicon vendors have evolved data plane SDKs for years
– No cross-industry group has sanctioned any common interface on diverse
silicon
• The Linaro Networking Working Group - a consortium of 12 networking
stakeholders surveyed the open source landscape
– Consensus: No ideal “one-size fits all”, implementation for diverse
hardware/software approaches
• A truly open source & open contribution & cross-platform data plane interface,
driven by a cross section of stakeholders, is needed
• Based on the OpenGL model: A software API at a higher level of abstraction,
that could offer flexibility of implementations underneath that suit diverse
needs.
– The Linaro non-profit open source software engineering organization is launching
just such a collaboration…
• So Linaro created…OpenDataPlane(ODP).org with charter contributors…
Open Data Plane API
• Standardized data plane API to enable Linux-based
networking applications across any architecture
– Open support for ARM, Intel, MIPS & PowerPC !
• 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
• Proprietary SDKs sit underneath for OEM/operator
software platform simplification (e.g. Supports
DPDK on x86, USDPAA on QorIQ, etc)
9
Enabling an efficient, truly cross-platform standardized
data plane processing model
Application and
services
portability
across a choice
of hardware
platforms
ODP Foundational Principles
Event Machine
– Work-driven many core data plane processing
SoC Abstraction
– Portable API’s for access to HW/SoC resources
Bare Metal Linux (a.k.a. Bear Metal Linux)
– Minimal overhead and deterministic execution in Linux user
space
EM
SoCA
BML
Application
ODP Foundational Principles (2)
• A data plane/networking API and runtime
– Loosely based on the NSN Event Machine
– Event/work-driven and polled programming models
– Portable API’s for accelerators and offloads
– Runs in user space under Bare Metal Linux for best performance and
determinism
• Common API, optimised implementations
– Separately owned and maintained API (e.g. OpenGL)
– Generic portable reference implementation from Linaro
– HW-optimised (possibly proprietary) implementations from
networking SoC vendors
– Linaro maintains ODP for x86/DPDK
API and Concepts
• ODP loosely based on Event Machine, originally developed by
NSN
– Generic framework for scalable multi-core programming, not limited
to packet processing
• Event based abstraction and programming model for handling
IO
– Supports packet flows, physical and virtual network interfaces,
accelerators, SW endpoints, etc.
– Events represent different types of data: packets, timers, baseband
data, HW notifications, SW messages...
• Supports scheduler based programming model (both HW &
SW)
– Scheduling of IO events using different algorithms and knowledge of
work in progress
– Implicit synchronisation and mutual exclusion between threads
• Supports different IO load balancing approaches
– Chose best configuration for traffic profile, latency/throughput
requirements, and HW characteristics without changing the
application
• Proven, already half a dozen HW-specific EM implementations
EM Basic Concepts
Queue groups
Queues with
events
Scheduler
Cores/threads associated
with queue groups
Idle
core
Queues can be
dynamically created
and added to and
removed from queue
groups
Cores can be
dynamically added to
and removed from
queue groups
Event handlers associated
with queues
IP-fwd
NAT
GTP-U
DPI
RoHC
Work Scheduling
• Actual scheduling algorithms implementation dependent
• Scheduler can enforce ordering/mutual exclusion
– Parallel, parallel/ordered and atomic queues
– Application doesn’t need software mutex for protecting per-flow state
• Logical flows/queues mapped to hardware queues (if available)
‘Pull’ work, on
demand scheduling
Clusters/Cores/ThreadsLogical flows/queues
thousands to millions
Flows/
QoS classes WRR
SP
Scheduling algorithms
WRR - Weighted Round Robin
SP - Strict Priority
Work
Scheduler
Processing packet
from flow A
Processing packet
from flow B
Idle (power-gated)
because of low load
Dynamic vs. Static Load Balancing
• Networking SoC’s have hardware
suitable for dynamic load balancing
– Queues associated with producer
– Queue and buffer mgmt in hardware
• Server NICs designed for termination
– Static load sharing (based on hashing)
– Queues associated with consumer
– Queue and buffer management in
software/shared memory
• Static increases average and worst case
latency and buffer space
– OK for ~8 cores… but not many-core ready
(some networking SoC’s already have 30+
cores/HW-threads)
• Static makes core elasticity very
difficult (per-core state with application
level seamless/lossless handovers)
– Limits opportunity for power scaling
0
20
40
60
80
100
120
140
1 2 4 8 16 32 64 128
Averagelatency/uS
Number of cores
Static load-
sharing
Dynamic load-
balancing
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0% 20% 40% 60% 80% 100%
Power
% Load
Static Load Sharing
with typical DVFS
Dynamic Load
Balancing Power
gating + DVFS
Elasticity and Multi-core Load Balancing
Issues
– Traffic load and pattern varies over time
– Industry trend is to use more cores and more power-efficient cores
– To hit the sweet spot PPA (Power/Performance/Area)
– Enabled by inherent parallelism in networking
– Ideally use as many (or few) cores as traffic load and SLA’s require and use them
efficiently
ODP
 Supports hardware scheduler and dynamic load balancing
 Cores can be added and removed
 No fixed allocation of cores for specific application
 Enables power or clock gating of idle cores
 Cores can share load dynamically
 Increased throughput,
 Decreased packet latencies,
 Increased core utilization
Scalable and Elastic Timer Support
Issues
• Many protocols need timers, often several timers per
flow/connection
– Millions of flows in core network means millions of timers
• Timers, like packets, are associated with flows/connections
– Need mutual exclusion of flow context when processing a timer event
ODP
 ODP schedules timers together with packets
 Timers and packets can be synchronized and load balanced together
Power and Performance Management
Issues
• Traffic load varies
– Daily variation and intermittent bursts
• Use as many or as few cores needed to meet bandwidth and QoS
requirements
– Add and remove worker threads/cores
– Adjust clock frequency of active cores
– Power or clock gate inactive cores
ODP
 Supports power/performance management
 Provides API for observing queue lengths
 Idle worker threads may yield to OS for background tasks or power down core
 Application can monitor traffic load and quickly react to increasing load
vSwitch Integration
Issues
• Efficient and robust integration with software or hardware-accelerated
vSwitch
• No loss of performance for virtualised networking applications using
the dataplane API
ODP
 ODP’s queue-based I/O hides actual device implementation
 A queue may represent an actual network interface, a vSwitch port, a
pipeline of further processing stages (e.g. for encryption or
encapsulation) etc.
 Allows for HW to copy packets between application and vSwitch
 No shared memory between application and vSwitch
Openness and Cross-platform
ODP provides:
 Support for multiple architectures and platforms (e.g., ARM,
x86, and MIPS)
 Open source and an open collaboration
 Not controlled by any single company
 Anyone may join in
 Reference implementations are open source
 Based on the Event Machine which currently is implemented
on a number of different HW targets (using
ARM/MIPS/PPC/x86 processors)
 Proven cross-platform support
Status Core API Definitions
API Component Description Status
BUFFER Shared memory, buffer pools, buffer types and access
functions
Preliminary done, but still
work in progress
CLASSIFICATION Ingress packet classification Preliminary work underway,
CRYPTO Algorithmic and protocol offload for crypto, hashing, RNG Proposal being implemented
IPC Inter-process communication control plane/data plane TBD
PACKET I/O Network interface abstraction Done
QUEUE Buffer queue management Done
TIMER Protocol timers, periodic ticks Done
SCHEDULER Ingress scheduling and distribution to threads/cores Done
Version 0.2. of the API spec available now
Version 1.0 by year end 2014
Status Implementations
Platform Description Status
linux-generic Generic, portable reference implementation, uses Linux
facilities (e.g. NetMap, crypto)
Implements
BUFFER/CRYPTO/PACKET-
IO/QUEUE/TIMER/SCHEDULE
R
linux-dpdk Implementation for x86 using DPDK as the acceleration
layer.
Just started
linux-keystone2 HW-accelerated implementation for TI Keystone2 Tracking linux-generic
linux-qoriq HW-accelerated implementation for FSL DPAA In progress
Other implementations outside LNG also in progress...
• Cisco will demonstrate real app running on multiple HW-
implementations of ODP
– Usage of API’s
– Usage of HW acceleration through ODP API’s (e.g. ordered and atomic
scheduling, crypto)
– Portability
• NSN has had early influence on general architecture and APIs
• Huawei is promoting ODP in public presentations and
expressing their support in meetings
• Ericsson’s new influence in this project
Demos at Linaro Connect USA in Sep’ 14
Contributions and Interest from Major TEMs
The ODP API Specification can be influenced by anyone in the open
community
What’s next?
• Adding more members to the ODP team
– Several companies in discussions, e.g. Aricent, Juniper & others
downloading and commenting on ODP
• Developing NFV PoCs with ARM ecosystem partners, building
on ODP
– Hardening and optimizing the performance of ODP implementations
• Developing liaisons with OpenDayLight, Open Networking
Foundation, NFV Working Group
– Additionally, a new open source initiative to integrate open NFV
building blocks with ODP
• Evangelizing ODP in the broad community
Thanks for Attending
For more….
Visit us in booth #201
Go to
opendataplane.org
linaro.org/projects/networking

Contenu connexe

Tendances

Open source tools for logic synthesis and soc design an overview
Open source tools for logic synthesis and soc design  an overviewOpen source tools for logic synthesis and soc design  an overview
Open source tools for logic synthesis and soc design an overviewVaibhav R
 
BKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopBKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopLinaro
 
180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISA180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISAGanesan Narayanasamy
 
Ics21 workshop decoupling compute from memory, storage &amp; io with omi - ...
Ics21 workshop   decoupling compute from memory, storage &amp; io with omi - ...Ics21 workshop   decoupling compute from memory, storage &amp; io with omi - ...
Ics21 workshop decoupling compute from memory, storage &amp; io with omi - ...Vaibhav R
 
Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509Linaro
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harveyharryvanhaaren
 
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...Cloud Native Day Tel Aviv
 
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloLinaro
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Meltonharryvanhaaren
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...nvirters
 
Platform Independent Packet Processing with ODL
Platform Independent Packet Processing with ODLPlatform Independent Packet Processing with ODL
Platform Independent Packet Processing with ODLOPNFV
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsHPCC Systems
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining Tail-f Systems
 
DPDK Acceleration with Arkville
DPDK Acceleration with ArkvilleDPDK Acceleration with Arkville
DPDK Acceleration with ArkvilleShepard Siegel
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
LISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchLISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchmestery
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovácsharryvanhaaren
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNnvirters
 
Keep Calm and Use Parser
Keep Calm and Use ParserKeep Calm and Use Parser
Keep Calm and Use ParserOPNFV
 

Tendances (20)

OpenPOWER Latest Updates
OpenPOWER Latest UpdatesOpenPOWER Latest Updates
OpenPOWER Latest Updates
 
Open source tools for logic synthesis and soc design an overview
Open source tools for logic synthesis and soc design  an overviewOpen source tools for logic synthesis and soc design  an overview
Open source tools for logic synthesis and soc design an overview
 
BKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopBKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing Hadoop
 
180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISA180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISA
 
Ics21 workshop decoupling compute from memory, storage &amp; io with omi - ...
Ics21 workshop   decoupling compute from memory, storage &amp; io with omi - ...Ics21 workshop   decoupling compute from memory, storage &amp; io with omi - ...
Ics21 workshop decoupling compute from memory, storage &amp; io with omi - ...
 
Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harvey
 
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
 
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Melton
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
 
Platform Independent Packet Processing with ODL
Platform Independent Packet Processing with ODLPlatform Independent Packet Processing with ODL
Platform Independent Packet Processing with ODL
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining
 
DPDK Acceleration with Arkville
DPDK Acceleration with ArkvilleDPDK Acceleration with Arkville
DPDK Acceleration with Arkville
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
LISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchLISP and NSH in Open vSwitch
LISP and NSH in Open vSwitch
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovács
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
Keep Calm and Use Parser
Keep Calm and Use ParserKeep Calm and Use Parser
Keep Calm and Use Parser
 

En vedette

160511 バス列(内部向け10分)
160511 バス列(内部向け10分)160511 バス列(内部向け10分)
160511 バス列(内部向け10分)隆 司
 
Correos electronicos
Correos electronicosCorreos electronicos
Correos electronicos0271998
 
Redes sociales
Redes socialesRedes sociales
Redes sociales0271998
 
Final Assessment Report
Final Assessment ReportFinal Assessment Report
Final Assessment ReportChad Warrick
 
sonya ware electronic technician 1
sonya ware electronic technician 1sonya ware electronic technician 1
sonya ware electronic technician 1Sonya Ware
 
Karya Tulis Ilmiah
Karya Tulis IlmiahKarya Tulis Ilmiah
Karya Tulis IlmiahDwi Anita
 
evaluacion del tercer parcial
evaluacion del tercer parcialevaluacion del tercer parcial
evaluacion del tercer parcial0271998
 
Si greferat constr_geom
Si greferat constr_geomSi greferat constr_geom
Si greferat constr_geomValeriu Licu
 
bus network ppt by pearl patel
bus network ppt by pearl patelbus network ppt by pearl patel
bus network ppt by pearl patelpatel12300
 
Tabel perbandingan upaya AS dan Uni Soviet untuk Menguasai Dunia
Tabel perbandingan upaya AS dan Uni Soviet untuk Menguasai DuniaTabel perbandingan upaya AS dan Uni Soviet untuk Menguasai Dunia
Tabel perbandingan upaya AS dan Uni Soviet untuk Menguasai DuniaDwi Anita
 
Quality Management System
Quality Management SystemQuality Management System
Quality Management SystemDwi Anita
 

En vedette (20)

physics
physicsphysics
physics
 
ABell2015
ABell2015ABell2015
ABell2015
 
Bb prezi
Bb preziBb prezi
Bb prezi
 
160511 バス列(内部向け10分)
160511 バス列(内部向け10分)160511 バス列(内部向け10分)
160511 バス列(内部向け10分)
 
Correos electronicos
Correos electronicosCorreos electronicos
Correos electronicos
 
Bag awal
Bag awal Bag awal
Bag awal
 
YChevalier Prior Case Listv2
YChevalier Prior Case Listv2YChevalier Prior Case Listv2
YChevalier Prior Case Listv2
 
Rsa europe 2012 active defense-hack back lecture
Rsa europe 2012   active defense-hack back lectureRsa europe 2012   active defense-hack back lecture
Rsa europe 2012 active defense-hack back lecture
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Final Assessment Report
Final Assessment ReportFinal Assessment Report
Final Assessment Report
 
sonya ware electronic technician 1
sonya ware electronic technician 1sonya ware electronic technician 1
sonya ware electronic technician 1
 
Karya Tulis Ilmiah
Karya Tulis IlmiahKarya Tulis Ilmiah
Karya Tulis Ilmiah
 
YChevalier Resume 2015v2
YChevalier Resume 2015v2YChevalier Resume 2015v2
YChevalier Resume 2015v2
 
evaluacion del tercer parcial
evaluacion del tercer parcialevaluacion del tercer parcial
evaluacion del tercer parcial
 
Si greferat constr_geom
Si greferat constr_geomSi greferat constr_geom
Si greferat constr_geom
 
T3 1
T3 1T3 1
T3 1
 
bus network ppt by pearl patel
bus network ppt by pearl patelbus network ppt by pearl patel
bus network ppt by pearl patel
 
Tabel perbandingan upaya AS dan Uni Soviet untuk Menguasai Dunia
Tabel perbandingan upaya AS dan Uni Soviet untuk Menguasai DuniaTabel perbandingan upaya AS dan Uni Soviet untuk Menguasai Dunia
Tabel perbandingan upaya AS dan Uni Soviet untuk Menguasai Dunia
 
Transcripts Chevalier, Yvette (1)
Transcripts  Chevalier, Yvette (1)Transcripts  Chevalier, Yvette (1)
Transcripts Chevalier, Yvette (1)
 
Quality Management System
Quality Management SystemQuality Management System
Quality Management System
 

Similaire à ODP Presentation LinuxCon NA 2014

SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SAMeh Zaghloul
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)Milson Munakami
 
Distributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined NetworkingDistributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined NetworkingUS-Ignite
 
Accelerate Big Data Processing with High-Performance Computing Technologies
Accelerate Big Data Processing with High-Performance Computing TechnologiesAccelerate Big Data Processing with High-Performance Computing Technologies
Accelerate Big Data Processing with High-Performance Computing TechnologiesIntel® Software
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Michael Christofferson
 
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...NETWAYS
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyPeter Clapham
 
NFV Linaro Connect Keynote
NFV Linaro Connect KeynoteNFV Linaro Connect Keynote
NFV Linaro Connect KeynoteLinaro
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Nagios
 
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...PROIDEA
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingOpenSourceIndia
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingsuniltomar04
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkTim4PreStartup
 
LinuxONE cavemen mmit 20160505 v1.0
LinuxONE cavemen mmit 20160505 v1.0LinuxONE cavemen mmit 20160505 v1.0
LinuxONE cavemen mmit 20160505 v1.0Marcel Mitran
 

Similaire à ODP Presentation LinuxCon NA 2014 (20)

Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
 
Cloud Networking Trends
Cloud Networking TrendsCloud Networking Trends
Cloud Networking Trends
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
Distributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined NetworkingDistributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined Networking
 
Accelerate Big Data Processing with High-Performance Computing Technologies
Accelerate Big Data Processing with High-Performance Computing TechnologiesAccelerate Big Data Processing with High-Performance Computing Technologies
Accelerate Big Data Processing with High-Performance Computing Technologies
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
 
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
OSMC 2019 | Monitoring Alerts and Metrics on Large Power Systems Clusters by ...
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journey
 
NFV Linaro Connect Keynote
NFV Linaro Connect KeynoteNFV Linaro Connect Keynote
NFV Linaro Connect Keynote
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
 
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
 
LinuxONE cavemen mmit 20160505 v1.0
LinuxONE cavemen mmit 20160505 v1.0LinuxONE cavemen mmit 20160505 v1.0
LinuxONE cavemen mmit 20160505 v1.0
 

ODP Presentation LinuxCon NA 2014

  • 1. Here Now - an Open Source Project Near You The Linaro LNG Open Data Plane Initiative Mike Christofferson, Enea In conjunction with Ola Liljedahl, Arm
  • 2. FOUNDED 1968 TEN OFFICES IN NORTH AMERICA, EUROPE AND ASIA REVENUE ~70 M USD NO. OF EMPLOYEES 426  Increasing data traffic in communication devices require new and innovative software solutions to handle bandwidth, performance, and power requirements, as well as scalable systems management and availability solutions  A robust product portfolio  Enea operating systems software is heavily used in wireless Infrastructure (Macro, small cell), gateway, etc. Enea Solutions run in more than 50% of the world’s 8.2M radio base stations.  Enea provides a commercial Linux distribution, built by Yocto, with focus on real- time  Proven, mature middleware solutions for over 10 years – High Availability, Systems Management, and real-time database  Global presence, global development, and headquartered in Stockholm, Sweden Enea - Powering Distributed, Connected Systems
  • 3. 0 20 40 60 80 100 120 140 160 1995 2000 2005 2010 2015 2020 2025 2030 • Super-linear growth in: – Number of users – Number of connected devices – Number of over the top (OTT) applications and protocols – Number of (standard) protocols (RFC’s) – Bandwidth usage – Power consumption of network infrastructure What Is Happening Logos and trademarks are used for illustration only and remain the property of their respective owners.
  • 4. • Increasing and varying QoS requirements – Realtime (e.g. VoIP, video conferencing, gaming) – Streaming (e.g. music, video) – Messaging (e.g. IM, Ajax, M2M/IoT) – Bulk (web data, file sharing, OTA updates) • More functionality and services implemented in the network – Web caching – Content delivery (CDN) – Intrusion detection and prevention (IDS/IPS) – User-specific service level agreements (SLA) Increasing Diversity and Functionality
  • 5. Consequences • Need flexibility of software and programmable hardware – Trend towards software-realised networking - function defined by software • Need familiar programming environments with robust tools – For TimeToMarket-driven development of new protocols and services • Need portability – Move functionality and applications between hardware platforms optimised for different power/performance/cost points • Need high abstraction – To enable innovation in efficient implementations – E.g. OpenGL/OpenMAX • Need efficient support for virtualization – Decouple functionality (SW) from capacity (HW) – Dynamic partitioning of common HW for different functions – Simple, robust and incremental deployment of new services
  • 6. Solution – HW/OS Develop and deploy networking applications on general purpose processors/architectures • Increasingly ARM and x86 • Users and partners are drawn to the big ecosystems around these architectures Networking applications running in Linux user space Develop, debug and deploy using standard Linux tools • Robust user space access to networking HW resources Linux enhanced to provide bare metal-like environment Bare Metal Linux Avoid TLB misses, interrupts, context switches, system calls, thread migration Direct HW access from user space Applications run isolated in user space on dedicated cores, unaffected by the Linux kernel and other applications Optional real-time support As needed by some wireless subsystems (<10μs interrupt response time)
  • 7. What Is Open Data Plane? • ODP is an open source cross-platform framework for data plane applications • Common API for application portability • Multiple implementations tuned to different platforms for performance • Result: Easy app portability and performance Application Environment • Applications run in Linux user space with essentially zero system overhead Open Data Plane Overview
  • 8. Open Data Plane: The Time has Come • Networking silicon vendors have evolved data plane SDKs for years – No cross-industry group has sanctioned any common interface on diverse silicon • The Linaro Networking Working Group - a consortium of 12 networking stakeholders surveyed the open source landscape – Consensus: No ideal “one-size fits all”, implementation for diverse hardware/software approaches • A truly open source & open contribution & cross-platform data plane interface, driven by a cross section of stakeholders, is needed • Based on the OpenGL model: A software API at a higher level of abstraction, that could offer flexibility of implementations underneath that suit diverse needs. – The Linaro non-profit open source software engineering organization is launching just such a collaboration… • So Linaro created…OpenDataPlane(ODP).org with charter contributors…
  • 9. Open Data Plane API • Standardized data plane API to enable Linux-based networking applications across any architecture – Open support for ARM, Intel, MIPS & PowerPC ! • 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 • Proprietary SDKs sit underneath for OEM/operator software platform simplification (e.g. Supports DPDK on x86, USDPAA on QorIQ, etc) 9 Enabling an efficient, truly cross-platform standardized data plane processing model Application and services portability across a choice of hardware platforms
  • 10. ODP Foundational Principles Event Machine – Work-driven many core data plane processing SoC Abstraction – Portable API’s for access to HW/SoC resources Bare Metal Linux (a.k.a. Bear Metal Linux) – Minimal overhead and deterministic execution in Linux user space EM SoCA BML Application
  • 11. ODP Foundational Principles (2) • A data plane/networking API and runtime – Loosely based on the NSN Event Machine – Event/work-driven and polled programming models – Portable API’s for accelerators and offloads – Runs in user space under Bare Metal Linux for best performance and determinism • Common API, optimised implementations – Separately owned and maintained API (e.g. OpenGL) – Generic portable reference implementation from Linaro – HW-optimised (possibly proprietary) implementations from networking SoC vendors – Linaro maintains ODP for x86/DPDK
  • 12. API and Concepts • ODP loosely based on Event Machine, originally developed by NSN – Generic framework for scalable multi-core programming, not limited to packet processing • Event based abstraction and programming model for handling IO – Supports packet flows, physical and virtual network interfaces, accelerators, SW endpoints, etc. – Events represent different types of data: packets, timers, baseband data, HW notifications, SW messages... • Supports scheduler based programming model (both HW & SW) – Scheduling of IO events using different algorithms and knowledge of work in progress – Implicit synchronisation and mutual exclusion between threads • Supports different IO load balancing approaches – Chose best configuration for traffic profile, latency/throughput requirements, and HW characteristics without changing the application • Proven, already half a dozen HW-specific EM implementations
  • 13. EM Basic Concepts Queue groups Queues with events Scheduler Cores/threads associated with queue groups Idle core Queues can be dynamically created and added to and removed from queue groups Cores can be dynamically added to and removed from queue groups Event handlers associated with queues IP-fwd NAT GTP-U DPI RoHC
  • 14. Work Scheduling • Actual scheduling algorithms implementation dependent • Scheduler can enforce ordering/mutual exclusion – Parallel, parallel/ordered and atomic queues – Application doesn’t need software mutex for protecting per-flow state • Logical flows/queues mapped to hardware queues (if available) ‘Pull’ work, on demand scheduling Clusters/Cores/ThreadsLogical flows/queues thousands to millions Flows/ QoS classes WRR SP Scheduling algorithms WRR - Weighted Round Robin SP - Strict Priority Work Scheduler Processing packet from flow A Processing packet from flow B Idle (power-gated) because of low load
  • 15. Dynamic vs. Static Load Balancing • Networking SoC’s have hardware suitable for dynamic load balancing – Queues associated with producer – Queue and buffer mgmt in hardware • Server NICs designed for termination – Static load sharing (based on hashing) – Queues associated with consumer – Queue and buffer management in software/shared memory • Static increases average and worst case latency and buffer space – OK for ~8 cores… but not many-core ready (some networking SoC’s already have 30+ cores/HW-threads) • Static makes core elasticity very difficult (per-core state with application level seamless/lossless handovers) – Limits opportunity for power scaling 0 20 40 60 80 100 120 140 1 2 4 8 16 32 64 128 Averagelatency/uS Number of cores Static load- sharing Dynamic load- balancing 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0% 20% 40% 60% 80% 100% Power % Load Static Load Sharing with typical DVFS Dynamic Load Balancing Power gating + DVFS
  • 16. Elasticity and Multi-core Load Balancing Issues – Traffic load and pattern varies over time – Industry trend is to use more cores and more power-efficient cores – To hit the sweet spot PPA (Power/Performance/Area) – Enabled by inherent parallelism in networking – Ideally use as many (or few) cores as traffic load and SLA’s require and use them efficiently ODP  Supports hardware scheduler and dynamic load balancing  Cores can be added and removed  No fixed allocation of cores for specific application  Enables power or clock gating of idle cores  Cores can share load dynamically  Increased throughput,  Decreased packet latencies,  Increased core utilization
  • 17. Scalable and Elastic Timer Support Issues • Many protocols need timers, often several timers per flow/connection – Millions of flows in core network means millions of timers • Timers, like packets, are associated with flows/connections – Need mutual exclusion of flow context when processing a timer event ODP  ODP schedules timers together with packets  Timers and packets can be synchronized and load balanced together
  • 18. Power and Performance Management Issues • Traffic load varies – Daily variation and intermittent bursts • Use as many or as few cores needed to meet bandwidth and QoS requirements – Add and remove worker threads/cores – Adjust clock frequency of active cores – Power or clock gate inactive cores ODP  Supports power/performance management  Provides API for observing queue lengths  Idle worker threads may yield to OS for background tasks or power down core  Application can monitor traffic load and quickly react to increasing load
  • 19. vSwitch Integration Issues • Efficient and robust integration with software or hardware-accelerated vSwitch • No loss of performance for virtualised networking applications using the dataplane API ODP  ODP’s queue-based I/O hides actual device implementation  A queue may represent an actual network interface, a vSwitch port, a pipeline of further processing stages (e.g. for encryption or encapsulation) etc.  Allows for HW to copy packets between application and vSwitch  No shared memory between application and vSwitch
  • 20. Openness and Cross-platform ODP provides:  Support for multiple architectures and platforms (e.g., ARM, x86, and MIPS)  Open source and an open collaboration  Not controlled by any single company  Anyone may join in  Reference implementations are open source  Based on the Event Machine which currently is implemented on a number of different HW targets (using ARM/MIPS/PPC/x86 processors)  Proven cross-platform support
  • 21. Status Core API Definitions API Component Description Status BUFFER Shared memory, buffer pools, buffer types and access functions Preliminary done, but still work in progress CLASSIFICATION Ingress packet classification Preliminary work underway, CRYPTO Algorithmic and protocol offload for crypto, hashing, RNG Proposal being implemented IPC Inter-process communication control plane/data plane TBD PACKET I/O Network interface abstraction Done QUEUE Buffer queue management Done TIMER Protocol timers, periodic ticks Done SCHEDULER Ingress scheduling and distribution to threads/cores Done Version 0.2. of the API spec available now Version 1.0 by year end 2014
  • 22. Status Implementations Platform Description Status linux-generic Generic, portable reference implementation, uses Linux facilities (e.g. NetMap, crypto) Implements BUFFER/CRYPTO/PACKET- IO/QUEUE/TIMER/SCHEDULE R linux-dpdk Implementation for x86 using DPDK as the acceleration layer. Just started linux-keystone2 HW-accelerated implementation for TI Keystone2 Tracking linux-generic linux-qoriq HW-accelerated implementation for FSL DPAA In progress Other implementations outside LNG also in progress...
  • 23. • Cisco will demonstrate real app running on multiple HW- implementations of ODP – Usage of API’s – Usage of HW acceleration through ODP API’s (e.g. ordered and atomic scheduling, crypto) – Portability • NSN has had early influence on general architecture and APIs • Huawei is promoting ODP in public presentations and expressing their support in meetings • Ericsson’s new influence in this project Demos at Linaro Connect USA in Sep’ 14 Contributions and Interest from Major TEMs The ODP API Specification can be influenced by anyone in the open community
  • 24. What’s next? • Adding more members to the ODP team – Several companies in discussions, e.g. Aricent, Juniper & others downloading and commenting on ODP • Developing NFV PoCs with ARM ecosystem partners, building on ODP – Hardening and optimizing the performance of ODP implementations • Developing liaisons with OpenDayLight, Open Networking Foundation, NFV Working Group – Additionally, a new open source initiative to integrate open NFV building blocks with ODP • Evangelizing ODP in the broad community
  • 25. Thanks for Attending For more…. Visit us in booth #201 Go to opendataplane.org linaro.org/projects/networking