Transactional Memory Hardware Acceleration via Transaction Bits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing number of cores and logical processors in integrated circuits leads to challenges in synchronizing shared data among software threads, with traditional locking mechanisms causing false contention and serialization, while existing transactional execution methods either incur significant performance overhead or require complex and expensive hardware.

Innovation Solution

A processor architecture that accelerates transactional execution by using a combination of hardware and software mechanisms, including a transaction bit associated with each memory line to track first-time accesses, allowing speculative execution and reducing the need for frequent lock validation, and operating in aggressive or cautious modes to optimize performance and validation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software transactional memory is used to track memory accesses, then nested transactions can be executed efficiently, but significant performance overhead (2-3x) is incurred due to instrumentation of memory accesses

Engineering Contradiction:
Improvenested transaction capabilityVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the transactional memory system into hardware components: a transactional memory execution unit for speculative execution, a validation unit for checking memory accesses, and a commit/abort unit. This segmentation allows nested transactions to be handled by specialized hardware rather than software instrumentation, reducing overhead while maintaining the capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the software-based transactional memory mechanism with a hardware-based transactional execution unit. The hardware unit automatically tracks memory accesses, validates transactions, and handles commits or aborts without requiring software instrumentation, thereby eliminating the 2-3x performance overhead while preserving nested transaction support.

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

2Productivity

If hardware-only transactional memory is used, then execution speed is improved, but transaction size and functionality are sacrificed due to complex circuitry requirements

Engineering Contradiction:
Improveexecution speedVSAvoidhardware circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a validation unit that performs partial validation of memory accesses during transactional execution. Rather than validating every single access in full detail, the unit performs selective validation based on transaction status and memory access patterns, reducing the complexity of the hardware circuitry while maintaining execution speed advantages.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent introduces dynamic control into the hardware transactional execution unit, allowing it to adjust its validation and tracking behavior based on transaction characteristics. The unit can operate in different modes (e.g., aggressive validation vs. minimal validation) depending on the transaction size and type, reducing overall hardware complexity while preserving speed benefits for common cases.

Inventive Principle:
Principle #15Dynamics

3Reliability

If traditional locking mechanisms are used for shared data synchronization, then mutual exclusion is guaranteed, but false contention and execution serialization occur

Engineering Contradiction:
Improvemutual exclusion guaranteeVSAvoidexecution parallelism
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces traditional software locking mechanisms with a hardware-based transactional execution system. The hardware execution unit speculatively executes transactions and automatically handles conflicts through validation and abort/restart mechanisms, eliminating false contention and serialization issues inherent in lock-based systems while maintaining mutual exclusion guarantees.

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

Solution Approach 2:

The transactional execution unit performs self-validation of memory accesses without requiring external lock management. The validation unit automatically checks for conflicts with other transactions, and the commit/abort unit handles resolution, allowing multiple transactions to execute in parallel without false contention while still guaranteeing mutual exclusion when conflicts are detected.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2503460B1Hardware acceleration for a software transactional memory system
Publication Date: 2018.08.22 INTEL CORP
  • EP2503460B1 patent drawingFigure 1
  • EP2503460B1 patent drawingFigure 2
  • EP2503460B1 patent drawingFigure 3

AI summary

A method and apparatus for accelerating transactional execution. Barriers associated with shared memory lines referenced by memory accesses within a transaction are only invoked/executed the first time the shared memory lines are accessed within a transaction. Hardware support, such as a transaction field/transaction bits, are provided to determine if an access is the first access to a shared memory line during a pendancy of a transaction. Additionally, in an aggressive operational mode version numbers representing versions of elements stored in shared memory lines are not stored and validated upon commitment to save on validation costs. Moreover, even in a cautious mode, that stores version numbers to enable validation, validation costs may not be incurred, if eviction of accessed shared memory lines do not occur during execution of the transaction.