Master Processing Unit Shareable Data Structure Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing compilation methods for graph-based programs on multi-tile processing systems lead to inefficient memory usage due to the need for duplicating shared data structures across multiple processing units, which restricts the size of models that can be executed on the chip and increases memory burden.

Innovation Solution

A method where shared read-only elements are identified and allocated to a master processing unit, allowing them to be transmitted and stored only on the processing units that need them, reducing the need for duplicate storage across all tiles and optimizing memory usage by using a shareable data structure approach.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If shared data structures are duplicated across all processing units, then each processing unit has access to the data it needs, but memory usage increases significantly

Engineering Contradiction:
Improvedata accessibilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the storage of shared data structures into a single location (master processing unit) rather than duplicating them across all processing units. The master processing unit stores the shared data structure once, and other processing units access it through coordinated memory operations, thereby combining multiple access needs into a single storage location.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary mechanism where the master processing unit acts as a mediator between processing units that need shared data. Instead of direct access to duplicated data, processing units request and receive data through the master processing unit, which manages the shared data structure and distributes it as needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If shared data structures are stored only on the master processing unit, then memory usage is reduced, but access time increases due to inter-unit communication

Engineering Contradiction:
Improvememory usageVSAvoiddata access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-loading shared data structures into the master processing unit's memory before other processing units need them. The compiler identifies and prepares shared data structures in advance, so when processing units need the data, it is already available in the master unit, reducing the actual access time during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic data sharing mechanisms where the master processing unit can dynamically transmit shared data structures to other processing units based on real-time needs. The system dynamically determines which processing units need which data and transmits only the necessary portions, optimizing access time based on actual usage patterns rather than static pre-distribution.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If data structures are allocated to each processing unit individually, then memory allocation is simple, but the system cannot execute larger models due to memory constraints

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidmodel size capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent makes the master processing unit's memory serve multiple functions: it stores both local data for the master unit and shared data structures for all other processing units. This multi-functional memory allocation allows the system to handle larger models by consolidating shared data in one location rather than requiring separate allocations across all units.

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

Solution Approach 2:

The patent changes the dimension of data storage from a distributed horizontal allocation across multiple processing units to a centralized vertical structure where the master processing unit serves as a central repository. This dimensional shift allows the system to accommodate larger models by utilizing the master unit's memory capacity as a shared resource for the entire system.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11675572B2Sharing data structures
Publication Date: 2023.06.13 GRAPHCORE LTD
  • US11675572B2 patent drawing
  • US11675572B2 patent drawing
  • US11675572B2 patent drawing

AI summary

In a computer comprising multiple processing units, a method of exchanging read only elements between the processing units is described. The read only elements may be code or data, such as vector or matrix data for an AI graph. A master processing unit is identified. At compile time, at least one shareable read only element is allocated to the master processing unit. The at least one shareable read only element is stored in the local memory of the master processing unit. At compile time a transmitting exchange code sequence designated to be executed at the execution stage of the master processing unit is also allocated to the master processing unit. At a time point determined at compile time, the transmitting exchange code sequence causes the processing unit to identify the shareable read only element and to generate a message to be transmitted for reception by another processing unit, the message comprising the shareable read only data element.