Processor Module Data Exchange Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-threaded and multi-tiled processing systems, existing technologies face challenges in synchronizing data exchanges between processor modules without relying on deterministic timing, particularly in non-time-deterministic interconnects, which can lead to complexity and inefficiency, especially across different chips or tiles.

Innovation Solution

A processing system is implemented with multiple processor modules that operate in bulk synchronous parallel (BSP) supersteps, using a non-time-deterministic interconnect for data exchange between different sets of processor modules, where each module performs computations and exchanges results in alternating phases with barrier synchronization, and employs a pre-programmed counter to ensure synchronized data finalization without needing to know the timing of incoming data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If deterministic timing is used for data exchange synchronization between processor modules, then synchronization reliability is improved, but device complexity and power consumption increase

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidsynchronization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a barrier synchronization mechanism as an intermediary that mediates data exchange between processor modules. Instead of direct deterministic timing coordination between modules, the barrier acts as a centralized coordinator that collects completion signals from all modules and manages the synchronization state, thereby reducing the complexity of direct inter-module timing coordination while maintaining synchronization reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Each processor module autonomously manages its own synchronization state by locally maintaining a completion counter that tracks exchanged data elements. The module independently decrements its counter as data arrives and automatically proceeds when the counter reaches zero, eliminating the need for complex centralized timing control and reducing overall system complexity while ensuring reliable synchronization

Inventive Principle:
Principle #25Self-service

2Measurement precision

If deterministic timing is used for data exchange synchronization, then synchronization precision is improved, but power consumption increases

Engineering Contradiction:
Improvesynchronization precisionVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system employs periodic barrier synchronization events rather than continuous deterministic timing monitoring. Processor modules operate independently during compute phases, then periodically synchronize at barrier points where data exchange completion is confirmed. This periodic approach maintains precise synchronization at critical points while allowing modules to consume minimal power during independent execution phases

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

Each processor module autonomously tracks its data exchange completion status using a local counter, eliminating the need for continuous power-consuming centralized timing signals. The module only consumes additional power when actually exchanging data or reaching a barrier synchronization point, rather than maintaining constant synchronization overhead

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If non-time-deterministic interconnect is used for data exchange, then adaptability is improved, but synchronization reliability deteriorates

Engineering Contradiction:
Improveinterconnect flexibilityVSAvoidsynchronization reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where receiving processor modules send completion signals back to the barrier synchronization mechanism as data elements arrive. The barrier uses this feedback to track when all expected data has been received from all processor modules, and only then allows progression to the next compute phase. This feedback loop ensures reliable synchronization even though the underlying interconnect is non-time-deterministic

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The barrier synchronization mechanism serves as an intermediary that shields processor modules from the non-time-deterministic nature of the interconnect. Modules simply exchange data and signals through the barrier, which manages the complexity of tracking all data arrivals and coordinating synchronization, thereby maintaining reliability while allowing flexible non-deterministic communication underneath

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If barrier synchronization is implemented for all processor modules, then synchronization reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The barrier synchronization mechanism is segmented and distributed across multiple processor modules rather than being a single centralized complex unit. Each module maintains its own completion counter and independently tracks data arrivals, dividing the synchronization management task into simple local functions. This segmentation reduces the complexity of any single component while collectively achieving reliable system-wide synchronization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processor module autonomously manages its own synchronization state without requiring complex centralized control. The module independently counts incoming data elements, decrements its counter as data arrives, and automatically determines when synchronization is complete. This self-service approach distributes the synchronization logic across simple local units rather than requiring a complex centralized barrier mechanism

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10705999B1Exchange of data between processor modules
Publication Date: 2020.07.07 GRAPHCORE LTD
  • US10705999B1 patent drawing
  • US10705999B1 patent drawing
  • US10705999B1 patent drawing

AI summary

A processing system comprising: multiple processor modules, each comprising a respective execution unit memory; and an interconnect for exchanging data between different sets of the processor modules. A group of the processor modules operates in a series of steps. For an exchange phase of each step by each receiving processor module that is to receive data from outside its own set, the receiving module is pre-programmed with a value representing the number of units of data to receive. Starting from the pre-programmed value, it then counts out the number of data units remaining to be received each time a data unit is received. Each receiving processor module is further arranged to perform an exchange synchronization whereby, before advancing from the exchange phase to the compute phase of the current step, the receiving processor module waits until no units of data remain to be received according to the count.