Network Processor Policy Trees for Lower Replica Rates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-speed network processors face challenges such as high replica rates due to non-optimal boundary selection, inflexible IP range support, duplicate boundary checks, inefficient policy priority comparisons, and unconfigurable dimension sets, leading to performance deterioration and system failures.
Innovation Solution
A policy tree builder generates an optimized policy tree image through recursive operations on the raw policy set, selecting boundaries and partition numbers based on dimension selection, configuring network processor hardware with registers, tables, and instructions to improve policy search efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If non-optimal cutting boundaries are used for policy partitioning, then the policy search process is simpler, but the replica rate of policies increases significantly
Solution Approach 1:
The patent dynamically adjusts boundary selection parameters and partitioning strategies based on policy characteristics. By changing the cutting boundary parameters from fixed to adaptive, the system optimizes the balance between search simplicity and policy replication, reducing memory footprint while maintaining search efficiency.
Solution Approach 2:
The policy partitioning structure transitions from static to dynamic, where boundaries and partitions are adaptively determined based on policy distribution characteristics. This dynamic approach allows the system to optimize partitioning for each specific policy set, minimizing replicas while keeping the search process manageable.
2Productivity
If power-of-two width boundaries are enforced for IP ranges, then the boundary check process is more efficient, but the flexibility to support arbitrary IP ranges is lost
Solution Approach 1:
The patent segments the boundary checking process into multiple stages: first checking power-of-two aligned boundaries for quick filtering, then handling arbitrary IP ranges in subsequent refinement stages. This segmentation allows efficient processing of common cases while maintaining support for arbitrary ranges when needed.
Solution Approach 2:
The system applies partial power-of-two optimization by using aligned boundaries for initial filtering passes, then applies exact arbitrary range matching for remaining cases. This partial application of optimization maintains efficiency for the majority of cases while preserving full flexibility for edge cases.
3Reliability
If all boundaries are checked at every node during policy search, then no policy matches are missed, but duplicate boundary checks increase processing time
Solution Approach 1:
The patent performs preliminary boundary checking at parent nodes before traversing to child nodes. By checking boundaries in advance and pruning branches that cannot contain matches, the system eliminates duplicate checks while ensuring no valid policies are missed, reducing processing time without compromising accuracy.
Solution Approach 2:
The system extracts and checks critical boundaries at higher levels of the policy tree before descending to detailed node evaluations. By taking out essential boundary checks and performing them preliminarily, the system avoids redundant checks at lower levels while maintaining complete policy match accuracy.
4Reliability
If linear comparison of all policy priorities is performed, then the correct highest priority policy is guaranteed, but the comparison process becomes inefficient
Solution Approach 1:
Policies are pre-sorted by priority during the policy loading and initialization phase. This preliminary sorting allows the search process to traverse the policy tree in priority order, guaranteeing that the first matching policy encountered is the highest priority match, eliminating the need for linear comparison of all matches during runtime.
Solution Approach 2:
Instead of collecting all matching policies and then comparing their priorities, the system inverts the approach by organizing policies in priority order from the start and stopping the search as soon as the first match is found. This inversion transforms a two-phase process (match collection + priority comparison) into a single efficient phase.
Data Source
AI summary
A raw policy set is received for the network processor and a dimension bitmap corresponding to the raw policy set. From the raw policy set, a policy tree builder generates a policy tree image from a set of recursive operations on the raw policy set including selecting boundaries of the raw policy set from cuts on a given dimension of the raw policy set, the dimension cut based on a dimension selection and a partition number selection for the raw policy set. Network processor hardware is configured according to the policy tree image including at least one set of registers, at least one set of tables, and at least one sequence of instructions. At runtime, the network processor applies the optimized policy set to processing of the packet session from the data communication network by the network processor hardware.


