Fairness Arbitration for Virtual Channel Packet Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing bandwidth allocation methods, such as those described in U.S. Patent Publication US 2002/0083233, fail to ensure fair allocation across multiple virtual channels, leading to potential starvation of packet streams in high-speed communication systems like those using the HyperTransport protocol, where multiple virtual channels are involved.
Innovation Solution
Implementing a distributed arbitration system that uses buffer-level arbitration based on received flow control credits to allocate released buffers between local and received packets across multiple virtual channels, with virtual channel arbitration to identify packets for transmission and a device arbiter to output packets according to a calculated insertion rate, ensuring fair bandwidth allocation among devices and channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a distributed arbitration system is used to allocate bandwidth among devices, then device complexity is reduced and bandwidth utilization is improved, but fair allocation across multiple virtual channels cannot be ensured leading to packet starvation
Solution Approach 1:
The patent segments the arbitration process into three distinct levels: (1) buffer-level arbitration that allocates released buffers between local and received packets, (2) virtual channel arbitration that selects packets from different virtual channels, and (3) device arbitration that outputs packets according to insertion rates. This multi-level segmentation enables fair allocation across multiple virtual channels while maintaining high bandwidth utilization.
Solution Approach 2:
The patent introduces a new dimension of arbitration by adding virtual channel-level arbitration between the buffer arbitration and device arbitration stages. This intermediate layer ensures that packets from different virtual channels are fairly selected before being output, preventing starvation of any single virtual channel while maintaining the distributed arbitration structure.
2Quantity of substance
If multiple virtual channels are used to increase bandwidth capacity, then data throughput is improved, but existing arbitration methods cause some streams to be starved
Solution Approach 1:
The patent segments packet selection into distinct stages: buffer arbitration separates local and received packets, virtual channel arbitration further segments received packets by their virtual channel origin, and device arbitration finally segments the combined stream according to insertion rates. This ensures each virtual channel receives fair representation in the output stream.
Solution Approach 2:
The patent applies different arbitration rules at different levels: buffer-level arbitration uses flow control credits to determine buffer allocation, virtual channel arbitration ensures equal opportunity for each channel, and device arbitration uses insertion rates to control local packet transmission. This localized optimization at each level ensures overall fairness across multiple virtual channels.
3Reliability
If buffer release messages are used to control transmission rate, then flow control is achieved, but receive buffers fill faster than they drain causing links to backup
Solution Approach 1:
The patent performs preliminary buffer arbitration before packets are actually transmitted. By determining the insertion rate in advance and using it to guide both buffer allocation and packet selection, the system ensures that buffers are allocated and packets are transmitted at rates that match the receiver's ability to drain them, preventing buffer overflow and link backup.
Solution Approach 2:
The patent uses flow control credits as feedback from the receiver to control the transmitter's buffer allocation and packet transmission rate. The buffer arbitration module uses these credits to determine how many buffers to allocate, and the device arbitration uses the insertion rate (derived from credit consumption patterns) to regulate local packet transmission, ensuring transmission rate matches receiver drain rate.
Data Source
AI summary
Buffer-level arbitration is used to allocate released buffers, based on received flow control credits, between local packets and received packets on respective virtual channels in accordance with a determined insertion rate relative to a second number of received packets to be forwarded. Virtual channel arbitration also is performed to identify, from among the multiple virtual channels, the packets that should be sent next along the local and forwarded paths. Device arbitration is then performed to identify, from the insertion and forwarding paths, the packets that should be output onto an output transmission link, based on the determined insertion rate. Performing the arbitration at each step in accordance with the insertion rate maximizes packet bandwidth fairness among the multiple devices supplying packets across multiple virtual channels.


