Flow Table Cache Size Adjustment for SDN Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software-defined networking (SDN) faces performance challenges due to the lack of application-specific integrated circuits (ASICs) in software switching elements, which are typically hosted on general-purpose hardware, leading to inefficiencies in forwarding operations.
Innovation Solution
A physical forwarding element dynamically adjusts the size of the flow table cache based on iteration duration, using an additive-increase/multiplicative-decrease algorithm to optimize cache size and perform operations such as validation, flow eviction, and statistics updates, allowing for efficient processing of packets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a software switching element is used instead of a hardware switch, then flexibility and programmability are improved, but forwarding performance deteriorates due to lack of ASICs
Solution Approach 1:
The patent segments the forwarding element into two distinct components: a control plane running software logic for flexibility and programmability, and a data plane utilizing hardware-based flow tables and fast path processing for high-performance forwarding. This segmentation allows each component to optimize for its specific function, resolving the contradiction between software flexibility and hardware performance.
2Quantity of substance
If the flow table cache size is increased, then the number of flows that can be cached is improved, but the time to iterate through flows increases
Solution Approach 1:
The patent implements dynamic adjustment of the flow table cache size based on current network conditions and flow characteristics. The system monitors cache performance metrics and automatically adjusts the cache size to optimize the balance between storing more flows and maintaining fast iteration speeds, preventing both overflow and excessive iteration time.
Solution Approach 2:
The system changes the cache size parameter dynamically based on workload demands. When network traffic patterns indicate high flow diversity, the cache size is increased to accommodate more flows. When traffic is more predictable or cache pressure is high, the size is reduced to maintain fast iteration, thus adapting the parameter to current operational needs.
3Reliability
If flow validation operations are performed on each flow in the cache, then flow accuracy is improved, but processing time increases
Solution Approach 1:
The patent applies partial validation by performing flow validation operations selectively rather than on every flow in the cache. The system identifies and validates only those flows that are likely to be accessed or have changed, based on access patterns and modification events. This partial action approach maintains flow accuracy for critical entries while avoiding the excessive processing time that would result from validating every single flow.
Data Source
AI summary
Some embodiments provide a physical forwarding that installs flows in a flow table cache and uses the flows to process packets. In addition, the physical forwarding element iterates through each flow and validates the flow. In some embodiments, the physical forwarding element performs the installation and validation operations in a multi-threaded manner. The physical forwarding element in some such embodiments includes a set of one or more upcall handlers to install flows in the cache, and a set of one or more revalidators to validate the flows in the cache. In its own thread, an upcall handler may run independently of each revalidator in the set of revalidators. In another thread, a revalidator may run independently of each upcall handler and each other revalidator.


