Parallel Processing Architecture Background Loads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing architectures often struggle with efficiently handling large datasets due to inflexible designs, leading to inefficiencies in task processing and data throughput, particularly when dealing with complex operations like machine learning and data-intensive applications.

Innovation Solution

A parallel processing architecture with background loads, utilizing a two-dimensional array of compute elements that can be configured to perform various topologies, where the array is paused to allow background data loading from a memory system, enabling efficient data transfer and processing through repurposed bus operations and scratchpad memories.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is loaded from memory system during active compute element operation, then data transfer can occur, but it interferes with compute element operations and reduces processing efficiency

Engineering Contradiction:
Improvedata transfer speedVSAvoidcompute element processing efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs data loading actions in advance by pausing compute element operations temporarily to allow background data loads to complete. This preliminary action ensures data is ready before resuming processing, preventing future stalls and improving overall throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A control mechanism acts as an intermediary between the compute elements and memory system, coordinating pausing of compute operations with background data loading. This mediator manages the timing and synchronization, allowing data transfer without direct interference with active processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If background data loads are implemented by pausing compute element operations, then data transfer efficiency improves, but compute element productivity decreases during pause

Engineering Contradiction:
Improveoverall task processing efficiencyVSAvoidcompute element idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system maintains continuity of useful action by performing data loading during paused compute operations. Instead of losing time, the pause period is utilized for beneficial data transfer activities, ensuring that compute elements resume with data already available, eliminating future idle time.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Data is loaded in advance during compute pauses, preparing data before it is needed for subsequent processing. This preliminary action prevents future processing delays and ensures continuous productive operation after resume.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If complex data processing tasks are handled by traditional architectures, then processing can occur, but data throughput is limited due to inflexible design

Engineering Contradiction:
Improveprocessing architecture flexibilityVSAvoiddata throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The processing architecture dynamically adjusts its operation mode by transitioning between active compute processing and paused background loading states. This dynamic behavior allows the system to adapt to varying data availability and processing needs, optimizing throughput for complex tasks.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The compute elements serve multiple functions: they process data during active periods and facilitate background data loading during paused periods. This multi-functionality increases architectural versatility and improves overall data throughput without requiring separate dedicated hardware.

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

Data Source

PatentUS20220075740A1Parallel processing architecture with background loads
Publication Date: 2022.03.10 ASCENIUM INC
  • US20220075740A1 patent drawing
  • US20220075740A1 patent drawing
  • US20220075740A1 patent drawing

AI summary

Techniques for task processing using a parallel processing architecture with background loads are disclosed. A two-dimensional array of compute elements is accessed. Each compute element is known to a compiler and is coupled to its neighboring compute elements. Operation of the array is paused. The pausing occurs while a memory system continues operation. A bus coupling the array is repurposed. The repurposing couples one or more compute elements in the array to the memory system. A memory system operation is enabled during the pausing. Data is transferred from the memory system to the array of compute elements using the bus that was repurposed. The data from the memory system is transferred to scratchpad memory in the one or more compute elements within the two-dimensional array. The scratchpad memory provides operand storage. The data is tagged. The tagging guides the transferring to a particular compute element.