Arbiter History Buffer for Latency Fairness in Network Routers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network routers face challenges in allocating resources fairly among data streams from multiple sources without increasing bandwidth or power requirements, particularly when streams have different bandwidths or latency requirements, leading to uneven distribution of resources.
Innovation Solution
An interconnect system with routers and an arbiter that uses a history buffer to track recently selected initiators, prioritizing data packets from initiators that have been less recently selected, and optionally using weighting indicators to allocate resources based on bandwidth requirements, allowing for fair allocation without excessive bandwidth or area overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a global timestamp is added to data packets to select the oldest packet first, then latency fairness is improved, but bandwidth requirements increase due to the wide timestamp format
Solution Approach 1:
The patent extracts the arbitration information from a wide global timestamp format and represents it using only the least significant bits (e.g., 2 bits instead of many more). This extracts only the necessary information needed for arbitration while discarding redundant data, thereby reducing bandwidth requirements while maintaining latency fairness.
Solution Approach 2:
The patent changes the parameter representation of time by using only the least significant bits of the timestamp rather than the full timestamp value. This parameter transformation allows the system to capture the essential arbitration information (which packet is oldest among contenders) without requiring the full precision of a wide timestamp, thus reducing bandwidth consumption.
2Loss of time
If hop count is incremented for each router passage to prioritize packets with most hops, then fairness is improved, but bandwidth requirements increase due to additional information in data packets
Solution Approach 1:
Instead of using full hop count information, the patent extracts only the necessary arbitration data from timestamps. The least significant bits of the timestamp effectively serve as a compact representation of packet age relative to other contending packets, providing fairness information without requiring explicit hop count fields in each packet.
3Loss of time
If markers are sent with data packets to track transmission counts, then resource allocation fairness is improved, but device complexity increases due to record-keeping requirements
Solution Approach 1:
The patent uses the existing timestamp field in data packets to encode arbitration information. Each packet carries its own age information in the timestamp, and the arbiter simply reads the least significant bits to determine priority. This self-service approach eliminates the need for external markers and complex record-keeping infrastructure, reducing device complexity while maintaining fairness.
4Device complexity
If alternating selection is used between two streams, then simplicity is maintained, but fairness deteriorates when streams have different bandwidths or multiple upstream sources
Solution Approach 1:
The patent transforms the arbitration parameter from a simple alternating counter to a timestamp-based age indicator. By using the least significant bits of timestamps, the system maintains simple bitwise comparison operations while achieving fair resource distribution across streams with different bandwidths and upstream sources. The parameter change allows the simple arbitration logic to work correctly in complex multi-stream scenarios.
Data Source
AI summary
An arbiter is configured to select one of several contending data packets transmitted from an initiator, the data packets comprising an identifier identifying the initiator and data. The arbiter comprises: a history buffer for storing the identifiers identifying the initiators of a plurality of recently selected data packets; and selection circuitry configured to select one of the contending data packets in dependence upon the initiators of the contending data packets and the initiators identified in the history buffer, such that a probability of a data packet being selected increases with the number of data packets selected since a data packet from the same initiator was selected.


