Atomic Memory Transaction Validation Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processing core systems, constructing complex atomic logic using general-purpose atomic instructions is inefficient and prone to performance degradation due to the need for complex lock-free algorithms and contention management, which can lead to deadlock or livelock situations, making it difficult to ensure forward progress in executing atomic transactions.

Innovation Solution

A computer system is configured to validate and execute custom sequences of instructions as single atomic transactions by locking a source cache line, executing the validated sequence, and unlocking it, with a validation agent ensuring the sequence meets specific atomicity criteria to prevent deadlock or livelock, thereby guaranteeing forward progress.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If general-purpose atomic instructions are used to construct complex atomic logic, then atomic transactions can be executed, but the system experiences performance degradation due to complex lock-free algorithms and contention management

Engineering Contradiction:
Improveatomic transaction execution efficiencyVSAvoidcomplexity of lock-free algorithms and contention management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the complex lock-free algorithm logic from the general-purpose atomic instruction execution path and implements it as dedicated hardware circuits within the processor. This separates the simple atomic operation interface from the complex implementation details, allowing efficient execution without software-managed contention management overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces dedicated atomic operation hardware circuits as intermediaries between the instruction stream and the memory system. These circuits handle the complex lock-free algorithm execution and contention management internally, providing a simple interface to software while managing complexity in hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If general-purpose atomic instructions with lock-free algorithms are used, then atomic transactions can be implemented, but deadlock or livelock situations may occur preventing forward progress

Engineering Contradiction:
Improveguarantee of forward progress in atomic transactionsVSAvoidcomplexity of contention management mechanisms
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The dedicated atomic operation hardware circuits autonomously manage their own execution without requiring external contention management software. The circuits inherently guarantee forward progress by design, eliminating the need for complex software-based deadlock avoidance mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces software-based contention management mechanisms with hardware-based atomic operation circuits. This substitution eliminates the complexity of software-managed lock-free algorithms and provides deterministic forward progress guarantees through hardware enforcement.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If complex lock-free algorithms are used for atomic transactions, then arbitrary atomic logic can be constructed, but the execution becomes slow and difficult to implement

Engineering Contradiction:
Improveability to construct arbitrary atomic logicVSAvoidexecution speed of atomic transactions
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The dedicated atomic operation hardware circuits serve as intermediaries that provide a simplified interface for constructing atomic logic. Software can specify atomic operations using simple instructions while the hardware circuits handle the complex execution details, maintaining both versatility and performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the execution of complex atomic logic from the general-purpose instruction path and implements it in dedicated hardware circuits. This allows software to use simple, versatile atomic instructions while the hardware handles the complex execution, achieving both adaptability and high performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3021215B1Runtime validation of instruction sequence for atomic memory transaction
Publication Date: 2018.07.11 ADVANCED MICRO DEVICES INC
  • EP3021215B1 patent drawingFigure 1
  • EP3021215B1 patent drawingFigure 2
  • EP3021215B1 patent drawingFigure 3

AI summary

An apparatus comprising a hardware processing core in a multi-processing core system, wherein the hardware processing core is configured to execute a sequence of instructions as an atomic memory transaction, wherein the hardware processing core is configured to issue each instruction in the sequence to an execution pipeline, wherein the execution pipeline is configured to validate each instruction of the sequence during a validate stage of the execution pipeline that is prior to an execute stage of the execution pipeline, wherein the execute stage is configured to compute instruction results; wherein the validate stage is configured to determine types of instructions in the sequence based on opcodes of the instructions in the sequence, and wherein the validate stage is configured to allow execution of the sequence of instructions as an atomic memory transaction only if none of the instructions in the sequence of instructions have an opcode indicating an instruction type that permits specification of an access to any memory location for which another processor core in the multi-processing core system includes circuitry configured to execute a type of instruction that permits specification of an access to the memory location.