Dataflow Memory Synchronization Tokens for External RAM Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In dataflow architectures, accessing external memory without proper synchronization can lead to inconsistent execution order of instructions, violating the intended sequence specified in high-level language code, which affects semantic correctness.

Innovation Solution

The implementation of synchronization tokens for memread and memwrite instructions ensures that data access to external RAM is synchronized by requiring availability of both address and synchronization tokens before executing these operations, maintaining the intended ordering through the use of synchronization tokens stored in the dataflow memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If external memory is accessed without synchronization tokens, then access speed is improved, but execution order correctness deteriorates

Engineering Contradiction:
Improvememory access speedVSAvoidexecution order correctness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

Synchronization tokens are introduced as intermediary elements that mediate between the dataflow memory and external memory access operations. The tokens carry address information and are used to control the timing and ordering of memory accesses, ensuring that reads and writes occur in the correct sequence without blocking the overall dataflow architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Address tokens are prepared and stored in the dataflow memory in advance of the actual memory access operations. This preliminary action allows the system to maintain the correct execution order by having the necessary addressing information ready before the memory access is triggered, enabling synchronized access without compromising speed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If synchronization tokens are used for every external memory access, then execution order correctness is improved, but system complexity deteriorates

Engineering Contradiction:
Improveexecution order correctnessVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The synchronization token mechanism is designed to be universal, handling both read and write operations to external memory through the same token-based approach. The dataflow memory serves multiple functions: storing data tokens, storing address tokens, and coordinating the timing of external memory accesses, reducing the need for separate synchronization mechanisms.

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

Solution Approach 2:

The system uses its own dataflow memory structure to store and manage synchronization tokens, rather than requiring external synchronization hardware or software. The token mechanism leverages the existing dataflow architecture's strengths, allowing the system to synchronize its own memory accesses using its inherent data storage and flow control capabilities.

Inventive Principle:
Principle #25Self-service

3Reliability

If external memory access is synchronized with dataflow operations, then semantic correctness is improved, but productivity deteriorates

Engineering Contradiction:
Improvesemantic correctnessVSAvoidprogram execution throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The synchronization mechanism is dynamic rather than static, allowing memory access operations to proceed as soon as the necessary tokens are available in the dataflow memory. This dynamic approach adapts to the actual data availability and dependency relationships, enabling parallel execution of independent operations while maintaining correct ordering where dependencies exist.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The token-based synchronization maintains continuous dataflow through the system by allowing operations to proceed continuously as tokens become available. Rather than introducing blocking synchronization points that halt execution, the system maintains continuous useful action by processing operations in parallel whenever their required tokens are present in the dataflow memory.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8332597B1Synchronization of external memory accesses in a dataflow machine
Publication Date: 2012.12.11 XILINX INC
  • US8332597B1 patent drawing
  • US8332597B1 patent drawing
  • US8332597B1 patent drawing

AI summary

Approaches for synchronizing memory accesses in a dataflow computing system. A compute operation in the dataflow computing system is commenced in response to availability in a dataflow memory of each operand that is required to perform the compute operation. Output data from a compute operation is stored in the dataflow memory at completion of the compute operation. Write and read operations are supported for accessing an external memory. Accesses to the external memory are synchronized by storing synchronization tokens in the data flow memory. Each synchronization token signals when an address in the external memory may be accessed.