Fairness Arbitration for Virtual Channel Packet Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidfair allocation guarantee
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvedata throughputVSAvoidstream fairness
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveflow controlVSAvoidbuffer drain rate
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7430622B1Extended fairness arbitration for chains of point-to -point devices having multiple virtual channels
Publication Date: 2008.09.30 ADVANCED MICRO DEVICES INC
  • US7430622B1 patent drawing
  • US7430622B1 patent drawing
  • US7430622B1 patent drawing

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.