SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
OVS Confernece Nov 2017 Rony Efraim
OVS Performance on Steroids - Hardware Acceleration
Methodologies
© 2017 Mellanox Technologies 2
Agenda
OVS Offload - Accelerated Switch And Packet Processing (ASAP2)
Full OVS Offload (ASAP2 Direct) - SRIOV
• Software based VS Hardware based
• OVS support for HW offload
• OVS HW Offload – ConnectX-5 performance
• Future work for HW offload
Partial OVS Offload (ASAP2 Flex) - DPDK
• RFC OVS-DPDK using HW classification offload
• Vxlan in OVS DPDK
• Multi-table
• vxlan HW offload concept
Mellanox OVS Offload Community Work
© 2017 Mellanox Technologies 3
 ASAP2 takes advantage of ConnectX-4/5 capability to accelerate  offload “in host” network stack
 Two main use cases:
OVS Offload - Accelerated Switch And Packet Processing (ASAP2)
ASAP2 Direct
Full vSwitch offload (SR-IOV)
ASAP2 Flex
vSwitch acceleration
© 2017 Mellanox Technologies 4
Full Virtual Switch Offload
(SRIOV)
ASAP2-Direct
© 2017 Mellanox Technologies 5
Software based Vs. Hardware based
OVS-vswitchd
OVS Kernel Module
User Space
Kernel
OVS-vswitchd
OVS Kernel Module
User Space
Kernel
ConnectX-4 eSwitch
Hardware
Traditional Model: All Software
High Latency, Low Bandwidth, CPU Intensive
ConnectX-4: Hardware Offload
Low Latency, High Bandwidth, Efficient CPU
First flow packet Fallback FRWD path HW forwarded Packets
© 2017 Mellanox Technologies 6
OVS support for HW offload
 Changes are made only in the
OVS user space code.
 HW offload of flow using TC
flower.
 Packets forwarded by the
kernel datapath are transmitted
on the representors and
forwarded by the e-switch to
the respective VF or to the wire
ovs-vswitchd
ofproto
ofproto-dpifnetdev
dpif
dpif netlink
NIC
ovsdb-server
OpenFlow
controller
eSwitch (datapath)
vPorts
datapath
packets
configuration
NetDevnNetDev2NetDev1
VF
1
PF
VF
2 HW vendor driver
TC
HW
offload
Generic modified SW
Add/del/stats flow+action
(fwd, drop,tunnel ...)
netdev provider
netdev Linux
© 2017 Mellanox Technologies 7
OVS HW Offload – ConnectX-5 performance
 ConnectX-5 provide significant
performance boost
• Without adding CPU resources
7.6
MPPS
66
MPPS
4 Cores
0 Cores
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0
10
20
30
40
50
60
70
OVS over DPDK OVS Offload
NumberofDedicatedCores
MillionPacketPerSecond
Message Rate Dedicated Hypervisor Cores
Test ASAP2
Direct
OVS
DPDK
Benefit
1 Flow
VXLAN
66M PPS 7.6M PPS
(VLAN)
8.6X
60K flows
VXLAN
19.8M PPS 1.9M PPS 10.4X
© 2017 Mellanox Technologies 8
Future work for HW offload
Table offload to support recirculate
Connection tracking
LAG (bonding) for SRIOV
VF live migration
© 2017 Mellanox Technologies 9
HW accelerate OVS-DPDK
ASAP2 Flex
© 2017 Mellanox Technologies 10
RFC OVS-DPDK using HW classification offload
Flow id
cache
For every datapath rule we add a
rte_flow with flow Id
The flow id cache contains mega flow
rules
When packet is received with flow id,
no need to classify the packet to get
the rule
© 2017 Mellanox Technologies 11
RFC Performance
 Code submitted by Yuanhan Liu.
 Single core for each pmd, single queue.
Case #flows Base MPPs Offload MPPs improvement
Wire to virtio 1 5.8 8.7 50%
Wire to wire 1 6.9 11.7 70%
Wire to wire 512 4.2 11.2 267%
© 2017 Mellanox Technologies 12
Vxlan in OVS DPDK
There are 2 level of switches that are
cascaded
The HW classification accelerates
only the lower switch (br-phys1)
br-phy1 is a kernel interface for vxlan
The OVS datapath is required to
classify the inner packet
Br-phy1
Br-int
vPorts
VF
2
VF
3
VF
n
T
a
p
VMVM VM
Uplink/
PF
VF
1
T
a
p
VM
vxlan
VM VM
IP
address
Br-phy1
© 2017 Mellanox Technologies 13
Multi-table
The action of a rule can be to go to other table.
It can be used to daisy chain classification rules
Table 0
MatchA  flow ID 1
MatchB  drop
MatchC  Table 1
MatchD  Table 1
Default no flow ID
Table 1
MatchE  flow ID 2
MatchF  flow ID 3
Default flow ID 4
© 2017 Mellanox Technologies 14
VxLAN HW offload concept
If the action is to forward to internal interface add HW
rule to point to a table named the internal interface
If the in port of the rule is internal port (like vxlan),
add rule to the table named of the interface with
a flow id
When a packet is received with a flow id, use
the rule even if the in port is internal port.
A packet that tagged with flow id
is a packet that came on a physical port
and is classified according to the outer
and the inner headers
Br-phy1
Br-int
VM
Uplink/
PF
Tap
VM
vxlan
IP
address
Br-phy1MatchA  flow ID 1
MatchB  drop + count
MatchC  Table 1 + count
MatchD  Table 1 + count
Default no flow ID
MatchE  flow ID 2
MatchF  flow ID 3
Default flow ID 4
Table 1
all the rules that the src port
is the vxlan interface
VM
Tap
VM
Table 0
© 2017 Mellanox Technologies 15
VxLAN HW offload
If in port is HW port, add rule to the
HW action can be flow id or to table
according to the port to forward to
If the in port is internal port (like vxlan),
add a rule to all the HW port with
action flow id (because traffic can
came form any external/HW port)
The flow id need to be unique
Br-phy1
Br-int
VM
Uplink/
PF
Tap
VM
vxlan
IP
address
Br-phy1MatchA  flow ID 1
MatchB  drop + count
MatchC  Table 1 + count
MatchD  Table 1 + count
Default no flow ID
MatchE  flow ID 2
MatchF  flow ID 3
Default flow ID 4
Table 1
all the rules that the src port
is the vxlan interface
VM
Tap
VM
Table 0
© 2017 Mellanox Technologies 16
Mellanox OVS Offload Community Work
Linux Kernel :
Using SR-IOV offloads with Open-vSwitch – netdev conf 1.2
https://netdevconf.org/1.2/papers/efraim-gerlitz-sriov-ovs-final.pdf
Open vSwitch :
[PATCH V11 00/33] Introducing HW offload support for openvswitch
https://mail.openvswitch.org/pipermail/ovs-dev/2017-June/333957.htm
Open Stack
Os-vif : https://review.openstack.org/#/c/398277/
Nova : https://review.openstack.org/#/c/398265
Neutron : https://review.openstack.org/#/c/275616
DPDK
RTE_Flow API
OVS-DPDK RFC:
https://www.mail-archive.com/ovs-dev@openvswitch.org/msg12562.html
© 2017 Mellanox Technologies 17
ASAP2 Mellanox team
Roi Dayan
Paul Blakey
Hadar Hen Zion
Mark Bloch
Or Gerlitz
Natali Shechtman
Natan Oppenheimer
Oded Shanoon
Olga Shern
Yuanhan Liu
Moshe Levi
Rabie Loulou
Rony Efraim
Shahar Klein
Shani Michaeli
Tal Anker
Haggai Eran
Ilya Lesokhin
Lior Narkis
Vlad Buslov
Chris Mi
Thank You

Contenu connexe

Tendances

LF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDKLF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK
 
LF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to EventdevLF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK
 

Tendances (20)

LF_OVS_17_OVN and Containers - An update.
LF_OVS_17_OVN and Containers - An update.LF_OVS_17_OVN and Containers - An update.
LF_OVS_17_OVN and Containers - An update.
 
LF_OVS_17_OVS-DPDK Installation and Gotchas
LF_OVS_17_OVS-DPDK Installation and GotchasLF_OVS_17_OVS-DPDK Installation and Gotchas
LF_OVS_17_OVS-DPDK Installation and Gotchas
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
 
Open vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream KernelOpen vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream Kernel
 
DPDK Support for New HW Offloads
DPDK Support for New HW OffloadsDPDK Support for New HW Offloads
DPDK Support for New HW Offloads
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower Offload
 
DPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al SandersDPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al Sanders
 
LF_OVS_17_Enabling hardware acceleration in OVS-DPDK using DPDK Framework.
LF_OVS_17_Enabling hardware acceleration in OVS-DPDK using DPDK Framework.LF_OVS_17_Enabling hardware acceleration in OVS-DPDK using DPDK Framework.
LF_OVS_17_Enabling hardware acceleration in OVS-DPDK using DPDK Framework.
 
LF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDKLF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDK
 
Ovs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offloadOvs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offload
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
Accelerate Service Function Chaining Vertical Solution with DPDK
Accelerate Service Function Chaining Vertical Solution with DPDKAccelerate Service Function Chaining Vertical Solution with DPDK
Accelerate Service Function Chaining Vertical Solution with DPDK
 
LF_OVS_17_OVS-DPDK: Embracing your NUMA nodes.
LF_OVS_17_OVS-DPDK: Embracing your NUMA nodes.LF_OVS_17_OVS-DPDK: Embracing your NUMA nodes.
LF_OVS_17_OVS-DPDK: Embracing your NUMA nodes.
 
Accelerating Neutron with Intel DPDK
Accelerating Neutron with Intel DPDKAccelerating Neutron with Intel DPDK
Accelerating Neutron with Intel DPDK
 
DPACC Acceleration Progress and Demonstration
DPACC Acceleration Progress and DemonstrationDPACC Acceleration Progress and Demonstration
DPACC Acceleration Progress and Demonstration
 
Leveraging Network Offload to Accelerate SDN and NFV Deployments
Leveraging Network Offload to Accelerate SDN and NFV DeploymentsLeveraging Network Offload to Accelerate SDN and NFV Deployments
Leveraging Network Offload to Accelerate SDN and NFV Deployments
 
Cilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPFCilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPF
 
Open vSwitch Implementation Options
Open vSwitch Implementation Options Open vSwitch Implementation Options
Open vSwitch Implementation Options
 
Quality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware OffloadsQuality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware Offloads
 
LF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to EventdevLF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to Eventdev
 

En vedette (8)

LF_OVS_17_OvS Hardware Offload with TC Flower
LF_OVS_17_OvS Hardware Offload with TC FlowerLF_OVS_17_OvS Hardware Offload with TC Flower
LF_OVS_17_OvS Hardware Offload with TC Flower
 
LF_OVS_17_OVS-DPDK for NFV: go live feedback!
LF_OVS_17_OVS-DPDK for NFV: go live feedback!LF_OVS_17_OVS-DPDK for NFV: go live feedback!
LF_OVS_17_OVS-DPDK for NFV: go live feedback!
 
LF_OVS_17_OVN and Kelda
LF_OVS_17_OVN and KeldaLF_OVS_17_OVN and Kelda
LF_OVS_17_OVN and Kelda
 
LF_OVS_17_Day 2 Closing Remarks
LF_OVS_17_Day 2 Closing RemarksLF_OVS_17_Day 2 Closing Remarks
LF_OVS_17_Day 2 Closing Remarks
 
LF_OVS_17_The birth of SmartNICs -- offloading dataplane traffic to...software
LF_OVS_17_The birth of SmartNICs -- offloading dataplane traffic to...softwareLF_OVS_17_The birth of SmartNICs -- offloading dataplane traffic to...software
LF_OVS_17_The birth of SmartNICs -- offloading dataplane traffic to...software
 
LF_OVS_17_Day 2 Opening Remarks
LF_OVS_17_Day 2 Opening RemarksLF_OVS_17_Day 2 Opening Remarks
LF_OVS_17_Day 2 Opening Remarks
 
LF_OVS_17_CORD: An open source platform to reinvent the network edge
LF_OVS_17_CORD: An open source platform to reinvent the network edgeLF_OVS_17_CORD: An open source platform to reinvent the network edge
LF_OVS_17_CORD: An open source platform to reinvent the network edge
 
LF_OVS_17_DigitalOcean Cloud Firewalls: powered by OvS and conntrack
LF_OVS_17_DigitalOcean Cloud Firewalls: powered by OvS and conntrackLF_OVS_17_DigitalOcean Cloud Firewalls: powered by OvS and conntrack
LF_OVS_17_DigitalOcean Cloud Firewalls: powered by OvS and conntrack
 

Similaire à LF_OVS_17_OVS Performance on Steroids - Hardware Acceleration Methodologies

Integrate steelhead into iwan
Integrate steelhead into iwanIntegrate steelhead into iwan
Integrate steelhead into iwan
luis2203
 
Go with the Flow-v2
Go with the Flow-v2Go with the Flow-v2
Go with the Flow-v2
Zobair Khan
 

Similaire à LF_OVS_17_OVS Performance on Steroids - Hardware Acceleration Methodologies (20)

Can the Open vSwitch (OVS) bottleneck be resolved? - Erez Cohen - OpenStack D...
Can the Open vSwitch (OVS) bottleneck be resolved? - Erez Cohen - OpenStack D...Can the Open vSwitch (OVS) bottleneck be resolved? - Erez Cohen - OpenStack D...
Can the Open vSwitch (OVS) bottleneck be resolved? - Erez Cohen - OpenStack D...
 
HAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged DataHAWQ Meets Hive - Querying Unmanaged Data
HAWQ Meets Hive - Querying Unmanaged Data
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutron
 
OpenStack & OVS: From Love-Hate Relationship to Match Made in Heaven - Erez C...
OpenStack & OVS: From Love-Hate Relationship to Match Made in Heaven - Erez C...OpenStack & OVS: From Love-Hate Relationship to Match Made in Heaven - Erez C...
OpenStack & OVS: From Love-Hate Relationship to Match Made in Heaven - Erez C...
 
Hawq meets Hive - DataWorks San Jose 2017
Hawq meets Hive - DataWorks San Jose 2017Hawq meets Hive - DataWorks San Jose 2017
Hawq meets Hive - DataWorks San Jose 2017
 
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
 
LF_DPDK_Mellanox bifurcated driver model
LF_DPDK_Mellanox bifurcated driver modelLF_DPDK_Mellanox bifurcated driver model
LF_DPDK_Mellanox bifurcated driver model
 
OpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupOpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetup
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouver
 
Integrate steelhead into iwan
Integrate steelhead into iwanIntegrate steelhead into iwan
Integrate steelhead into iwan
 
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauser
 
Openstack meetup: NFV and Openstack
Openstack meetup: NFV and OpenstackOpenstack meetup: NFV and Openstack
Openstack meetup: NFV and Openstack
 
SRv6-TOI-rev3i-EXTERNAL.pdf
SRv6-TOI-rev3i-EXTERNAL.pdfSRv6-TOI-rev3i-EXTERNAL.pdf
SRv6-TOI-rev3i-EXTERNAL.pdf
 
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
 
Go with the Flow-v2
Go with the Flow-v2Go with the Flow-v2
Go with the Flow-v2
 
Go with the Flow
Go with the Flow Go with the Flow
Go with the Flow
 
Open coud networking at full speed - Avi Alkobi
Open coud networking at full speed - Avi AlkobiOpen coud networking at full speed - Avi Alkobi
Open coud networking at full speed - Avi Alkobi
 
Inf net2227 heath
Inf net2227 heathInf net2227 heath
Inf net2227 heath
 
Openstack meetup NFV
Openstack meetup NFV Openstack meetup NFV
Openstack meetup NFV
 

Plus de LF_OpenvSwitch (6)

LF_OVS_17_Day 1 Opening Remarks
LF_OVS_17_Day 1 Opening RemarksLF_OVS_17_Day 1 Opening Remarks
LF_OVS_17_Day 1 Opening Remarks
 
LF_OVS_17_Conntrack + OvS
LF_OVS_17_Conntrack + OvSLF_OVS_17_Conntrack + OvS
LF_OVS_17_Conntrack + OvS
 
LF_OVS_17_OVN at Nutanix
LF_OVS_17_OVN at NutanixLF_OVS_17_OVN at Nutanix
LF_OVS_17_OVN at Nutanix
 
LF_OVS_17_Riley: Pushing networking to the edge
LF_OVS_17_Riley: Pushing networking to the edgeLF_OVS_17_Riley: Pushing networking to the edge
LF_OVS_17_Riley: Pushing networking to the edge
 
LF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDKLF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDK
 
LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membe...
LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membe...LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membe...
LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membe...
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

LF_OVS_17_OVS Performance on Steroids - Hardware Acceleration Methodologies

  • 1. OVS Confernece Nov 2017 Rony Efraim OVS Performance on Steroids - Hardware Acceleration Methodologies
  • 2. © 2017 Mellanox Technologies 2 Agenda OVS Offload - Accelerated Switch And Packet Processing (ASAP2) Full OVS Offload (ASAP2 Direct) - SRIOV • Software based VS Hardware based • OVS support for HW offload • OVS HW Offload – ConnectX-5 performance • Future work for HW offload Partial OVS Offload (ASAP2 Flex) - DPDK • RFC OVS-DPDK using HW classification offload • Vxlan in OVS DPDK • Multi-table • vxlan HW offload concept Mellanox OVS Offload Community Work
  • 3. © 2017 Mellanox Technologies 3  ASAP2 takes advantage of ConnectX-4/5 capability to accelerate offload “in host” network stack  Two main use cases: OVS Offload - Accelerated Switch And Packet Processing (ASAP2) ASAP2 Direct Full vSwitch offload (SR-IOV) ASAP2 Flex vSwitch acceleration
  • 4. © 2017 Mellanox Technologies 4 Full Virtual Switch Offload (SRIOV) ASAP2-Direct
  • 5. © 2017 Mellanox Technologies 5 Software based Vs. Hardware based OVS-vswitchd OVS Kernel Module User Space Kernel OVS-vswitchd OVS Kernel Module User Space Kernel ConnectX-4 eSwitch Hardware Traditional Model: All Software High Latency, Low Bandwidth, CPU Intensive ConnectX-4: Hardware Offload Low Latency, High Bandwidth, Efficient CPU First flow packet Fallback FRWD path HW forwarded Packets
  • 6. © 2017 Mellanox Technologies 6 OVS support for HW offload  Changes are made only in the OVS user space code.  HW offload of flow using TC flower.  Packets forwarded by the kernel datapath are transmitted on the representors and forwarded by the e-switch to the respective VF or to the wire ovs-vswitchd ofproto ofproto-dpifnetdev dpif dpif netlink NIC ovsdb-server OpenFlow controller eSwitch (datapath) vPorts datapath packets configuration NetDevnNetDev2NetDev1 VF 1 PF VF 2 HW vendor driver TC HW offload Generic modified SW Add/del/stats flow+action (fwd, drop,tunnel ...) netdev provider netdev Linux
  • 7. © 2017 Mellanox Technologies 7 OVS HW Offload – ConnectX-5 performance  ConnectX-5 provide significant performance boost • Without adding CPU resources 7.6 MPPS 66 MPPS 4 Cores 0 Cores 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 10 20 30 40 50 60 70 OVS over DPDK OVS Offload NumberofDedicatedCores MillionPacketPerSecond Message Rate Dedicated Hypervisor Cores Test ASAP2 Direct OVS DPDK Benefit 1 Flow VXLAN 66M PPS 7.6M PPS (VLAN) 8.6X 60K flows VXLAN 19.8M PPS 1.9M PPS 10.4X
  • 8. © 2017 Mellanox Technologies 8 Future work for HW offload Table offload to support recirculate Connection tracking LAG (bonding) for SRIOV VF live migration
  • 9. © 2017 Mellanox Technologies 9 HW accelerate OVS-DPDK ASAP2 Flex
  • 10. © 2017 Mellanox Technologies 10 RFC OVS-DPDK using HW classification offload Flow id cache For every datapath rule we add a rte_flow with flow Id The flow id cache contains mega flow rules When packet is received with flow id, no need to classify the packet to get the rule
  • 11. © 2017 Mellanox Technologies 11 RFC Performance  Code submitted by Yuanhan Liu.  Single core for each pmd, single queue. Case #flows Base MPPs Offload MPPs improvement Wire to virtio 1 5.8 8.7 50% Wire to wire 1 6.9 11.7 70% Wire to wire 512 4.2 11.2 267%
  • 12. © 2017 Mellanox Technologies 12 Vxlan in OVS DPDK There are 2 level of switches that are cascaded The HW classification accelerates only the lower switch (br-phys1) br-phy1 is a kernel interface for vxlan The OVS datapath is required to classify the inner packet Br-phy1 Br-int vPorts VF 2 VF 3 VF n T a p VMVM VM Uplink/ PF VF 1 T a p VM vxlan VM VM IP address Br-phy1
  • 13. © 2017 Mellanox Technologies 13 Multi-table The action of a rule can be to go to other table. It can be used to daisy chain classification rules Table 0 MatchA  flow ID 1 MatchB  drop MatchC  Table 1 MatchD  Table 1 Default no flow ID Table 1 MatchE  flow ID 2 MatchF  flow ID 3 Default flow ID 4
  • 14. © 2017 Mellanox Technologies 14 VxLAN HW offload concept If the action is to forward to internal interface add HW rule to point to a table named the internal interface If the in port of the rule is internal port (like vxlan), add rule to the table named of the interface with a flow id When a packet is received with a flow id, use the rule even if the in port is internal port. A packet that tagged with flow id is a packet that came on a physical port and is classified according to the outer and the inner headers Br-phy1 Br-int VM Uplink/ PF Tap VM vxlan IP address Br-phy1MatchA  flow ID 1 MatchB  drop + count MatchC  Table 1 + count MatchD  Table 1 + count Default no flow ID MatchE  flow ID 2 MatchF  flow ID 3 Default flow ID 4 Table 1 all the rules that the src port is the vxlan interface VM Tap VM Table 0
  • 15. © 2017 Mellanox Technologies 15 VxLAN HW offload If in port is HW port, add rule to the HW action can be flow id or to table according to the port to forward to If the in port is internal port (like vxlan), add a rule to all the HW port with action flow id (because traffic can came form any external/HW port) The flow id need to be unique Br-phy1 Br-int VM Uplink/ PF Tap VM vxlan IP address Br-phy1MatchA  flow ID 1 MatchB  drop + count MatchC  Table 1 + count MatchD  Table 1 + count Default no flow ID MatchE  flow ID 2 MatchF  flow ID 3 Default flow ID 4 Table 1 all the rules that the src port is the vxlan interface VM Tap VM Table 0
  • 16. © 2017 Mellanox Technologies 16 Mellanox OVS Offload Community Work Linux Kernel : Using SR-IOV offloads with Open-vSwitch – netdev conf 1.2 https://netdevconf.org/1.2/papers/efraim-gerlitz-sriov-ovs-final.pdf Open vSwitch : [PATCH V11 00/33] Introducing HW offload support for openvswitch https://mail.openvswitch.org/pipermail/ovs-dev/2017-June/333957.htm Open Stack Os-vif : https://review.openstack.org/#/c/398277/ Nova : https://review.openstack.org/#/c/398265 Neutron : https://review.openstack.org/#/c/275616 DPDK RTE_Flow API OVS-DPDK RFC: https://www.mail-archive.com/ovs-dev@openvswitch.org/msg12562.html
  • 17. © 2017 Mellanox Technologies 17 ASAP2 Mellanox team Roi Dayan Paul Blakey Hadar Hen Zion Mark Bloch Or Gerlitz Natali Shechtman Natan Oppenheimer Oded Shanoon Olga Shern Yuanhan Liu Moshe Levi Rabie Loulou Rony Efraim Shahar Klein Shani Michaeli Tal Anker Haggai Eran Ilya Lesokhin Lior Narkis Vlad Buslov Chris Mi