Network Processor Work Request Arbitration via SSO Unit
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network processor arbitration solutions are either expensive in terms of area or time, and do not allow for different weighting or selection of groups participating in the arbitration process, which hampers efficiency in processing multiple parallel requests from multiple cores.
Innovation Solution
A method and apparatus for work request arbitration in a network processor that uses a Schedule, Synchronize, and Order (SSO) unit to manage work queues and groups, employing parameters like group priority, weight, and affinity to selectively arbitrate work among processor cores, ensuring efficient allocation and synchronization of tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a large number of groups are used to divide work for parallel processing, then processing throughput is improved, but arbitration complexity and area cost increase
Solution Approach 1:
The arbitration process is segmented into multiple stages: initial arbitration to select candidate groups, followed by secondary arbitration to select the final group. This divides the complex single-stage arbitration into manageable steps, reducing the complexity of each individual arbitration stage while supporting a large number of groups.
Solution Approach 2:
The patent implements dynamic weight adjustment for groups based on their performance characteristics and current system state. Groups can be assigned different weights that are adjusted over time, allowing the arbitration mechanism to adapt to changing workloads and optimize throughput dynamically without requiring a complete redesign of the arbitration structure.
2Device complexity
If equal weighting is applied to all groups in arbitration, then simplicity is maintained, but efficiency in handling different priority workloads deteriorates
Solution Approach 1:
Different groups are assigned different weight values based on their specific characteristics and the nature of work they handle. This local differentiation of weighting allows high-priority workloads to receive more arbitration attention while maintaining a relatively simple weighted arbitration structure overall.
Solution Approach 2:
The arbitration mechanism uses adjustable weight parameters for each group that can be modified to change arbitration behavior. By changing these parameters, the system can optimize for different workload patterns and priority requirements without fundamentally changing the arbitration architecture, balancing simplicity with efficiency.
3Reliability
If comprehensive arbitration of all groups is performed, then fairness is improved, but processing time increases
Solution Approach 1:
The arbitration process performs preliminary filtering to identify candidate groups that are most likely to have available work before conducting the full arbitration. This preliminary action reduces the number of groups that need to be fully evaluated, maintaining fairness while reducing the time required for comprehensive arbitration.
Solution Approach 2:
The patent implements a two-stage arbitration where not all groups are fully arbitrated in every cycle. Instead, a subset of candidate groups is selected for detailed arbitration based on preliminary criteria, allowing the system to maintain fairness for groups that do have work while reducing arbitration time by not fully evaluating all groups when many are empty.
Data Source
AI summary
A method and a system embodying the method for work request arbitration, comprising receiving a work request, the work request indicating one or more groups from a plurality of groups; determining at least one of a plurality of parameters in accordance with the received work request; determining eligibility to provide work among the one or more groups that have work in a work queue in accordance with a first set of the plurality of parameters; and selecting one of the determined eligible groups to provide the work in accordance with a second set of the plurality of parameters is disclosed.


