Fairness Protocols for Daisy Chain Interconnects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network-on-chip (NoC) systems, achieving fair allocation of bandwidth between local and upstream devices in a bi-directional daisy chain topology is challenging, as existing protocols fail to efficiently alternate packet forwarding based on finite bandwidth constraints.
Innovation Solution
A method and system that utilize upstream and local packet counters, a scheduling engine, and a fairness protocol to alternate between forwarding packets from local and upstream devices by calculating and adjusting insertion rates, ensuring fair bandwidth allocation through the use of counters and registers, and implementing a fairness protocol that determines when to forward packets based on these values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing protocols are used for packet forwarding in daisy chain interconnects, then the system structure is simple, but fair bandwidth allocation between local and upstream devices cannot be achieved
Solution Approach 1:
The patent introduces an intermediary scheduling engine that acts as a mediator between upstream devices and the local device. This scheduling engine implements a fairness protocol using counters (UPC, LPC, UPWC) to mediate packet forwarding decisions, ensuring fair bandwidth allocation without requiring complex modifications to the underlying daisy chain interconnect structure.
Solution Approach 2:
The patent employs feedback mechanisms through packet counters that track the number of upstream and local packets forwarded. The scheduling engine continuously monitors these counter values and adjusts packet insertion rates based on feedback from previous forwarding decisions, dynamically achieving fair bandwidth allocation while maintaining simple protocol operations.
2Reliability
If packet insertion rates are not controlled, then the forwarding operation is simple, but bandwidth fairness and burst length control deteriorate
Solution Approach 1:
The patent implements dynamic packet insertion rates that adjust based on current network conditions and counter values. The scheduling engine dynamically modifies the insertion rate of local packets relative to upstream packets, allowing the system to adapt to varying traffic patterns while maintaining bandwidth fairness and controlling burst lengths without sacrificing forwarding efficiency.
Solution Approach 2:
The patent changes the parameter of packet insertion rate based on counter values and fairness protocol state. By modifying this parameter dynamically, the system achieves fair bandwidth allocation and burst length control while maintaining high forwarding efficiency through optimized packet scheduling decisions.
3Reliability
If local packets are inserted frequently to improve fairness, then bandwidth fairness improves, but the burst length of upstream packets increases
Solution Approach 1:
The patent applies partial insertion of local packets based on calculated insertion rates rather than frequent or uniform insertion. The scheduling engine inserts local packets at controlled rates that are sufficient to achieve bandwidth fairness but not excessive enough to create long upstream packet bursts, optimizing the balance between fairness and burst length control.
Solution Approach 2:
The patent implements periodic adjustment of packet insertion patterns based on counter thresholds and fairness protocol state. By periodically evaluating counter values and adjusting insertion rates accordingly, the system maintains bandwidth fairness while preventing excessive burst lengths through rhythmic, controlled packet scheduling.
Data Source
AI summary
A method for transmitting packets, including forwarding a first set of upstream packets and a first set of local packets by inserting at least one of the first set of local packets between subsets of the first set of upstream packets according to a first insertion rate; calculating a second insertion rate after forwarding a predetermined number of upstream packets generated by a single upstream source, by dividing a cardinality of the first set of upstream packets by a greatest common divisor of the predetermined number and the cardinality of the first set of upstream packets; and forwarding a second set of upstream packets and a second set of local packets from the local switch to the downstream switch by inserting at least one of the second set of local packets between subsets of the second set of upstream packets according to the second insertion rate.


