SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
Fastpath networking applications
on manycore SoCs
Ola Liljedahl, Oct 29 2013
connect.linaro.org
0
20
40
60
80
100
120
140
160
1995 2000 2005 2010 2015 2020 2025 2030
•  Super-linear growth in:
o  Number of users
o  Number of connected
devices
o  Number of over the top
(OTT) applications
o  Number of protocols (RFC’s)
o  Bandwidth usage
o  Power consumption of
network infrastructure
What Is Happening
Logos and trademarks are used for illustration only and remain the property of their respective owners.
connect.linaro.org
So the Requirements Change
•  Need aggregate capacity of multiple processors
•  Need hardware accelerations for PPA-efficient execution of
repetitive work
•  Need flexibility of software and programmable hardware
•  Need familiar programming environments with robust tools
•  Need portability between different implementations
•  Need high abstraction level
•  Need efficient support for virtualisation
connect.linaro.org
Example Logical View of Packet Processing Flow
Ingress
interfaces
Scheduler*
Thread
Thread
Thread
Thread
queue
queue
queue
queue
queue
Classifier*
queue
queue
queue
Crypto
Axel
queue
queue
queue
queue
queue
queue
queue
queue
Scheduler/
Shaper*
Egress
interfaces
Wirespeed domain Wirespeed domainNon-wirespeed domain
*May be SW or HW-based
connect.linaro.org
The Pillars of OpenDataPlane
" Event Machine
o  Event based IO object handling paradigm and application interface
" SoC Abstraction
o  Portable API’s for access to HW/SoC resources
" “Bare Metal” Linux
o  Minimal overhead and deterministic execution in Linux user space
EM
SoCA
BML
Application
connect.linaro.org
Application Interface
•  ODP adopts Event Machine, originally developed by Nokia Solutions and
Networks
o  Open-ended architecture with reusable concepts
o  C-based API’s and implementations
•  Event based programming model abstraction for handling IO
o  Logical queue based interface
o  Supports packet flows, physical and virtual network interfaces, accelerators, SW endpoints
o  Events represent different types of data that should be processed: packets, timers, baseband
data, HW notifications, SW messages...
•  Supports scheduler based IO model
o  Enables scheduling of IO events using different algorithms and knowledge of work in
progress
o  Support for both HW and SW based schedulers
•  Supports different IO load balancing approaches
o  Enables implicit synchronisation and mutual exclusion between threads
•  Proven, already half a dozen HW-specific implementations
connect.linaro.org
APIs for IO Load Balancing – “Push” model
IO event objects
distributed to queues
Threads
Threads
processing high
bandwidth IO
Threads
sharing latency
critical events
Classifier
Programmable (with
dedicated CPU’s) or
SW Configurable
IO objects pulled
directly from queues
Queues
Thread
handling lower-
frequency
events
O
D
P
A
P
Is
connect.linaro.org
APIs for IO Load Balancing – “Pull” model
Queue groups
Scheduler
Threads
Idle/unused thread
Execution objects
associated with queues
IP-fwd
IP-reasm
GTP-U
DPI
RoHC
Exception
Log svc
O
D
P
A
P
Is
IO objects scheduled
on “Pull” requests
Classifier
Programmable
(with dedicated
CPUs) or SW
Configurable
IO event objects
distributed to queues
Name svc
connect.linaro.org
SoC Abstraction
•  Portable API’s for accelerator access, timer management & delivery...
•  Per-operation access functions + queues & events for completion
notification
•  Example: crypto (as proposed)
•  int odp_crypto_operation(
•  struct odp_crypto_session *sesssion,
•  odp_packet_buf_desc *pkt_buf_desc, // Data to process
•  const struct odp_data_range *cipher_data,
•  const struct odp_data_range *hash_data,
•  unsigned hash_result_offset,
•  caddr_t override_iv_ptr,
•  unsigned num_notif, const em_notif_t *notif_tbl // Events and queue-id to use for notification
when operation is complete
•  )
o  Supports both synchronous and asynchronous operation
o  Supports both processor/ISA and loosely coupled accelerator implementations
o  Might define an (optional) synchronous blocking function as well as this is a
common usage
•  Compression, DPI, timer management potential candidates
connect.linaro.org
“Bare Metal” Linux
•  Need to dedicate some cores for dataplane applications
" No TLB misses (huge pages for code and data)
" No context switches (one worker thread per HW-thread/core)
" No thread migration (core affinity and isolation)
" No ticks (NOHZ/dynticks)
" No interrupts
" No kernel background tasks
ü  Direct HW access from user space
•  Can still
ü  Launch, supervise and kill applications, dump core
ü  Debug and profile applications
ü  Perform system calls from the application
More about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/
How to join: http://www.linaro.org/about/how-to-join
Linaro members: www.linaro.org/members
connect.linaro.org

Contenu connexe

Tendances

Bringing complex event processing to Spark streaming
Bringing complex event processing to Spark streamingBringing complex event processing to Spark streaming
Bringing complex event processing to Spark streaming
DataWorks Summit
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Redis Labs
 
Video Transcoding on Hadoop
Video Transcoding on HadoopVideo Transcoding on Hadoop
Video Transcoding on Hadoop
DataWorks Summit
 

Tendances (20)

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 ...
 
Tuning and Monitoring Deep Learning on Apache Spark
Tuning and Monitoring Deep Learning on Apache SparkTuning and Monitoring Deep Learning on Apache Spark
Tuning and Monitoring Deep Learning on Apache Spark
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
 
Hyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul AwalHyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul Awal
 
DPDK Acceleration with Arkville
DPDK Acceleration with ArkvilleDPDK Acceleration with Arkville
DPDK Acceleration with Arkville
 
Opaque: A Data Analytics Platform with Strong Security: Spark Summit East tal...
Opaque: A Data Analytics Platform with Strong Security: Spark Summit East tal...Opaque: A Data Analytics Platform with Strong Security: Spark Summit East tal...
Opaque: A Data Analytics Platform with Strong Security: Spark Summit East tal...
 
Wireshark
WiresharkWireshark
Wireshark
 
Bringing complex event processing to Spark streaming
Bringing complex event processing to Spark streamingBringing complex event processing to Spark streaming
Bringing complex event processing to Spark streaming
 
BKK16-404B Data Analytics and Machine Learning- from Node to Cluster
BKK16-404B Data Analytics and Machine Learning- from Node to ClusterBKK16-404B Data Analytics and Machine Learning- from Node to Cluster
BKK16-404B Data Analytics and Machine Learning- from Node to Cluster
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
 
Apache Spark Best Practices Meetup Talk
Apache Spark Best Practices Meetup TalkApache Spark Best Practices Meetup Talk
Apache Spark Best Practices Meetup Talk
 
Migrating to Apache Spark at Netflix
Migrating to Apache Spark at NetflixMigrating to Apache Spark at Netflix
Migrating to Apache Spark at Netflix
 
DEVNET-1175 OpenDaylight Service Function Chaining
DEVNET-1175	OpenDaylight Service Function ChainingDEVNET-1175	OpenDaylight Service Function Chaining
DEVNET-1175 OpenDaylight Service Function Chaining
 
A Taste of Open Fabrics Interfaces
A Taste of Open Fabrics InterfacesA Taste of Open Fabrics Interfaces
A Taste of Open Fabrics Interfaces
 
High Performance Cloud Computing
High Performance Cloud ComputingHigh Performance Cloud Computing
High Performance Cloud Computing
 
Accelerated Spark on Azure: Seamless and Scalable Hardware Offloads in the C...
 Accelerated Spark on Azure: Seamless and Scalable Hardware Offloads in the C... Accelerated Spark on Azure: Seamless and Scalable Hardware Offloads in the C...
Accelerated Spark on Azure: Seamless and Scalable Hardware Offloads in the C...
 
Apache Spark Acceleration Using Hardware Resources in the Cloud, Seamlessl wi...
Apache Spark Acceleration Using Hardware Resources in the Cloud, Seamlessl wi...Apache Spark Acceleration Using Hardware Resources in the Cloud, Seamlessl wi...
Apache Spark Acceleration Using Hardware Resources in the Cloud, Seamlessl wi...
 
Video Transcoding on Hadoop
Video Transcoding on HadoopVideo Transcoding on Hadoop
Video Transcoding on Hadoop
 
OpenDataPlane - Bill Fischofer
OpenDataPlane - Bill FischoferOpenDataPlane - Bill Fischofer
OpenDataPlane - Bill Fischofer
 
Monitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance AnalysisMonitorama 2015 Netflix Instance Analysis
Monitorama 2015 Netflix Instance Analysis
 

En vedette

En vedette (8)

Tr ns802 11
Tr ns802 11Tr ns802 11
Tr ns802 11
 
SIMULATIVE ANALYSIS OF CHANNEL AND QoS AWARE SCHEDULER TO ENHANCE THE CAPACIT...
SIMULATIVE ANALYSIS OF CHANNEL AND QoS AWARE SCHEDULER TO ENHANCE THE CAPACIT...SIMULATIVE ANALYSIS OF CHANNEL AND QoS AWARE SCHEDULER TO ENHANCE THE CAPACIT...
SIMULATIVE ANALYSIS OF CHANNEL AND QoS AWARE SCHEDULER TO ENHANCE THE CAPACIT...
 
Scheduler performance in manycore architecture
Scheduler performance in manycore architectureScheduler performance in manycore architecture
Scheduler performance in manycore architecture
 
LTE Schedulers – A Definitive Approach
LTE Schedulers – A Definitive Approach LTE Schedulers – A Definitive Approach
LTE Schedulers – A Definitive Approach
 
enodeb sw to dual core
enodeb sw to dual coreenodeb sw to dual core
enodeb sw to dual core
 
Introduction to NS2 - Cont..
Introduction to NS2 - Cont..Introduction to NS2 - Cont..
Introduction to NS2 - Cont..
 
Hsupa (enhanced uplink)
Hsupa (enhanced uplink)Hsupa (enhanced uplink)
Hsupa (enhanced uplink)
 
A Novel Parameterized QoS based Uplink and Downlink Scheduler for Bandwidth/D...
A Novel Parameterized QoS based Uplink and Downlink Scheduler for Bandwidth/D...A Novel Parameterized QoS based Uplink and Downlink Scheduler for Bandwidth/D...
A Novel Parameterized QoS based Uplink and Downlink Scheduler for Bandwidth/D...
 

Similaire à LCU13: Discussion on ODP – Fastpath networking applications on manycore SoCs

Splunk app for stream
Splunk app for stream Splunk app for stream
Splunk app for stream
csching
 

Similaire à LCU13: Discussion on ODP – Fastpath networking applications on manycore SoCs (20)

Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
 
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)
 
Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
 
IRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopIRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE Workshop
 
Splunk app for stream
Splunk app for stream Splunk app for stream
Splunk app for stream
 
Cloud lunch and learn real-time streaming in azure
Cloud lunch and learn real-time streaming in azureCloud lunch and learn real-time streaming in azure
Cloud lunch and learn real-time streaming in azure
 
Pulsar summit asia 2021 apache pulsar with mqtt for edge computing
Pulsar summit asia 2021   apache pulsar with mqtt for edge computingPulsar summit asia 2021   apache pulsar with mqtt for edge computing
Pulsar summit asia 2021 apache pulsar with mqtt for edge computing
 
Introduction to SDN
Introduction to SDNIntroduction to SDN
Introduction to SDN
 
Eclipse kura in industry 4.0 david woodard
Eclipse kura in industry 4.0   david woodardEclipse kura in industry 4.0   david woodard
Eclipse kura in industry 4.0 david woodard
 
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDN
 
OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
 
Integrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsIntegrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing Platforms
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
Big mountain data and dev conference apache pulsar with mqtt for edge compu...
Big mountain data and dev conference   apache pulsar with mqtt for edge compu...Big mountain data and dev conference   apache pulsar with mqtt for edge compu...
Big mountain data and dev conference apache pulsar with mqtt for edge compu...
 
DBCC 2021 - FLiP Stack for Cloud Data Lakes
DBCC 2021 - FLiP Stack for Cloud Data LakesDBCC 2021 - FLiP Stack for Cloud Data Lakes
DBCC 2021 - FLiP Stack for Cloud Data Lakes
 
LinkedIn OpenFabric Project - Interop 2017
LinkedIn OpenFabric Project - Interop 2017LinkedIn OpenFabric Project - Interop 2017
LinkedIn OpenFabric Project - Interop 2017
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
 

Plus de Linaro

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
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 

Plus de Linaro (20)

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
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

LCU13: Discussion on ODP – Fastpath networking applications on manycore SoCs

  • 1. Fastpath networking applications on manycore SoCs Ola Liljedahl, Oct 29 2013
  • 2. connect.linaro.org 0 20 40 60 80 100 120 140 160 1995 2000 2005 2010 2015 2020 2025 2030 •  Super-linear growth in: o  Number of users o  Number of connected devices o  Number of over the top (OTT) applications o  Number of protocols (RFC’s) o  Bandwidth usage o  Power consumption of network infrastructure What Is Happening Logos and trademarks are used for illustration only and remain the property of their respective owners.
  • 3. connect.linaro.org So the Requirements Change •  Need aggregate capacity of multiple processors •  Need hardware accelerations for PPA-efficient execution of repetitive work •  Need flexibility of software and programmable hardware •  Need familiar programming environments with robust tools •  Need portability between different implementations •  Need high abstraction level •  Need efficient support for virtualisation
  • 4. connect.linaro.org Example Logical View of Packet Processing Flow Ingress interfaces Scheduler* Thread Thread Thread Thread queue queue queue queue queue Classifier* queue queue queue Crypto Axel queue queue queue queue queue queue queue queue Scheduler/ Shaper* Egress interfaces Wirespeed domain Wirespeed domainNon-wirespeed domain *May be SW or HW-based
  • 5. connect.linaro.org The Pillars of OpenDataPlane " Event Machine o  Event based IO object handling paradigm and application interface " SoC Abstraction o  Portable API’s for access to HW/SoC resources " “Bare Metal” Linux o  Minimal overhead and deterministic execution in Linux user space EM SoCA BML Application
  • 6. connect.linaro.org Application Interface •  ODP adopts Event Machine, originally developed by Nokia Solutions and Networks o  Open-ended architecture with reusable concepts o  C-based API’s and implementations •  Event based programming model abstraction for handling IO o  Logical queue based interface o  Supports packet flows, physical and virtual network interfaces, accelerators, SW endpoints o  Events represent different types of data that should be processed: packets, timers, baseband data, HW notifications, SW messages... •  Supports scheduler based IO model o  Enables scheduling of IO events using different algorithms and knowledge of work in progress o  Support for both HW and SW based schedulers •  Supports different IO load balancing approaches o  Enables implicit synchronisation and mutual exclusion between threads •  Proven, already half a dozen HW-specific implementations
  • 7. connect.linaro.org APIs for IO Load Balancing – “Push” model IO event objects distributed to queues Threads Threads processing high bandwidth IO Threads sharing latency critical events Classifier Programmable (with dedicated CPU’s) or SW Configurable IO objects pulled directly from queues Queues Thread handling lower- frequency events O D P A P Is
  • 8. connect.linaro.org APIs for IO Load Balancing – “Pull” model Queue groups Scheduler Threads Idle/unused thread Execution objects associated with queues IP-fwd IP-reasm GTP-U DPI RoHC Exception Log svc O D P A P Is IO objects scheduled on “Pull” requests Classifier Programmable (with dedicated CPUs) or SW Configurable IO event objects distributed to queues Name svc
  • 9. connect.linaro.org SoC Abstraction •  Portable API’s for accelerator access, timer management & delivery... •  Per-operation access functions + queues & events for completion notification •  Example: crypto (as proposed) •  int odp_crypto_operation( •  struct odp_crypto_session *sesssion, •  odp_packet_buf_desc *pkt_buf_desc, // Data to process •  const struct odp_data_range *cipher_data, •  const struct odp_data_range *hash_data, •  unsigned hash_result_offset, •  caddr_t override_iv_ptr, •  unsigned num_notif, const em_notif_t *notif_tbl // Events and queue-id to use for notification when operation is complete •  ) o  Supports both synchronous and asynchronous operation o  Supports both processor/ISA and loosely coupled accelerator implementations o  Might define an (optional) synchronous blocking function as well as this is a common usage •  Compression, DPI, timer management potential candidates
  • 10. connect.linaro.org “Bare Metal” Linux •  Need to dedicate some cores for dataplane applications " No TLB misses (huge pages for code and data) " No context switches (one worker thread per HW-thread/core) " No thread migration (core affinity and isolation) " No ticks (NOHZ/dynticks) " No interrupts " No kernel background tasks ü  Direct HW access from user space •  Can still ü  Launch, supervise and kill applications, dump core ü  Debug and profile applications ü  Perform system calls from the application
  • 11. More about Linaro: http://www.linaro.org/about/ More about Linaro engineering: http://www.linaro.org/engineering/ How to join: http://www.linaro.org/about/how-to-join Linaro members: www.linaro.org/members connect.linaro.org