SlideShare a Scribd company logo
Optimizing OvS using DPDK
Membership Library
Intel Labs
Yipeng Wang & Sameh Gobriel
2
Legal Disclaimers
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a
particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in
trade.
This document contains information on products, services and/or processes in development. All information provided here is subject
to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.
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.
© 2017 Intel Corporation. Intel, the Intel logo, Intel. Experience What’s Inside, and the Intel. Experience What’s Inside logo 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.
Contributors
Charlie Tai Charlie.tai@intel.com
Ren Wang ren.wang@intel.com
Antonio Fischetti antonio.fischetti@intel.com
OvS De Facto Virtual Switch for NFV Environments
4
Memory
C
$				LLC
$				Lx
C
$				Lx
Memory
C
$				LLC
$				Lx
C
$				Lx
NIC NIC
• General purpose processors withCache/memoryhierarchycan
support muchlargerflowtables.
• Multicores architectureprovide a scalablecompetitiveflow
classificationperformance.
TEM/OEM	
Proprietary	OS		
ASIC,	DSP,	
FPGA,	ASSP
• Network appliances use purpose-built H/W&
ASICs (e.g., TCAM) forflowclassification
• Cost & power consumption are limiting factors to
support large number offlows
Monolithic Purpose-built Boxes
NFV
Hypervisor	(e.g.	ESXi,	KVM,..	etc.)
O
Open	vSwitch
Networking VMs on Standard Servers
5
Open vSwitch Flow Lookup
Mask	N
1xxx	xxxx
0xxx	xxxx
Flow	Mask Mask	L
01xx	xxxx	
10xx	xxxx
1110	0000
110x	xxxx	
101x	xxxx	
111x	xxxx	
011x	xxxx
1111	0000
1010	xxxx	
0011	xxxx	
1011	xxxx
Rules Match
Packet	Header
1. Set of disjoint sub-table withnopriority
2. Rule is only insertedintoone sub-table (lookupterminates after first match)
3. Lookup is donebysequentially searcheach sub-table untila matchis found
Fig. Vtunes OVS flow lookup process (bypass EMC). Test case: 20 sub-tables, each has 100 rules.
OvS Flow Classification is a
bottleneck
6
Membership Test Usage (example)
Blacklisted	Flow	1
Blacklisted	Flow	2
Blacklisted	Flow	3
Blacklisted	Flow	N
Clients
Incoming	Flows
Legitimate	Flows	
are	Forwarded	to	
Backend	Server	
Build
Set	{..}
Set	of	Blacklisted	Flows	
to	be	Dropped
Membership	Test	?
Check	if	Flow	Belongs	to	
Blacklisted	Set
SN
S2
S1
Set	Summary
A	Summary	Instead	Of	
Storing	Original	ListMembership Library is a DPDK Library to Provide Users the Functionality to
Create Different Types of Set-Summaries
7
Overview of DPDK Membership Library in V17.11
Set	
Summary
Is	X	in	set?
No
Is	X	in	set?
Very	
probable	yes
Get	X
Summary	of	items	in	Probabilistic	data	structure
• Handle	membership	test	questions
• Much	smaller	storage
• Much	faster	than	huge	set	lookup
• [Multi-Set]:	Returns	X	is	not	found	or	which	set	it	
belongs	to	(with	high	probability)	
Huge	Set
[Millions	of	
Entries]
1-	Too	Much	Storage
2-	Slow	Lookup
Bloom	Filter
Vector	Bloom	
Filter
Hash	Table	Set	
Summary
Cuckoo	
Distributor
Membership	Library
8
Two Level Lookup for MFC
Mask	N
1xxx	xxxx
0xxx	xxxx
Flow	Mask Mask	L
01xx	xxxx	
10xx	xxxx
1110	0000
110x	xxxx	
101x	xxxx	
111x	xxxx	
011x	xxxx
1111	0000
1010	xxxx	
0011	xxxx	
1011	xxxx
Rules Match
Packet	Header
1st
	Level	of	
Indirection
Set	Summary	Provided	
by	Membership	Library
Mask	N
1xxx	xxxx
0xxx	xxxx
Mask	L
01xx	xxxx	
10xx	xxxx
1110	0000
110x	xxxx	
101x	xxxx	
111x	xxxx	
011x	xxxx
1111	0000
1010	xxxx	
0011	xxxx	
1011	xxxx
Match
Packet	Header
• Membership library used to create a 1st
level set-summary indirection
• Flow Keys are looked up in set-
summaries:
• Hits: directs to the correct sub-table for searching
(correct 97%)
• Misses: “New” flow default sequential search &
upcall if needed
9
Dynamic Operation & Sub-Table Ranking
Mask	N
1xxx	xxxx
0xxx	xxxx
Flow	Mask Mask	L
01xx	xxxx	
10xx	xxxx
1110	0000
110x	xxxx	
101x	xxxx	
111x	xxxx	
011x	xxxx
1111	0000
1010	xxxx	
0011	xxxx	
1011	xxxx
Rules Match
Packet	Header
1st
	Level	of	
Indirection
Set	Summary	Provided	
by	Membership	Library
Number	of	Sub-tables	
Traversed
Mask	N
1xxx	xxxx
0xxx	xxxx
Mask	L
01xx	xxxx	
10xx	xxxx
1110	0000
110x	xxxx	
101x	xxxx	
111x	xxxx	
011x	xxxx
1111	0000
1010	xxxx	
0011	xxxx	
1011	xxxx
Match
Packet	Header
1
2
• Sub-table Ranking:
• Based on number of hits per sub-table à
optimize the order of sequential search.
• First level is switched ON/OFF
• If average number of sub-tables (without first
level) traversed is small à turn off
10
Implementation Overview
Rte_member_lookup
Sequential	search	of	tuples
(upcall	possible)
Pkt	miss	emc
hit
miss
Rte_member_add()
Initilization:
Rte_member_create()	to	create	
set-summary
Emc	lookup
packets
tuple	lookup miss
Hit
Return	rules
New ML Code
OvS Code
Legend
11
Performance Gain
2X-3X Throughput Improvement for OvS using
DPDK Membership Library
1.8
1.6
5
4.4
0
1
2
3
4
5
6
EMC OFF EMC ON
MaxForwardingRate(MPPS)
20 Sub-Table - 10k flow – Uniform Traffic
Orig OvS-DPDK OvS-DPDK + ML Library
2.7X
2.7X
12
Conclusion
• MegaFlow Lookup has scalability bottleneck, especially with uniform distribution
traffic patterns.
• The membership structure optimizes flow lookup in OvS and avoids the sequential
search of the sub-tables.
• Using DPDK Membership Library, first level of indirection is created to direct flow to
the correct sub-table.
• Dynamic turning on/off to avoid overhead of first level when not needed.
• DPDK V17.11 released with Membership Library … Patch to be submitted to the
mailing list, please review and test in your workload.
Questions?
sameh.gobriel@intel.com
charlie.tai@intel.com

More Related Content

PDF
LF_OVS_17_IPSEC and OVS DPDK
PDF
LF_OVS_17_Riley: Pushing networking to the edge
PDF
6 profiling tools
PDF
Introduction to nfv movilforum
PDF
Intel NFVi Enabling Kit Demo/Lab
PDF
Making Networking Apps Scream on Windows with DPDK
PDF
Accelerating Virtual Machine Access with the Storage Performance Development ...
PDF
3 additional dpdk_theory(1)
LF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_Riley: Pushing networking to the edge
6 profiling tools
Introduction to nfv movilforum
Intel NFVi Enabling Kit Demo/Lab
Making Networking Apps Scream on Windows with DPDK
Accelerating Virtual Machine Access with the Storage Performance Development ...
3 additional dpdk_theory(1)

What's hot (20)

PPTX
Revisit DCA, PCIe TPH and DDIO
PDF
Intel dpdk Tutorial
PPTX
Performance out of the box developers
PDF
DPDK Architecture Musings - Andy Harvey
PDF
Polyteda Power DRC/LVS July 2016
PDF
Quieting noisy neighbor with Intel® Resource Director Technology
PDF
Ligato - A platform for development of Cloud-Native VNF's - SDN/NFV London me...
PPT
CCNA Icnd110 s06l03
PDF
Exadata deployment life cycle
PDF
Polyteda: Power DRC/LVS, October 2016
PPTX
Device Programmability with Cisco Plug-n-Play Solution
PPTX
Oracle Database Appliance RAC in a box Some Strings Attached
PDF
Oracle11g Security
PDF
Better Network Management Through Network Programmability
PDF
XPDDS18: Xen Testing at Intel - Xudong Hao, Intel
PPT
POLYTEDA: Power DRC/LVS, June 2017
PDF
Building, deploying and testing an industrial linux platform @ Open source su...
PDF
82599 sriov vm configuration notes
PPTX
VMworld 2016: Troubleshooting 101 for Horizon
PDF
AMD EPYC™ Microprocessor Architecture
 
Revisit DCA, PCIe TPH and DDIO
Intel dpdk Tutorial
Performance out of the box developers
DPDK Architecture Musings - Andy Harvey
Polyteda Power DRC/LVS July 2016
Quieting noisy neighbor with Intel® Resource Director Technology
Ligato - A platform for development of Cloud-Native VNF's - SDN/NFV London me...
CCNA Icnd110 s06l03
Exadata deployment life cycle
Polyteda: Power DRC/LVS, October 2016
Device Programmability with Cisco Plug-n-Play Solution
Oracle Database Appliance RAC in a box Some Strings Attached
Oracle11g Security
Better Network Management Through Network Programmability
XPDDS18: Xen Testing at Intel - Xudong Hao, Intel
POLYTEDA: Power DRC/LVS, June 2017
Building, deploying and testing an industrial linux platform @ Open source su...
82599 sriov vm configuration notes
VMworld 2016: Troubleshooting 101 for Horizon
AMD EPYC™ Microprocessor Architecture
 
Ad

Viewers also liked (15)

PDF
LF_OVS_17_Ingress Scheduling
PDF
LF_OVS_17_Day 1 Opening Remarks
PDF
LF_OVS_17_Conntrack + OvS
PDF
LF_OVS_17_OVS-DPDK: Embracing your NUMA nodes.
PDF
LF_OVS_17_OVS-DPDK Installation and Gotchas
PDF
LF_OVS_17_Open vSwitch Offload: Conntrack and the Upstream Kernel
PDF
LF_OVS_17_OVN at Nutanix
PDF
LF_OVS_17_OVN and Containers - An update.
PDF
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
PDF
LF_OVS_17_State of the OVN
PDF
LF_OVS_17_OVS-DPDK for NFV: go live feedback!
PDF
LF_OVS_17_Day 2 Opening Remarks
PDF
LF_OVS_17_DigitalOcean Cloud Firewalls: powered by OvS and conntrack
PDF
LF_OVS_17_CORD: An open source platform to reinvent the network edge
PDF
LF_OVS_17_The birth of SmartNICs -- offloading dataplane traffic to...software
LF_OVS_17_Ingress Scheduling
LF_OVS_17_Day 1 Opening Remarks
LF_OVS_17_Conntrack + OvS
LF_OVS_17_OVS-DPDK: Embracing your NUMA nodes.
LF_OVS_17_OVS-DPDK Installation and Gotchas
LF_OVS_17_Open vSwitch Offload: Conntrack and the Upstream Kernel
LF_OVS_17_OVN at Nutanix
LF_OVS_17_OVN and Containers - An update.
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_State of the OVN
LF_OVS_17_OVS-DPDK for NFV: go live feedback!
LF_OVS_17_Day 2 Opening Remarks
LF_OVS_17_DigitalOcean Cloud Firewalls: powered by OvS and conntrack
LF_OVS_17_CORD: An open source platform to reinvent the network edge
LF_OVS_17_The birth of SmartNICs -- offloading dataplane traffic to...software
Ad

Similar to LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membership Library (15)

PDF
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
PDF
LF_DPDK17_DPDK Membership Library
PDF
LF_OVS_17_Enabling hardware acceleration in OVS-DPDK using DPDK Framework.
PDF
Accelerate Service Function Chaining Vertical Solution with DPDK
PPTX
DPDK layer for porting IPS-IDS
PDF
LF_DPDK17_Integrating and using DPDK with Open vSwitch
PDF
What are latest new features that DPDK brings into 2018?
PDF
Platform Observability and Infrastructure Closed Loops
PDF
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
PDF
Dev Conf 2017 - Meeting nfv networking requirements
PDF
DPDK: Multi Architecture High Performance Packet Processing
PDF
P4/FPGA, Packet Acceleration
PPTX
Closed Loop Platform Automation - Tong Zhong & Emma Collins
PPTX
Closed-Loop Platform Automation by Tong Zhong and Emma Collins
PPTX
OVS v OVS-DPDK
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
LF_DPDK17_DPDK Membership Library
LF_OVS_17_Enabling hardware acceleration in OVS-DPDK using DPDK Framework.
Accelerate Service Function Chaining Vertical Solution with DPDK
DPDK layer for porting IPS-IDS
LF_DPDK17_Integrating and using DPDK with Open vSwitch
What are latest new features that DPDK brings into 2018?
Platform Observability and Infrastructure Closed Loops
[Thomas chamberlain] learning_om_ne_t++(z-lib.org)
Dev Conf 2017 - Meeting nfv networking requirements
DPDK: Multi Architecture High Performance Packet Processing
P4/FPGA, Packet Acceleration
Closed Loop Platform Automation - Tong Zhong & Emma Collins
Closed-Loop Platform Automation by Tong Zhong and Emma Collins
OVS v OVS-DPDK

More from LF_OpenvSwitch (8)

PDF
LF_OVS_17_Day 2 Closing Remarks
PDF
LF_OVS_17_OVN and Kelda
PDF
LF_OVS_17_OvS manipulation with Go at DigitalOcean
PDF
LF_OVS_17_OvS Hardware Offload with TC Flower
PDF
LF_OVS_17_Red Hat's perspective on OVS HW Offload Status
PDF
LF_OVS_17_OVS Performance on Steroids - Hardware Acceleration Methodologies
PDF
LF_OVS_17_Enabling Hardware Offload of OVS Control & Data plane using LiquidIO
PDF
LF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_Day 2 Closing Remarks
LF_OVS_17_OVN and Kelda
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS Hardware Offload with TC Flower
LF_OVS_17_Red Hat's perspective on OVS HW Offload Status
LF_OVS_17_OVS Performance on Steroids - Hardware Acceleration Methodologies
LF_OVS_17_Enabling Hardware Offload of OVS Control & Data plane using LiquidIO
LF_OVS_17_LXC Linux Containers over Open vSwitch

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
A Presentation on Artificial Intelligence
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Electronic commerce courselecture one. Pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
Teaching material agriculture food technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Dropbox Q2 2025 Financial Results & Investor Presentation
A Presentation on Artificial Intelligence
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Electronic commerce courselecture one. Pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Chapter 3 Spatial Domain Image Processing.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
Encapsulation_ Review paper, used for researhc scholars
Teaching material agriculture food technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...

LF_OVS_17_OvS-CD: Optimizing Flow Classification for OvS using the DPDK Membership Library

  • 1. Optimizing OvS using DPDK Membership Library Intel Labs Yipeng Wang & Sameh Gobriel
  • 2. 2 Legal Disclaimers No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps. 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. © 2017 Intel Corporation. Intel, the Intel logo, Intel. Experience What’s Inside, and the Intel. Experience What’s Inside logo 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.
  • 3. Contributors Charlie Tai Charlie.tai@intel.com Ren Wang ren.wang@intel.com Antonio Fischetti antonio.fischetti@intel.com
  • 4. OvS De Facto Virtual Switch for NFV Environments 4 Memory C $ LLC $ Lx C $ Lx Memory C $ LLC $ Lx C $ Lx NIC NIC • General purpose processors withCache/memoryhierarchycan support muchlargerflowtables. • Multicores architectureprovide a scalablecompetitiveflow classificationperformance. TEM/OEM Proprietary OS ASIC, DSP, FPGA, ASSP • Network appliances use purpose-built H/W& ASICs (e.g., TCAM) forflowclassification • Cost & power consumption are limiting factors to support large number offlows Monolithic Purpose-built Boxes NFV Hypervisor (e.g. ESXi, KVM,.. etc.) O Open vSwitch Networking VMs on Standard Servers
  • 5. 5 Open vSwitch Flow Lookup Mask N 1xxx xxxx 0xxx xxxx Flow Mask Mask L 01xx xxxx 10xx xxxx 1110 0000 110x xxxx 101x xxxx 111x xxxx 011x xxxx 1111 0000 1010 xxxx 0011 xxxx 1011 xxxx Rules Match Packet Header 1. Set of disjoint sub-table withnopriority 2. Rule is only insertedintoone sub-table (lookupterminates after first match) 3. Lookup is donebysequentially searcheach sub-table untila matchis found Fig. Vtunes OVS flow lookup process (bypass EMC). Test case: 20 sub-tables, each has 100 rules. OvS Flow Classification is a bottleneck
  • 6. 6 Membership Test Usage (example) Blacklisted Flow 1 Blacklisted Flow 2 Blacklisted Flow 3 Blacklisted Flow N Clients Incoming Flows Legitimate Flows are Forwarded to Backend Server Build Set {..} Set of Blacklisted Flows to be Dropped Membership Test ? Check if Flow Belongs to Blacklisted Set SN S2 S1 Set Summary A Summary Instead Of Storing Original ListMembership Library is a DPDK Library to Provide Users the Functionality to Create Different Types of Set-Summaries
  • 7. 7 Overview of DPDK Membership Library in V17.11 Set Summary Is X in set? No Is X in set? Very probable yes Get X Summary of items in Probabilistic data structure • Handle membership test questions • Much smaller storage • Much faster than huge set lookup • [Multi-Set]: Returns X is not found or which set it belongs to (with high probability) Huge Set [Millions of Entries] 1- Too Much Storage 2- Slow Lookup Bloom Filter Vector Bloom Filter Hash Table Set Summary Cuckoo Distributor Membership Library
  • 8. 8 Two Level Lookup for MFC Mask N 1xxx xxxx 0xxx xxxx Flow Mask Mask L 01xx xxxx 10xx xxxx 1110 0000 110x xxxx 101x xxxx 111x xxxx 011x xxxx 1111 0000 1010 xxxx 0011 xxxx 1011 xxxx Rules Match Packet Header 1st Level of Indirection Set Summary Provided by Membership Library Mask N 1xxx xxxx 0xxx xxxx Mask L 01xx xxxx 10xx xxxx 1110 0000 110x xxxx 101x xxxx 111x xxxx 011x xxxx 1111 0000 1010 xxxx 0011 xxxx 1011 xxxx Match Packet Header • Membership library used to create a 1st level set-summary indirection • Flow Keys are looked up in set- summaries: • Hits: directs to the correct sub-table for searching (correct 97%) • Misses: “New” flow default sequential search & upcall if needed
  • 9. 9 Dynamic Operation & Sub-Table Ranking Mask N 1xxx xxxx 0xxx xxxx Flow Mask Mask L 01xx xxxx 10xx xxxx 1110 0000 110x xxxx 101x xxxx 111x xxxx 011x xxxx 1111 0000 1010 xxxx 0011 xxxx 1011 xxxx Rules Match Packet Header 1st Level of Indirection Set Summary Provided by Membership Library Number of Sub-tables Traversed Mask N 1xxx xxxx 0xxx xxxx Mask L 01xx xxxx 10xx xxxx 1110 0000 110x xxxx 101x xxxx 111x xxxx 011x xxxx 1111 0000 1010 xxxx 0011 xxxx 1011 xxxx Match Packet Header 1 2 • Sub-table Ranking: • Based on number of hits per sub-table à optimize the order of sequential search. • First level is switched ON/OFF • If average number of sub-tables (without first level) traversed is small à turn off
  • 11. 11 Performance Gain 2X-3X Throughput Improvement for OvS using DPDK Membership Library 1.8 1.6 5 4.4 0 1 2 3 4 5 6 EMC OFF EMC ON MaxForwardingRate(MPPS) 20 Sub-Table - 10k flow – Uniform Traffic Orig OvS-DPDK OvS-DPDK + ML Library 2.7X 2.7X
  • 12. 12 Conclusion • MegaFlow Lookup has scalability bottleneck, especially with uniform distribution traffic patterns. • The membership structure optimizes flow lookup in OvS and avoids the sequential search of the sub-tables. • Using DPDK Membership Library, first level of indirection is created to direct flow to the correct sub-table. • Dynamic turning on/off to avoid overhead of first level when not needed. • DPDK V17.11 released with Membership Library … Patch to be submitted to the mailing list, please review and test in your workload.