Multi-Stage Packet Scheduling to Prevent Port Idle Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-capacity network interfaces or ports often idle due to upstream processing components failing to timely process and transfer packets, leading to wasted bandwidth and increased latency in packet delivery.
Innovation Solution
Implementing a multi-stage scheduler with decoupled port and queue scheduling operations, using port and queue selection buffers to manage packet transmission and minimize latency, ensuring ports remain active without starvation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If high-capacity network interfaces are deployed to increase bandwidth, then packet delivery capacity is improved, but port idle time increases due to upstream processing bottlenecks
Solution Approach 1:
The patent implements a multi-stage scheduler that performs preliminary scheduling actions by maintaining port selection buffers and queue selection buffers. The port scheduler pre-selects eligible ports and stores their metadata in port selection buffers, while queue schedulers pre-select packets from queues and store metadata in queue selection buffers. This preliminary action ensures that when packets arrive at network interfaces, the scheduling decisions are already made, eliminating port idle time and ensuring continuous operation at high capacity.
2Device complexity
If traditional single-stage scheduling is used to simplify device structure, then device complexity is reduced, but packet transmission latency increases due to sequential processing
Solution Approach 1:
The patent divides the traditional single-stage scheduling into multiple independent stages: port scheduling and queue scheduling. The port scheduler operates independently to select eligible ports and fill port selection buffers, while queue schedulers operate independently to select packets from queues and fill queue selection buffers. This segmentation allows parallel processing of scheduling decisions, significantly reducing packet transmission latency while maintaining manageable device complexity through modular architecture.
Solution Approach 2:
The patent introduces a temporal dimension to scheduling by implementing multi-cycle operation. The port scheduler operates on a first timing loop with a first cycle time, while queue schedulers operate on a second timing loop with a second cycle time. This dimensional separation allows different scheduling decisions to be made at different time scales, optimizing both port utilization and packet selection efficiency, thereby reducing overall latency without increasing structural complexity.
Data Source
AI summary
Packet metadata for incoming packets are buffered in queue selection buffers associated with a port of a network node. Packet data for outgoing packets are buffered in a port selection buffer associated with the port. At a selection clock cycle, while a port scheduler of the network node selects a subset of the packet data for a subset of the outgoing packets from the port selection buffer, a queue scheduler of the port concurrently selects a subset of the packet metadata for a subset of the incoming packets from the queue selection buffers and adds new packet data for new outgoing packets to the port selection buffer of the port. The new packet data are derived based at least in part on the subset of the packet metadata for the subset of the incoming packets.


