Multi-Level Arbitration for GPU Data Transfer Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In graphics processing units (GPUs), conventional weighted round robin arbitration can lead to dead cycles where active input clients are kept on hold due to unready destinations, resulting in inefficiencies in data transfer.

Innovation Solution

Implementing multiple levels of arbiters to issue grants fully served to input clients, ensuring that grants are generated between clients and ready destinations for most cycles, thereby mitigating dead cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional weighted round robin arbitration is used, then simplicity of arbitration mechanism is maintained, but data transfer efficiency deteriorates due to dead cycles

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidarbitration mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The arbitration mechanism is segmented into multiple levels: a first arbiter handles arbitration between input clients, and a second arbiter handles arbitration between destinations. This segmentation allows each arbiter to operate independently and efficiently, reducing dead cycles where input clients are kept on hold due to unready destinations, thereby improving data transfer efficiency without requiring a completely complex new arbitration system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first arbiter acts as an intermediary between input clients and the second arbiter, while the second arbiter serves as an intermediary between destinations and the first arbiter. This intermediary structure allows for decoupled arbitration decisions, where the first arbiter can grant access to input clients based on their readiness without being blocked by destination readiness status, thus improving data transfer efficiency while maintaining reasonable system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple levels of arbiters are implemented, then data transfer efficiency is improved by reducing dead cycles, but arbitration system complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidarbitration system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The arbitration system is divided into two distinct levels: a first arbiter for input client arbitration and a second arbiter for destination arbitration. This segmentation enables each arbiter to make independent decisions based on local readiness conditions, significantly reducing dead cycles and improving data transfer efficiency. The modular structure also makes the increased complexity more manageable and maintainable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The arbitration system transitions from a single-dimensional sequential arbitration approach to a two-dimensional hierarchical structure. The first arbiter operates in one dimension (input client selection) while the second arbiter operates in another dimension (destination selection). This dimensional change allows parallel arbitration decisions to be made independently, improving efficiency while organizing complexity in a structured manner.

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

Data Source

PatentUS20230038862A1Techniques for multi-source to multi-destination weighted round robin arbitration
Publication Date: 2023.02.09 INTEL CORP
  • US20230038862A1 patent drawing
  • US20230038862A1 patent drawing
  • US20230038862A1 patent drawing

AI summary

Examples include techniques to arbitrate a plurality of input requests received from input clients that request data to be stored or placed in a destination. An arbiter may be arranged to grant an input request based on an assigned weight and based on an indication that the destination is ready to receive the data to be stored or placed in the destination.