Compound Arbitration for Switching Fabric Ingress Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-speed switch arbitration algorithms face challenges in maximizing throughput while maintaining fairness and priority bias, especially in complex switches with increasing complexity and number of ports, leading to potential performance bottlenecks due to head-of-line blocking and complexity in implementing algorithms like weighted fair queuing.
Innovation Solution
A compound arbitration technique is introduced, comprising a priority-biased arbitration stage followed by a throughput-biased arbitration stage, reducing system complexity and allowing for priority bias without eliminating fairness, using a network processor to facilitate traffic forwarding through a switching fabric.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a strict priority scheduling algorithm is used, then higher priority traffic is forwarded first, but lower priority traffic may be completely starved
Solution Approach 1:
The arbitration process is segmented into two distinct stages: a priority-biased arbitration stage that favors high priority traffic, and a throughput-biased arbitration stage that ensures fair resource distribution. This segmentation allows the system to simultaneously achieve fast forwarding of high priority traffic while preventing starvation of low priority traffic through the second stage's fairness mechanisms.
2Productivity
If weighted fair queuing is used, then lower priority traffic starvation is avoided, but implementation complexity increases
Solution Approach 1:
The complex weighted fair queuing problem is segmented into two simpler arbitration stages. The first stage handles priority bias with relatively simple logic, while the second stage addresses fairness through a separate, optimized arbitration process. This segmentation reduces the complexity of implementing fairness compared to a single-stage weighted fair queuing algorithm.
Solution Approach 2:
The patent introduces an intermediary mechanism (the two-stage arbitration structure) that mediates between the conflicting requirements of priority bias and fairness. Each stage acts as an intermediary that processes traffic according to its specific criteria, simplifying the overall implementation compared to a single complex weighted fair queuing algorithm that must handle both requirements simultaneously.
3Productivity
If arbitration algorithm complexity increases to handle more ports, then fairness and priority can be maintained, but computation time decreases
Solution Approach 1:
The arbitration computation is segmented into two independent stages, each with its own optimized algorithm. This segmentation allows each stage to use simpler, faster computation tailored to its specific function, rather than requiring a single complex algorithm to handle all aspects of arbitration for increasing numbers of ports.
Solution Approach 2:
The patent employs dynamic arbitration strategies where the two stages can adapt their behavior based on traffic conditions. This dynamic approach allows the system to maintain fairness and priority requirements while optimizing computation time for varying port configurations and traffic patterns.
4Device complexity
If a single-stage arbitration is used, then implementation is simpler, but it cannot simultaneously achieve priority bias and fairness
Solution Approach 1:
Rather than using a single complex arbitration stage that tries to do everything, the patent segments arbitration into two specialized stages. Each stage has a specific, simpler function that is easier to implement, yet together they achieve the combined capability of priority bias and fairness that a single-stage approach would struggle to accomplish.
Data Source
AI summary
Priority-biased compound arbitration at a switching fabric ingress. The ingress includes a plurality of ingress queues and a priority-biased arbitration engine configured to arbitrate between the ingress queues. The ingress further includes exit first-in-first-out queues (FIFOs) configured to forward cells from the ingress queues to a switching fabric and a throughput-biased arbitration engine configured to arbitrate between the exit FIFOs.


