Self-Clocked Round Robin Scheduling Without Empty Queue Visits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing schedulers like Self-Clocked Round Robin (SCRR) with Sparse Flow Optimization (SFO) face issues with empty visits to sub-queues, leading to wasted processing and memory resources, especially in hardware implementations, and increased CPU overhead in software.
Innovation Solution
The 'No Empty' technique for SCRR uses the virtual clock to determine eligibility for immediate scheduling of previously empty sub-queues, eliminating empty visits and reducing CPU overhead by integrating them into the scheduling process based on virtual time comparisons.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If Sparse Flow Optimization (SFO) is used in SCRR to enable immediate scheduling of previously empty sub-queues, then latency is reduced, but empty visits occur where the scheduler visits empty sub-queues wasting processing and memory resources
Solution Approach 1:
The patent applies preliminary action by checking whether a previously empty sub-queue has packets before scheduling it. The scheduler determines in advance if the sub-queue is non-empty using a flag or counter, and only schedules it if packets are present. This prevents the harmful empty visits while maintaining the low-latency benefit of immediate scheduling for SFO-eligible sub-queues.
2Loss of time
If Sparse Flow Optimization (SFO) is used in SCRR to enable immediate scheduling of previously empty sub-queues, then latency is reduced, but memory resource usage increases due to tracking empty sub-queues
Solution Approach 1:
The patent reduces memory usage by performing preliminary checks before scheduling. Instead of maintaining complex data structures to track empty sub-queues, the invention uses simple flags or counters that are updated in advance when packets are enqueued or dequeued. This preliminary tracking mechanism uses minimal memory while enabling the scheduler to quickly determine whether a sub-queue is non-empty.
3Ease of operation
If SCRR scheduler visits all sub-queues in round-robin manner, then fairness is maintained, but processing overhead increases due to visiting empty sub-queues
Solution Approach 1:
The patent applies preliminary action by pre-checking the status of sub-queues before the round-robin scheduling process. The scheduler determines which sub-queues are non-empty in advance and creates a filtered scheduling list that excludes empty sub-queues. This maintains fairness by ensuring all non-empty sub-queues receive equal service while eliminating wasted processing on empty sub-queues.
Solution Approach 2:
The patent extracts empty sub-queues from the scheduling process by identifying and removing them from the round-robin rotation. This is achieved through flags or counters that mark empty sub-queues, allowing the scheduler to skip them automatically. The extraction principle maintains fairness for active sub-queues while improving processing efficiency by eliminating unnecessary visits to empty sub-queues.
Data Source
AI summary
A system maintains sub-queues used for storing packets. A respective packet is enqueued into a sub-queue and dequeued by a scheduler. A virtual time associated with the respective packet is based on a current sub-queue virtual time corresponding to a previously enqueued packet in the sub-queue. The scheduler tracks a global virtual time based on dequeuing packets from the sub-queues and by advancing the global virtual time in response to completing a scheduling round. The system inserts a packet into a sub-queue which is previously empty. In response to a virtual time associated with the sub-queue being earlier than or equal to the current global virtual time, the system schedules the sub-queue before the non-empty sub-queues. In response to the virtual time associated with the sub-queue being later than the current global virtual time, the system schedules the sub-queue for forwarding packets after the non-empty sub-queues.


