Round-Robin Transaction Selector for Multi-Port Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-port switches face challenges in implementing a customizable transaction scheduling policy that balances fairness and quality-of-service among competing ports, particularly when dealing with varying priority levels and dynamic changes, leading to potential bandwidth starvation and increased complexity.
Innovation Solution
A switch architecture that employs P round-robin vectors and N P-input muxes, along with selection logic, to select transactions from N transaction queues with priorities, ensuring fair and efficient transmission by rotating the selection based on priority levels and availability, thereby accommodating dynamic priority changes and preventing bandwidth starvation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a customizable transaction scheduling policy is implemented in multi-port switches, then quality of service and fairness among competing ports are improved, but device complexity increases
Solution Approach 1:
The scheduling policy is segmented into multiple independent round-robin vectors, each corresponding to a specific priority level. This allows the complex scheduling task to be divided into manageable segments that can be independently controlled and optimized, reducing overall system complexity while maintaining customization capability.
Solution Approach 2:
The system dynamically adjusts priority levels and round-robin selection based on real-time traffic conditions and queue states. This dynamic adaptation enables the switch to optimize quality of service without requiring a completely custom-designed architecture for each scenario, as the same base architecture can adapt to different requirements.
2Adaptability or versatility
If dynamic priority changes are supported among transaction queues, then quality of service is improved, but bandwidth starvation issues worsen
Solution Approach 1:
The system employs periodic round-robin selection within each priority level, ensuring that each queue receives regular service opportunities. This periodic action prevents any single queue from being starved of bandwidth, even when dynamic priority changes occur, as the round-robin mechanism systematically cycles through all queues at each priority level.
Solution Approach 2:
The scheduling mechanism incorporates feedback from queue states and priority levels to adjust selection behavior. When a queue is detected to be at risk of starvation, the system can adjust priorities or selection frequency to ensure fair bandwidth distribution, maintaining reliability while supporting dynamic changes.
3Ease of operation
If round-robin selection is implemented across multiple priority levels, then fairness among queues is improved, but selection logic complexity increases
Solution Approach 1:
The selection logic is segmented into multiple independent round-robin vectors, one for each priority level. Each vector independently manages round-robin selection for its associated priority level, simplifying the overall logic by breaking down the complex multi-level scheduling task into manageable, identical sub-tasks that can be executed in parallel.
4Adaptability or versatility
If the number of transaction queues is increased to handle more ports, then adaptability is improved, but the scalability of the scheduling mechanism worsens
Solution Approach 1:
The round-robin vector structure is universal and can accommodate any number of transaction queues by simply extending the vector size. Each priority level's round-robin vector can independently scale to support additional queues without affecting other priority levels, enabling the system to handle increased port counts while maintaining scheduling efficiency.
Data Source
AI summary
An apparatus for selecting one of N transaction queues from which to transmit a transaction out a switch port. P round-robin vectors of P queue priorities each have N bits that are a 1-bit left-rotated and subsequently sign-extended version of an N-bit input vector with a single bit true corresponding to the last queue selected at the priority. N P-input muxes each receive a corresponding bit of each round-robin vector and select one of the inputs specified by its queue priority. Selection logic receives a transaction from each queue and selects one transaction corresponding to the queue having a transmit value greater than or equal to the queues left thereof in the input vectors. Each queue's transmit value comprises a least-significant bit equal to the corresponding mux output, a most-significant bit that is true if its transaction is transmittable, and middle bits comprising the queue priority.


