Timestamp-Based Arbitration for On-Chip Network Fairness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional arbitration techniques in on-chip networks often result in unfair bandwidth allocation to different flows, especially under high network load, as flows with longer path lengths receive less bandwidth due to increased arbitration at intermediate nodes, leading to global unfairness and unequal communication latency.
Innovation Solution
Implementing a timestamp-based arbitration method where each flit is assigned a timestamp comprising a state and counter, with nodes prioritizing the older flit for transmission, ensuring fair latency by maintaining and using these timestamps throughout the network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If conventional round robin arbitration is used, then the arbitration mechanism is simple, but bandwidth allocation becomes globally unfair and latency becomes unequal
Solution Approach 1:
The patent applies preliminary action by assigning timestamps to flits at the source node before they enter the network. This timestamp is set based on the flit's injection time and path length, allowing fair arbitration decisions to be made in advance. The timestamp includes a counter that increments with each clock cycle, ensuring that flits are ordered fairly without requiring complex continuous arbitration at every node.
Solution Approach 2:
The patent uses a timestamp as an intermediary mechanism to mediate between flits from different sources. Instead of direct arbitration at each node, the timestamp serves as a pre-computed mediator that encodes timing and path information. This intermediary allows intermediate nodes to make simple comparisons (older flit gets priority) rather than implementing complex arbitration logic.
2Reliability
If timestamp-based arbitration is implemented, then latency fairness is guaranteed, but device complexity increases due to timestamp management
Solution Approach 1:
The timestamp is assigned at the source node when the flit is injected into the network. This preliminary assignment captures the injection time and path length information in advance, so that no complex timestamp management is needed at intermediate nodes. The timestamp is simply copied along with the flit through the network.
Solution Approach 2:
The patent extracts the essential timing information from the complex arbitration process and encapsulates it in a simple timestamp field. By taking out only the necessary timing data (injection time and path length) and placing it in the flit header, the system achieves fair arbitration without requiring complex timestamp management infrastructure at each node.
3Productivity
If flits from longer paths arbitrate more often, then they experience more delays, but this creates unfair bandwidth allocation
Solution Approach 1:
The timestamp is set at the source node to reflect the flit's injection time and expected path length. By performing this timing information capture in advance, the system can compensate for the additional arbitration delays that longer paths will experience. The timestamp ensures that flits from longer paths are not penalized unfairly, as their age is accounted for in the timestamp comparison.
Solution Approach 2:
The timestamp mechanism provides feedback about the flit's age and path length information throughout the network. At each arbitration point, the timestamp serves as feedback that indicates how long the flit has been in transit and how many hops it has traversed. This feedback allows the arbitration logic to adjust priorities accordingly, ensuring fair bandwidth allocation despite varying path lengths.
Data Source
AI summary
An apparatus comprising a chip comprising a plurality of nodes, wherein a first node from among the plurality of nodes is configured to receive a first flit comprising a first timestamp, receive a second flit comprising a second timestamp, determine whether the first flit is older than the second flit based on the first timestamp and the second timestamp, transmit the first flit before the second flit if the first flit is older than the second flit, and transmit the second flit before the first flit if the first flit is not older than the second flit.


