Network Scheduler Candidate Decision Logic for High-Speed Egress Ports
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network switches face challenges in meeting strict scheduler timing constraints, particularly in high-speed environments like 10 GbE, 40 GbE, and 100 GbE, where the minimum packet transmission time is short, leading to potential packet bubbles and decreased line rate due to the conventional design's reliance on acknowledgment messages for output queue decisions.
Innovation Solution
A scheduler with candidate and final decision logic that makes multiple candidate output queue decisions before receiving acknowledgment messages, allowing for a final selection based on packet transmission status, thereby reducing the response time constraint and avoiding packet bubbles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the scheduler waits for acknowledgment messages before making output queue decisions, then the packet transmission status can be confirmed, but the scheduler processing time exceeds the minimum packet transmission time, causing packet bubbles and decreased line rate
Solution Approach 1:
The scheduler makes preliminary output queue decisions before receiving acknowledgment messages by using candidate decision logic to select multiple candidate output queues in advance. This preliminary action allows the scheduler to prepare queue decisions ahead of time, so when acknowledgment messages arrive, the decisions are already in place or can be quickly finalized, thereby reducing the overall processing time while maintaining transmission status confirmation.
2Productivity
If the scheduler makes output queue decisions quickly without waiting for acknowledgment messages, then the line rate can be maintained, but the packet transmission status cannot be confirmed, potentially causing incorrect queue selections
Solution Approach 1:
The scheduler performs preliminary actions by pre-selecting multiple candidate output queues using candidate decision logic before acknowledgment messages arrive. This allows the scheduler to maintain high productivity by having ready-to-execute queue decisions while still ensuring reliability through the final selection process that incorporates acknowledgment message information when available.
Solution Approach 2:
The scheduler uses feedback from acknowledgment messages to refine and confirm the final output queue selection. The feedback mechanism allows the scheduler to adjust the preliminary candidate decisions based on actual packet transmission status, ensuring both high line rate and reliable packet forwarding by combining quick preliminary actions with accurate feedback-based validation.
3Quantity of substance
If multiple output queues are created for packets from different ingress ports, then packet buffering capacity is improved, but the scheduler complexity increases due to multiple scheduler operations required
Solution Approach 1:
The scheduler is segmented into distinct functional components: candidate decision logic for preliminary queue selection, final decision logic for confirmation based on acknowledgment messages, and queue management logic for handling multiple output queues. This segmentation allows each component to handle specific aspects of queue management independently, reducing overall scheduler complexity while maintaining the ability to manage multiple output queues for packets from different ingress ports.
Data Source
AI summary
A scheduler performs a plurality of scheduler operations each scheduling an output queue selected from a plurality of output queues associated with an egress port. The scheduler includes a candidate decision logic and a final decision logic. The candidate decision logic is arranged to decide a plurality of candidate output queues for a current scheduler operation, regardless of a resultant status of packet transmission of at least one scheduled output queue decided by at least one previous scheduler operation. The final decision logic is arranged to select one of the candidate output queues as a scheduled output queue decided by the current scheduler operation after obtaining the resultant status of packet transmission of the at least one scheduled output queue decided by the at least one previous scheduler operation.


