Parallel Atomic Increment via Vgather Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel processing, especially in digital signal processors, atomic increment operations often result in inconsistent results due to race conditions when multiple threads access the same memory location, leading to linearization of otherwise parallel processes.

Innovation Solution

A parallel atomic increment capability is implemented using a 'vgather' instruction that allows multiple processing elements to read the old value and the number of elements accessing a memory location, enabling each to increment the value correctly without serializing the operation, and arbitration rules ensure only one writes back the correct value.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processing elements access the same memory location in parallel for atomic increment operations, then processing speed and throughput are improved, but race conditions occur leading to inconsistent results and data integrity issues

Engineering Contradiction:
Improveprocessing speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a mediator component that intercepts increment requests from multiple processing elements, manages the actual increment operation on the shared memory location, and returns consistent results to all requesters. This mediator acts as an intermediary that serializes the critical section while allowing parallel request submission, thus maintaining both high throughput and data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by having processing elements submit increment requests in parallel before the actual increment operation is executed. The mediator collects all requests, determines the final increment value, and then performs a single atomic update. This preliminary parallel submission phase maintains productivity while the subsequent centralized execution ensures reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If atomic increment operations are serialized to prevent race conditions, then data integrity is maintained, but processing parallelism is lost and throughput decreases

Engineering Contradiction:
Improvedata integrityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the atomic increment operation into two distinct phases: a parallel request submission phase where multiple processing elements can simultaneously issue increment requests without interference, and a centralized execution phase where the mediator processes these requests. This segmentation allows different stages of the operation to occur in parallel and serial respectively, optimizing both throughput and data integrity.

Inventive Principle:
Principle #1Segmentation

3Reliability

If separate interconnection networks are provided for every parallel data transfer, then data transfer reliability is improved, but device complexity and resource consumption increase

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidinterconnection network complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple increment requests from different processing elements into a single unified operation through the mediator. Instead of requiring separate interconnection networks for each processing element to access the shared memory location, all requests are combined and processed through a single centralized path, significantly reducing interconnection network complexity while maintaining reliable data transfer.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2804102B1Parallel atomic increment
Publication Date: 2021.09.22 ANALOG DEVICES INC
  • EP2804102B1 patent drawingFigure 1~2
  • EP2804102B1 patent drawingFigure 3~4
  • EP2804102B1 patent drawingFigure 5~6

AI summary

The present disclosure describes a parallelized atomic increment. A vgather instruction returns to a plurality of processing elements the value of a memory location. A vgather_hit instruction returns to a function of the number of "hits" to the memory location. In one embodiment, the function is unity. In another embodiment, the function is the number of hits having an ordinal designation less than or equal to the processing element receiving the return value.