SlideShare a Scribd company logo
Pipeline architecture
Network Platforms Group
Legal Disclaimer
General Disclaimer:
© Copyright 2015 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel.
Experience What’s Inside are trademarks of Intel. Corporation in the U.S. and/or other countries. *Other names and
brands may be claimed as the property of others.
FTC Disclaimer:
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software
or service activation. Performance varies depending on system configuration. No computer system can be absolutely
secure. Check with your system manufacturer or retailer or learn more at [intel.com].
Software and workloads used in performance tests may have been optimized for performance only on Intel
microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems,
components, software, operations and functions. Any change to any of those factors may cause the results to vary. You
should consult other information and performance tests to assist you in fully evaluating your contemplated purchases,
including the performance of that product when combined with other products. For more complete information visit
http://www.intel.com/performance.
Network Platforms Group 3
Run-to-completion vs pipeline software models
Processor 0
Physical
Core 0
Linux* Control Plane
NUMA
Pool Caches
Queue/Rings
Buffers
10 GbE
10 GbE
Physical
Core 1
Intel® DPDK
PMD Packet I/O
Packet work
Rx
Tx
Physical
Core 2
Intel® DPDK
PMD Packet I/O
Flow work
Rx
Tx
Physical
Core 3
Intel® DPDK
PMD Packet I/O
Flow Classification
App A, B, C
Rx
Tx
Physical
Core 5
Intel® DPDK
PMD Packet I/O
Flow Classification
App A, B, C
Rx
Tx
Run to Completion model
• I/O and Application workload can be handled on a single core
• I/O can be scaled over multiple cores
10 GbE
Pipeline model
• I/O application disperses packets to other cores
• Application work performed on other cores
Processor 1
Physical
Core 4
Intel® DPDK
10 GbE
Physical
Core 5
Intel® DPDK
Physical
Core 0
Intel® DPDK
PMD Packet I/O
Hash
Physical
Core 1
Intel® DPDK
App A App B App C
Physical
Core 2
Intel® DPDK
App A App B App C
Physical
Core 3
Intel® DPDK
Rx
Tx
10 GbE
Physical
Core 4
Intel® DPDK
PMD Packet I/O
Flow Classification
App A, B, C
Rx
Tx
RSS
Mode
QPI
PCIePCIePCIePCIe
PCIePCIe
NUMA
Pool Caches
Queue/Rings
Buffers
Look at more I/O on
fewer cores with
vectorization
Network Platforms Group
Simple Pipeline application
RX (poll mode)
Validation/
Classification
Enqueue
DequeueNIC NIC
HW Thread
API
Functional
block
Async
queue
Memory pool
Mbuf
Sched. queues
p
Master core (stats)
Network Platforms Group 5
Pipeline applications
DPDK Packet Framework
 development framework for building packet
processing applications using standard pipeline
blocks
DPPD: Data Plane Performance Demonstrators
 Linux user space applications based mainly
intended for performance analysis purposes
DPDK Packet framework
DPDK Programmer’s Guide, Packet Framework
DPDK Sample Applications User Guide, Internet Protocol (IP) Pipeline Sample Application
Network Platforms Group 7
Rapid Development of Packet Processing Apps
DPDK Packet Framework quickly turns
requirements into code
Network Platforms Group 8
Packet Framework Components
# Component
1 Port library Port abstract interface API
Basic ports: HWQ, SWQ
Advanced ports: IP frag, IP ras, Traffic Mgr, KNI, QAT
2 Table library Table abstract interface API
Tables: Hash (Extendible bucket, LRU), ACL, LPM, Array
3 Pipeline library Pipeline configuration and run-time API
Configuration API implementation
Run-time API implementation
4 IP Pipeline
example
The Internet Protocol (IP) Pipeline application illustrates the use of
the DPDK Packet Framework tool suite by implementing functional
blocks such as packet RX, packet TX, flow classification, firewall,
routing, IP fragmentation, IP reassembly, etc which are then assigned
to different CPU cores and connected together to create complex
multi-core applications.
Network Platforms Group 9
DPDK Packet Framework, Pipeline Level
Ports
HW queue
SW queue
IP Fragmentation
IP Reassembly
Traffic Mgr
KNI
Source/Sink
Tables
Exact Match / Hash
Access Control List (ACL)
Longest Prefix Match (LPM)
Array
Pattern Matching
Pipeline
Port In 0
Port In 1
Port Out 0
Port Out 1
Port Out 2
Table 0
Flow #
Flow #
Flow #
Actions
Actions
Actions
Table 1
Flow #
Flow #
Flow #
Actions
Actions
Actions
Zoom in: Pipeline level
Actions
Reserved actions: Send to port,
Send to table, Drop
Packet edits: push/pop labels,
modify headers (NAT, TTL update)
Flow-based: meter, stats, app ID
Accelerators: crypto, compress
Load Balancing
librte_port
librte_table
Standard methodology for pipeline development.
Ports and tables are connected together in tree-like topologies ,
with tables providing the actions to be executed on input packets.
Network Platforms Group 10
DPDK Packet Framework, App Level
Pipelines
Packet I/O
Flow Classification
Firewall
Routing
Traffic Mgmt
CPU Core
Pipeline
CPU Core
Pipeline
CPU Core
Pipeline
CPU Core
P
CPU Core
Pipeline
P
Zoom out: Multi-core application level
librte_pipeline
The Framework breaks the app into multiple pipelines, assigns each pipeline
to a specific core and chains the pipelines together
Network Platforms Group 11
Multi-core scaling
A complex application is typically split across multiple cores, with cores
communicating through SW queues
There is usually a performance limit on the number of table lookups and
actions that can be fit on a single a single core (due to cache memory size,
cache BW, memory BW, etc.)
The Framework breaks the app into multiple pipelines, assigns each pipeline to
a specific core and chains pipelines together
One core can do more than one pipeline, but a pipeline cannot be split across
multiple cores
Intel®dataplane performance
demonstrators
https://01.org/intel-data-plane-performance-demonstrators
Network Platforms Group 13
Intel® DPPD: Data Plane Performance Demonstrators
An open source application
 BSD3C license
Config file defines
 Which cores are used
 Which interfaces are used
 Which tasks are executed and how configured
Allows to
 Find bottlenecks and measure performance
 Try and compare different core layouts without changing code
 Reuse config file on different systems (CPUs, hyper-threads, sockets, interfaces)
Network Platforms Group 14
DPPD: Sample Configurations
Very simple port forwarding Simple load balancer and worker thread
Network Platforms Group 15
Finding bottlenecks
Network Platforms Group 16
QoS and BNG(simplified view)
4 * WT4 * WT4 * WT
InternetCPE
Classify LB
LB
6x W
Interface
LB = Load Balancing
W = Worker
TX = IO Transmit
QoS=QoS Scheduler
Traffic from CPE to Internet (upstream)
Traffic from Internet to CPE (downstream)
Classify
LB
LB
QoS
QoSTX
TX
QoS
QoS
Interface
InterfaceInterface
Network Platforms Group 17
DPPD Display
5 pipeline arch_rationale

More Related Content

PDF
What are latest new features that DPDK brings into 2018?
PDF
Introduction to nfv movilforum
PDF
1 intro to_dpdk_and_hw
PDF
6 profiling tools
PDF
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
PDF
7 hands on
PDF
Enabling new protocol processing with DPDK using Dynamic Device Personalization
PDF
3 additional dpdk_theory(1)
What are latest new features that DPDK brings into 2018?
Introduction to nfv movilforum
1 intro to_dpdk_and_hw
6 profiling tools
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
7 hands on
Enabling new protocol processing with DPDK using Dynamic Device Personalization
3 additional dpdk_theory(1)

What's hot (20)

PDF
DPDK: Multi Architecture High Performance Packet Processing
PDF
Intel dpdk Tutorial
PPTX
Performance out of the box developers
PDF
Making Networking Apps Scream on Windows with DPDK
PDF
DPDK & Layer 4 Packet Processing
PDF
Accelerating Virtual Machine Access with the Storage Performance Development ...
PPTX
Revisit DCA, PCIe TPH and DDIO
PDF
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
PPTX
A Path to NFV/SDN - Intel. Michael Brennan, INTEL
PDF
Unleashing End-to_end TLS Security Leveraging NGINX with Intel(r) QuickAssist...
PDF
DPDK Summit 2015 - Intro - Tim O'Driscoll
PDF
Intel NFVi Enabling Kit Demo/Lab
PPTX
Netsft2017 day in_life_of_nfv
PDF
DPDK Summit 2015 - Intel - Keith Wiles
PDF
Intel Knights Landing Slides
PDF
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
PDF
LF_OVS_17_IPSEC and OVS DPDK
PDF
LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membe...
PDF
SDN/NFV Building Block Introduction
PDF
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
DPDK: Multi Architecture High Performance Packet Processing
Intel dpdk Tutorial
Performance out of the box developers
Making Networking Apps Scream on Windows with DPDK
DPDK & Layer 4 Packet Processing
Accelerating Virtual Machine Access with the Storage Performance Development ...
Revisit DCA, PCIe TPH and DDIO
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
A Path to NFV/SDN - Intel. Michael Brennan, INTEL
Unleashing End-to_end TLS Security Leveraging NGINX with Intel(r) QuickAssist...
DPDK Summit 2015 - Intro - Tim O'Driscoll
Intel NFVi Enabling Kit Demo/Lab
Netsft2017 day in_life_of_nfv
DPDK Summit 2015 - Intel - Keith Wiles
Intel Knights Landing Slides
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
LF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membe...
SDN/NFV Building Block Introduction
Software Defined Networking (SDN) / Network Function Virtualization (NFV) bas...
Ad

Viewers also liked (20)

PDF
2 new hw_features_cat_cod_etc
PPTX
Understanding DPDK
PDF
4 dpdk roadmap(1)
PDF
9 creating cent_os 7_mages_for_dpdk_training
PPTX
Packet Framework - Cristian Dumitrescu
PDF
6. hands on - open mano demonstration in remote pool of servers
PDF
5. hands on - building local development environment with Open Mano
PDF
8 intel network builders overview
PDF
4. open mano set up and usage
PDF
3. configuring a compute node for nfv
PDF
Introduction to Open Mano
PDF
OVNC 2015-High performance Network Function Virtualization & VNF acceleration
PPTX
The Need for Complex Analytics from Forwarding Pipelines
PDF
Bases legales reto NFV/ Nfv challenge terms
PDF
Intrucciones reto NFV/ Instruction to apply to nfv challenge
PDF
Platforms for Accelerating the Software Defined and Virtual Infrastructure
PDF
Specializing the Data Path - Hooking into the Linux Network Stack
PPTX
Introduction to DPDK
PDF
Intel DPDK Step by Step instructions
PDF
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
2 new hw_features_cat_cod_etc
Understanding DPDK
4 dpdk roadmap(1)
9 creating cent_os 7_mages_for_dpdk_training
Packet Framework - Cristian Dumitrescu
6. hands on - open mano demonstration in remote pool of servers
5. hands on - building local development environment with Open Mano
8 intel network builders overview
4. open mano set up and usage
3. configuring a compute node for nfv
Introduction to Open Mano
OVNC 2015-High performance Network Function Virtualization & VNF acceleration
The Need for Complex Analytics from Forwarding Pipelines
Bases legales reto NFV/ Nfv challenge terms
Intrucciones reto NFV/ Instruction to apply to nfv challenge
Platforms for Accelerating the Software Defined and Virtual Infrastructure
Specializing the Data Path - Hooking into the Linux Network Stack
Introduction to DPDK
Intel DPDK Step by Step instructions
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
Ad

Similar to 5 pipeline arch_rationale (20)

PDF
Enabling NFV features in kubernetes
PDF
NFF-GO (YANFF) - Yet Another Network Function Framework
PDF
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
PPTX
dpdk acceleration techniques ncdşs şdcnş
PPTX
G rpc talk with intel (3)
PDF
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
PPTX
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
PPTX
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
PDF
Introduction to container networking in K8s - SDN/NFV London meetup
PDF
IRJET- ALPYNE - A Grid Computing Framework
PDF
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
PPT
C Cure Users Group Presentation Final 4
PDF
Learn more about the tremendous value Open Data Plane brings to NFV
PDF
Automatically partitioning packet processing applications for pipelined archi...
PDF
DUG'20: 01 - Welcome & DAOS Update
PDF
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
PDF
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
PDF
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
PPTX
TLDK - FD.io Sept 2016
PPTX
Ceph Day Taipei - Accelerate Ceph via SPDK
Enabling NFV features in kubernetes
NFF-GO (YANFF) - Yet Another Network Function Framework
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
dpdk acceleration techniques ncdşs şdcnş
G rpc talk with intel (3)
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Introduction to container networking in K8s - SDN/NFV London meetup
IRJET- ALPYNE - A Grid Computing Framework
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
C Cure Users Group Presentation Final 4
Learn more about the tremendous value Open Data Plane brings to NFV
Automatically partitioning packet processing applications for pipelined archi...
DUG'20: 01 - Welcome & DAOS Update
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
TLDK - FD.io Sept 2016
Ceph Day Taipei - Accelerate Ceph via SPDK

More from videos (14)

PDF
Logros y retos evento movilforum 02/2016
PPTX
Presentación Atlantida en Networking Day moviforum
PPTX
Presentación Quetal en Networking Day moviforum
PPTX
Presentación GMTECH en Networking Day moviforum
PDF
Presentación movilok en Networking Day moviforum
PPTX
Presentación 3G mobile en Networking Day moviforum
PPTX
Presentación microestrategy en Networking Day moviforum
PPTX
Presentación Telnet en Networking Day moviforum
PPTX
Presentación Alma technology en Networking Day movilforum
PPTX
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
PPTX
Presentación Icar Vision en Networking Day movilforum
PDF
Presentación Billage en Networking Day movilforum
PPSX
Presentación Face On en Networking Day movilforum
PDF
Hp nfv movilforum as innovation engine for cs ps
Logros y retos evento movilforum 02/2016
Presentación Atlantida en Networking Day moviforum
Presentación Quetal en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum
Presentación movilok en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforum
Presentación microestrategy en Networking Day moviforum
Presentación Telnet en Networking Day moviforum
Presentación Alma technology en Networking Day movilforum
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación Icar Vision en Networking Day movilforum
Presentación Billage en Networking Day movilforum
Presentación Face On en Networking Day movilforum
Hp nfv movilforum as innovation engine for cs ps

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
KodekX | Application Modernization Development
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
A Presentation on Artificial Intelligence
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
KodekX | Application Modernization Development
The AUB Centre for AI in Media Proposal.docx
Machine learning based COVID-19 study performance prediction
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation_ Review paper, used for researhc scholars
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
A Presentation on Artificial Intelligence
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...

5 pipeline arch_rationale

  • 2. Network Platforms Group Legal Disclaimer General Disclaimer: © Copyright 2015 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel. Experience What’s Inside are trademarks of Intel. Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. FTC Disclaimer: Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at [intel.com]. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit http://www.intel.com/performance.
  • 3. Network Platforms Group 3 Run-to-completion vs pipeline software models Processor 0 Physical Core 0 Linux* Control Plane NUMA Pool Caches Queue/Rings Buffers 10 GbE 10 GbE Physical Core 1 Intel® DPDK PMD Packet I/O Packet work Rx Tx Physical Core 2 Intel® DPDK PMD Packet I/O Flow work Rx Tx Physical Core 3 Intel® DPDK PMD Packet I/O Flow Classification App A, B, C Rx Tx Physical Core 5 Intel® DPDK PMD Packet I/O Flow Classification App A, B, C Rx Tx Run to Completion model • I/O and Application workload can be handled on a single core • I/O can be scaled over multiple cores 10 GbE Pipeline model • I/O application disperses packets to other cores • Application work performed on other cores Processor 1 Physical Core 4 Intel® DPDK 10 GbE Physical Core 5 Intel® DPDK Physical Core 0 Intel® DPDK PMD Packet I/O Hash Physical Core 1 Intel® DPDK App A App B App C Physical Core 2 Intel® DPDK App A App B App C Physical Core 3 Intel® DPDK Rx Tx 10 GbE Physical Core 4 Intel® DPDK PMD Packet I/O Flow Classification App A, B, C Rx Tx RSS Mode QPI PCIePCIePCIePCIe PCIePCIe NUMA Pool Caches Queue/Rings Buffers Look at more I/O on fewer cores with vectorization
  • 4. Network Platforms Group Simple Pipeline application RX (poll mode) Validation/ Classification Enqueue DequeueNIC NIC HW Thread API Functional block Async queue Memory pool Mbuf Sched. queues p Master core (stats)
  • 5. Network Platforms Group 5 Pipeline applications DPDK Packet Framework  development framework for building packet processing applications using standard pipeline blocks DPPD: Data Plane Performance Demonstrators  Linux user space applications based mainly intended for performance analysis purposes
  • 6. DPDK Packet framework DPDK Programmer’s Guide, Packet Framework DPDK Sample Applications User Guide, Internet Protocol (IP) Pipeline Sample Application
  • 7. Network Platforms Group 7 Rapid Development of Packet Processing Apps DPDK Packet Framework quickly turns requirements into code
  • 8. Network Platforms Group 8 Packet Framework Components # Component 1 Port library Port abstract interface API Basic ports: HWQ, SWQ Advanced ports: IP frag, IP ras, Traffic Mgr, KNI, QAT 2 Table library Table abstract interface API Tables: Hash (Extendible bucket, LRU), ACL, LPM, Array 3 Pipeline library Pipeline configuration and run-time API Configuration API implementation Run-time API implementation 4 IP Pipeline example The Internet Protocol (IP) Pipeline application illustrates the use of the DPDK Packet Framework tool suite by implementing functional blocks such as packet RX, packet TX, flow classification, firewall, routing, IP fragmentation, IP reassembly, etc which are then assigned to different CPU cores and connected together to create complex multi-core applications.
  • 9. Network Platforms Group 9 DPDK Packet Framework, Pipeline Level Ports HW queue SW queue IP Fragmentation IP Reassembly Traffic Mgr KNI Source/Sink Tables Exact Match / Hash Access Control List (ACL) Longest Prefix Match (LPM) Array Pattern Matching Pipeline Port In 0 Port In 1 Port Out 0 Port Out 1 Port Out 2 Table 0 Flow # Flow # Flow # Actions Actions Actions Table 1 Flow # Flow # Flow # Actions Actions Actions Zoom in: Pipeline level Actions Reserved actions: Send to port, Send to table, Drop Packet edits: push/pop labels, modify headers (NAT, TTL update) Flow-based: meter, stats, app ID Accelerators: crypto, compress Load Balancing librte_port librte_table Standard methodology for pipeline development. Ports and tables are connected together in tree-like topologies , with tables providing the actions to be executed on input packets.
  • 10. Network Platforms Group 10 DPDK Packet Framework, App Level Pipelines Packet I/O Flow Classification Firewall Routing Traffic Mgmt CPU Core Pipeline CPU Core Pipeline CPU Core Pipeline CPU Core P CPU Core Pipeline P Zoom out: Multi-core application level librte_pipeline The Framework breaks the app into multiple pipelines, assigns each pipeline to a specific core and chains the pipelines together
  • 11. Network Platforms Group 11 Multi-core scaling A complex application is typically split across multiple cores, with cores communicating through SW queues There is usually a performance limit on the number of table lookups and actions that can be fit on a single a single core (due to cache memory size, cache BW, memory BW, etc.) The Framework breaks the app into multiple pipelines, assigns each pipeline to a specific core and chains pipelines together One core can do more than one pipeline, but a pipeline cannot be split across multiple cores
  • 13. Network Platforms Group 13 Intel® DPPD: Data Plane Performance Demonstrators An open source application  BSD3C license Config file defines  Which cores are used  Which interfaces are used  Which tasks are executed and how configured Allows to  Find bottlenecks and measure performance  Try and compare different core layouts without changing code  Reuse config file on different systems (CPUs, hyper-threads, sockets, interfaces)
  • 14. Network Platforms Group 14 DPPD: Sample Configurations Very simple port forwarding Simple load balancer and worker thread
  • 15. Network Platforms Group 15 Finding bottlenecks
  • 16. Network Platforms Group 16 QoS and BNG(simplified view) 4 * WT4 * WT4 * WT InternetCPE Classify LB LB 6x W Interface LB = Load Balancing W = Worker TX = IO Transmit QoS=QoS Scheduler Traffic from CPE to Internet (upstream) Traffic from Internet to CPE (downstream) Classify LB LB QoS QoSTX TX QoS QoS Interface InterfaceInterface
  • 17. Network Platforms Group 17 DPPD Display