Dynamic Buffer Reassignment for Back Pressure-Free Interconnects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, particularly Systems on Chips (SoCs), efficient allocation of data storage among agents and endpoints is hindered by back pressure issues due to intermediate buffers filling up, leading to performance bottlenecks when destinations are busy, causing sources to stop compute or data pipelines until buffers have available space again.

Innovation Solution

A computing system with a communication fabric that includes intermediate buffers with data storage limits, where buffer storage is dynamically reassigned based on workload characteristics, such as new task assignments and power-performance states, by selecting sources with available space and prioritizing those with lower allocation rates to maintain optimal data storage allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If intermediate buffers are used to store transactions during transport, then data storage capacity is improved, but back pressure increases causing sources to stop pipelines when buffers fill up

Engineering Contradiction:
Improvedata storage capacityVSAvoidpipeline throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic buffer allocation where the buffer size assigned to each source is not fixed but can be changed based on current system conditions. The buffer manager can reallocate buffer spaces to sources with higher allocation rates or lower priorities, allowing the system to adapt to changing workload patterns and prevent back pressure from stopping pipelines indefinitely.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of buffer allocation by monitoring allocation rates and adjusting the amount of buffer space assigned to different sources. When a source has a high allocation rate or low priority, the system reduces its buffer allocation, thereby preventing buffer overflow and allowing continuous pipeline operation while maintaining fairness among sources.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If buffer storage is increased for sources with high allocation rates, then data storage availability is improved, but system fairness deteriorates as lower priority sources receive less storage

Engineering Contradiction:
Improvebuffer storage availabilityVSAvoidsystem fairness
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The buffer manager continuously monitors the allocation rate of each source and uses this feedback to adjust buffer assignments. Sources with consistently high allocation rates or low priorities receive reduced buffer allocation, while sources with lower allocation rates receive more buffer space. This feedback mechanism ensures fair resource distribution while maintaining the ability to handle varying workload demands.

Inventive Principle:
Principle #23Feedback

3Reliability

If sources stop their pipelines when buffers are full, then data integrity is maintained, but processing speed decreases due to pipeline interruptions

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

By making buffer allocation dynamic rather than static, the system can prevent buffers from filling up in the first place for high-priority sources. The buffer manager proactively adjusts allocations based on real-time monitoring, allowing sources to maintain continuous operation without interruption while still ensuring data integrity through controlled buffer management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10963172B2Systems and methods for providing a back pressure free interconnect
Publication Date: 2021.03.30 APPLE INC
  • US10963172B2 patent drawing
  • US10963172B2 patent drawing
  • US10963172B2 patent drawing

AI summary

A system and method for efficiently allocating data storage to agents. A computing system includes an interconnect with intermediate buffers for storing transactions and corresponding payload data during transport between sources and destinations. A data storage limit is set on an amount of data storage corresponding to outstanding transactions for each of the multiple sources based on the initial buffer assignments. A number of outstanding transactions for each of the multiple sources is limited based on a corresponding data storage limit. If the rate of allocation of a given buffer assigned to a first source exceeds a threshold, then a second source is selected with available space exceeding a threshold in an assigned buffer. If it is determined the second source is not assigned to a buffer with a rate of allocation exceeding a threshold, then buffer storage is reassigned from the second source to the first source.