Synchronization Register Bitwise Coordination for Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel processing synchronization methods, such as hardware synchronization barriers, face inefficiencies in coordinating multiple processor cores due to reliance on network communication, leading to asynchronous and delayed resumption of suspended threads.

Innovation Solution

A method involving configuration of a synchronization register where each processing unit has a distinct bit position, allowing threads to suspend and resume based on bitwise OR operations and local messaging, enabling rapid and coordinated thread resumption without network dependency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If network communication is used for synchronization between processing units, then coordination between multiple cores can be achieved, but synchronization delays and asynchronous thread resumption occur

Engineering Contradiction:
Improvesynchronization coordinationVSAvoidthread resumption delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the synchronization functionality from network-dependent operations and implements it locally within each processing unit using synchronization registers. Each processing unit maintains its own synchronization state independently, eliminating the need for network communication during the actual synchronization operation, thus removing the source of delays while maintaining coordination reliability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary configuration of synchronization registers with expected values before threads reach synchronization points. Processing units pre-load their synchronization registers with the expected pattern of bits that should be set when all threads arrive, allowing for immediate local comparison and thread resumption without waiting for network confirmation

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If hardware synchronization barriers with mailboxes are used, then synchronization mode can be implemented, but bitwise OR operations and master core notification create complexity

Engineering Contradiction:
Improvesynchronization modeVSAvoidmailbox configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the centralized mailbox approach into distributed synchronization registers, with each processing unit having its own independent register. This segmentation eliminates the single point of complexity (the master-controlled mailbox) and distributes the synchronization logic across multiple independent units, reducing overall system complexity while maintaining adaptability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processing unit independently manages its own synchronization register without requiring master core control or notification. The units autonomously perform the bitwise OR operation on their local registers and self-determine when synchronization is complete, eliminating the complex master-slave control architecture while preserving synchronization functionality

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9766951B2Hardware synchronization barrier between processing units
Publication Date: 2017.09.19 KALRAY
  • US9766951B2 patent drawing
  • US9766951B2 patent drawing
  • US9766951B2 patent drawing

AI summary

A method for synchronizing multiple processing units, comprises the steps of configuring a synchronization register in a target processing unit so that its content is overwritten only by bits that are set in words written in the synchronization register; assigning a distinct bit position of the synchronization register to each processing unit; and executing a program thread in each processing unit. When the program thread of a current processing unit reaches a synchronization point, the method comprises writing in the synchronization register of the target processing unit a word in which the bit position assigned to the current processing unit is set, and suspending the program thread. When all the bits assigned to the processing units are set in the synchronization register, the suspended program threads are resumed.