Hybrid Computing System Parallelization Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face inefficiencies in parallel computation due to the 'Memory Wall' problem, high complexity, and the need for large, energy-consuming associative memory in data flow-based architectures, which limits parallelism and increases the risk of deadlocks.

Innovation Solution

A hybrid computing system that enables automatic parallelization of computations using both coarse-grain and fine-grain parallelization methods, employing a co-processor with RAM-type memory for data storage and a network controller to distribute computations across multiple devices, reducing the reliance on associative memory and addressing deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a shared memory architecture is used to enable parallel computation, then ease of implementation and equal memory access are improved, but memory access conflict and system efficiency deteriorate due to the Memory Wall problem

Engineering Contradiction:
Improveease of implementationVSAvoidsystem efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent divides the monolithic shared memory into multiple memory banks (first memory bank, second memory bank, etc.) that can be accessed independently by different processors. This segmentation allows parallel memory accesses without conflicts, as each processor can access different memory banks simultaneously, thereby resolving the Memory Wall problem while maintaining implementation simplicity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a separate memory architecture is used to avoid memory access conflict, then memory access efficiency is improved, but programming complexity and synchronization difficulty worsen

Engineering Contradiction:
Improvememory access efficiencyVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a controller as an intermediary between processors and memory banks. The controller automatically manages memory allocation, access coordination, and data synchronization between processors and memory banks, eliminating the need for complex manual synchronization programming while maintaining efficient separate memory access.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If a NUMA architecture is used to combine separate memory banks virtually, then memory access flexibility is improved, but access time to foreign node memory banks increases

Engineering Contradiction:
Improvememory access flexibilityVSAvoidmemory access time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements local memory banks attached to each processor, allowing processors to access their local memory banks with minimal latency. Data is pre-loaded and cached in local memory banks before being needed, reducing the need for frequent accesses to remote memory banks and thereby minimizing access time penalties while maintaining NUMA flexibility.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If large associative memory is used in data flow architecture to store processed data, then data storage capacity is improved, but energy consumption and cost worsen

Engineering Contradiction:
Improvedata storage capacityVSAvoidenergy consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent extracts the associative memory function from the main data flow architecture and implements it as a separate, optional component. Only essential data requiring associative search is stored in associative memory, while the majority of processed data is stored in conventional memory banks, significantly reducing the size and energy consumption of associative memory while maintaining necessary data storage capacity.

Inventive Principle:
Principle #2Taking out (Extraction)

5Productivity

If data flow mode is used for automatic parallelization, then parallelism is improved, but deadlock risk and loss of instruction flow capability worsen

Engineering Contradiction:
ImproveparallelismVSAvoiddeadlock risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a dynamic execution model that can switch between data flow mode and instruction flow mode based on program requirements. The system dynamically selects the appropriate execution mode for different computational stages, allowing automatic parallelization when beneficial while maintaining controlled sequential execution when needed to prevent deadlocks, thus providing both high parallelism and reliability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3953815B1Computing device and computing system based on said device
Publication Date: 2024.09.18 SCIENSYS
  • EP3953815B1 patent drawingFigure 1
  • EP3953815B1 patent drawingFigure 2
  • EP3953815B1 patent drawingFigure 3

AI summary

The invention relates to computing devices and computer architectures to carry out efficient parallel computation, providing for prevention of deadlocks, simplification of the computing device and computing system architecture, provision of a high parallelism with simultaneous reduction of requirement to a volume of associative memory used. The computing device (1) comprises at least one executive unit (4) each connected to the message and token generator (9), the matching device (2) having the associative memory (3.1) and, optionally, the RAM-type memory (3.2), the node table (11), the message queue (8.1) and the token queue (8.2), the demultiplexer (5), the input network controller 6.1 and the output network controller 6.2, the message decoder 7.1 and the message encoder 7.2, and the external device interface 10. When executing a procedure, the computing device (1) forms the node table (11) and sends data a free executive unit (4), wherein at least intermediate output data is stored in the associative memory (3.1).