Network Classification Resource Partitioning for Scalable Flow Lookup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High performance networks face challenges in scaling packet classification resources to handle increasing numbers of flows and overlay protocols, leading to complexity in packet parsing and processing, particularly due to large L2-L4 packet parsing and enforcement rules, which existing technologies struggle to maintain throughput, latency, and power efficiency.
Innovation Solution
A system and method that configures classification resources into multiple partitions, utilizing hardware-based TCAMs and hash tables for frequently-used flows, and a firmware-based partition with an embedded processor subsystem to access large lookup tables, allowing for scalable and efficient packet classification by directing lookup keys through a partition management block to manage flow entries and optimize performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If classification resources are scaled to handle increasing numbers of flows and overlay protocols, then the network can support more traffic streams and protocols, but packet parsing and processing complexity increases
Solution Approach 1:
The patent segments classification resources into multiple partitions, each handling specific flow types or protocol requirements. This division allows the system to manage complex classification tasks in smaller, more manageable units, reducing overall processing complexity while maintaining support for numerous flows and protocols
Solution Approach 2:
The patent introduces a new dimension of organization by implementing hierarchical partitions with different granularities (coarse-grain and fine-grain). This multi-dimensional classification structure enables the system to handle increased protocol complexity without proportionally increasing parsing complexity, as packets can be routed through appropriate partition levels
2Measurement precision
If L2-L4 packet parsing and enforcement rules are increased to handle more flows, then flow identification accuracy improves, but packet parsing hardware complexity increases
Solution Approach 1:
The patent segments packet parsing and rule enforcement into multiple hierarchical levels. Coarse-grain partitions handle high-level flow classification while fine-grain partitions handle detailed L2-L4 rule enforcement. This segmentation maintains high flow identification accuracy by preserving detailed rule matching capabilities while distributing hardware complexity across multiple manageable partitions
Solution Approach 2:
The patent implements dynamic rule matching where the system can adaptively select which partition level to engage based on packet characteristics and current network conditions. This dynamic approach allows accurate flow identification to be maintained only when and where needed, reducing overall hardware complexity compared to always engaging full-depth L2-L4 parsing
3Productivity
If protocol level offloads are performed at hardware component level, then throughput increases and latency decreases, but classification resource requirements increase
Solution Approach 1:
The patent segments classification resources into hierarchical partitions that can be selectively engaged. Hardware-based fast path processing handles common traffic patterns using smaller partition subsets, while firmware-based slow path processing handles less common cases. This segmentation allows high throughput and low latency for majority traffic while maintaining adequate classification resources without requiring full resources to be allocated for all traffic simultaneously
Solution Approach 2:
The patent introduces a classification resource manager as an intermediary that dynamically allocates and manages partition resources between hardware and firmware paths. This mediator optimizes the use of classification resources by directing traffic appropriately and managing resource availability, allowing hardware offloads to achieve high performance while preventing resource exhaustion
4Speed
If hardware-based TCAMs and hash tables are used for frequently-used flows, then lookup speed improves, but memory resources are consumed
Solution Approach 1:
The patent segments the flow table into multiple hierarchical partitions: hardware-based fast path partitions (TCAMs and hash tables) for frequently-used flows, and firmware-based slow path partitions for less common flows. This segmentation enables high-speed lookup for the majority of traffic while using slower but more memory-efficient firmware processing for minority traffic, optimizing the balance between lookup speed and memory resource consumption
Solution Approach 2:
The patent applies different quality characteristics to different partitions based on local requirements. Frequently-accessed flow entries in hot partitions receive high-speed hardware implementation with full TCAM/hash table resources, while cold partitions use more memory-efficient firmware-based storage. This local quality differentiation ensures optimal lookup speed where needed while conserving overall memory resources
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In accordance with an embodiment, described herein is a system and method for partitioning classification resources in a network device in a high performance network. Classification resources can be configured into a plurality of levels of partitions, with one or more hardware-based partitions configured to store flow entries associated with frequently-used or performance-sensitive flows, and a firmware-based partition to access large lookup tables stored in one or more additional memories for classification resource scalability. A lookup key can be used for search for a flow entry match in the hardware-based partitions first. If there is a miss, the lookup key can be presented to the firmware-based partition for further search. Results from the firmware-based level can be dispatched back to a hardware-based parser for further processing. Flow entries can be moved between lookup tables by a partition management block based on utilization of the flow entries.