Accumulator Scoreboard for Out-of-Order Rule Matching
Solution Overview
Problem
Existing packet classification algorithms face inefficiencies in handling increasing network bandwidth and complexity, with current solutions either consuming excessive memory or being slow, and existing hardware-based solutions like TCAMs are inflexible and power-intensive, while algorithmic methods often fail to perform well across diverse rule sets.
Innovation Solution
A network search processor with multiple processing engines processes bundles of rule matching threads, using an accumulator scoreboard to determine final results based on priority associations, enabling efficient tracking and reporting of rule matching responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional hardware-based solutions like TCAMs are used for packet classification, then classification speed is improved, but power consumption and flexibility deteriorate
Solution Approach 1:
The patent replaces traditional hardware-based TCAM mechanisms with a software-based algorithmic approach implemented on general-purpose processors. This substitution maintains classification functionality while significantly reducing power consumption and improving flexibility, directly resolving the contradiction between speed and energy usage.
Solution Approach 2:
The patent changes the operational parameters of packet classification by using software-based rule matching with priority-based thread processing. This allows the system to achieve acceptable classification speeds through optimized algorithms while consuming far less power than hardware TCAM solutions, addressing both speed and energy concerns.
2Adaptability or versatility
If algorithmic packet classification methods are used, then flexibility is improved, but processing speed deteriorates
Solution Approach 1:
The patent segments the packet classification process into multiple independent rule matching threads, each handling specific rules. This segmentation allows parallel processing of different rule sets, significantly improving processing speed while maintaining the flexibility of software-based algorithmic methods.
Solution Approach 2:
The patent implements dynamic priority-based scheduling of rule matching threads, where thread priorities can be adjusted based on rule importance and matching results. This dynamic approach optimizes processing speed by prioritizing critical rules while maintaining flexibility in rule set configuration and processing order.
3Productivity
If multiple rule matching threads are processed in parallel, then processing throughput is improved, but complexity of tracking responses deteriorates
Solution Approach 1:
The patent introduces an accumulator scoreboard as an intermediary data structure that centrally tracks the state of all rule matching threads. This scoreboard maintains response status, priority information, and bundle completion status, simplifying the tracking complexity despite parallel thread execution by providing a unified management interface.
Solution Approach 2:
The patent implements feedback mechanisms where rule matching engine responses are continuously monitored and fed back to the accumulator scoreboard. This feedback loop enables automatic determination of bundle completion based on priority-based rules, reducing the complexity of tracking parallel thread responses through automated state updates and completion detection.
Data Source
AI summary
According to at least one example embodiment, a method and a corresponding accumulator scoreboard for managing bundles of rule matching threads processed by one or more rule matching engines comprise: recording, for each rule matching thread in a given bundle of rule matching threads, a rule matching result in association with a priority corresponding to the respective rule matching thread; determining a final rule matching result, for the given bundle of rule matching threads, based at least in part on the corresponding indications of priorities; and generating a response state indicative of the determined final rule matching result for reporting to a host processor or a requesting processing engine.


