Tiled Buffer Virtualization for Parallel Processing Deadlock Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel processing environments, existing technologies face challenges in efficiently managing data flows and buffering, particularly in avoiding deadlocks and optimizing storage space, which affects the performance and cost-effectiveness of integrated circuits like FPGAs and ASICs.

Innovation Solution

The integrated circuit design features a tiled architecture with multiple tiles, each containing a processor, switch, buffers, and multiplexers that selectively provide data from input or overflow buffers based on refill signals, enabling buffer virtualization and flow control to prevent deadlocks and optimize storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional buffering methods are used in parallel processing environments, then data storage is simplified, but deadlocks occur and data flow efficiency deteriorates

Engineering Contradiction:
Improvedeadlock preventionVSAvoiddata flow efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The buffer is segmented into multiple regions including a primary buffer and an overflow buffer. This segmentation allows data to be stored in different regions based on availability, preventing deadlocks by providing alternative storage paths while maintaining data flow efficiency through structured region management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary mechanism (overflow buffer and associated control logic) is introduced between the data source and the primary buffer. This intermediary prevents deadlocks by providing an alternative storage path when the primary buffer is full, thereby maintaining overall system productivity without compromising reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If buffer overflow is allowed to proceed without management, then storage space utilization is simplified, but data loss increases and reliability deteriorates

Engineering Contradiction:
Improvebuffer management complexityVSAvoiddata integrity
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The overflow buffer is prepared in advance as a contingency storage region. When the primary buffer reaches capacity, data is redirected to the pre-configured overflow buffer before data loss can occur. This preliminary preparation maintains data integrity without adding complex runtime management overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The overflow buffer acts as a cushioning mechanism that absorbs excess data before it can cause data loss. This beforehand cushioning protects data integrity by providing a safety buffer zone, while the straightforward implementation maintains ease of buffer management.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If dedicated buffer space is allocated for each data source, then data isolation is improved, but storage space utilization deteriorates due to fragmentation

Engineering Contradiction:
Improvedata isolationVSAvoidstorage space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The overflow buffer serves multiple functions: it acts as an extension of the primary buffer, a deadlock prevention mechanism, and a data isolation barrier. This multi-functionality allows dedicated buffer space allocation to maintain data isolation while improving overall storage utilization by sharing the overflow buffer resource across multiple data sources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system discards the notion of permanently dedicating buffer space to each source and instead recovers unused buffer space through the shared overflow buffer. When primary buffers are not full, their allocated space remains available for other sources, improving utilization while the overflow buffer maintains data isolation when needed.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS7668979B1Buffering data in a parallel processing environment
Publication Date: 2010.02.23 MELLANOX TECHNOLOGIES LTD(IL)
  • US7668979B1 patent drawing
  • US7668979B1 patent drawing
  • US7668979B1 patent drawing

AI summary

An integrated circuit includes a plurality of tiles. Each tile comprises a processor; a switch including switching circuitry to forward data over data paths from other tiles to the processor and to switches of other tiles; a first buffer that stores data from the switch; a memory accessible to the processor; a second buffer that stores a plurality of data words retrieved from the memory; and a multiplexer that selectively provides data to the processor from the first buffer or the second buffer based on a refill signal.