Read Completion Buffer Allocation for Bandwidth Impedance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern computer systems with parallel processing units, temporary storage for reassembling data fragments can become overwhelmed when clients issue read requests faster than they can be consumed, leading to bandwidth impedance and starvation of other clients sharing the same resource.

Innovation Solution

Implementing a method to allocate read completion buffer space based on preset limits for each client, stalling read requests if they would exceed these limits, ensuring that the allocated buffer space does not exceed predefined upper bounds for system memory and local memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a client issues read requests faster than it can consume read data, then the client can achieve high bandwidth utilization, but the temporary storage fills up faster than fragments can be reassembled and other clients are starved of the temporary storage resource

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidstarvation of other clients
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent segments the shared temporary storage resource into client-specific buffer spaces, each governed by individual allocation limits. This segmentation prevents any single client from monopolizing the entire temporary storage resource, thereby resolving the contradiction between high bandwidth utilization and starvation of other clients.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic parameter control by adjusting buffer allocation limits based on client bandwidth characteristics and current storage utilization. By changing the allocation parameters adaptively, the system maintains high bandwidth utilization for active clients while preventing temporary storage exhaustion that would starve other clients.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If read completion buffer space is allocated without limits, then clients can achieve peak bandwidth requirements, but the temporary storage becomes overwhelmed and other clients cannot access the resource

Engineering Contradiction:
Improvepeak bandwidthVSAvoidresource availability for all clients
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by pre-establishing buffer allocation limits for each client based on their bandwidth characteristics before conflicts occur. These preset limits prevent temporary storage overload before it happens, ensuring both peak bandwidth achievement and continuous resource availability for all clients.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs feedback mechanisms by monitoring temporary storage utilization and adjusting buffer allocations dynamically. When storage approaches capacity, the system provides feedback to stall or throttle read requests, preventing overload while maintaining reliability of resource availability across all clients.

Inventive Principle:
Principle #23Feedback

3Object-generated harmful factors

If read requests are stalled to prevent exceeding buffer limits, then bandwidth impedance is prevented, but read request processing is delayed

Engineering Contradiction:
Improvebandwidth impedanceVSAvoidread request delay
Core Design Contradiction:
Object-generated harmful factorsVSLoss of time

Solution Approach 1:

The patent applies dynamics by making buffer allocation limits adjustable rather than fixed. The system dynamically modifies allocation parameters based on real-time conditions such as current storage utilization and client activity patterns, allowing read requests to proceed when capacity exists and only stalling when necessary, thus minimizing delays while preventing bandwidth impedance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8279231B1Bandwidth impedance matching and starvation avoidance by read completion buffer allocation
Publication Date: 2012.10.02 NVIDIA CORP
  • US8279231B1 patent drawing
  • US8279231B1 patent drawing
  • US8279231B1 patent drawing

AI summary

Read completion buffer space is allocated in accordance with a preset limit. When a read request is received from a client, the sum of a current allocation of the read completion buffer space and a new allocation of the read completion buffer space required by the read request is compared with the preset limit. If the preset limit is not exceeded, read completion buffer space is allocated to the read request. If the preset limit is exceeded, the read request is suspended until sufficient data is read out from the read completion buffer.