Transactional Memory Conflict Management via Continuation State

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Hardware Transactional Memory (HTM) systems face challenges in effectively notifying applications of transaction conflicts, with synchronous notifications causing abrupt aborts and asynchronous notifications incurring significant overhead.

Innovation Solution

A method that initiates transactions, detects abort scenarios, notifies applications, and determines whether to abort based on application instructions, while restoring the transaction state and enabling continuation if not aborted, using processor registers and mechanisms to capture and store a continuation state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous notification is used to notify applications of transaction conflicts, then the application is immediately informed of the conflict, but the abrupt control flow diversion causes transactions to abort and restart, adversely affecting application performance

Engineering Contradiction:
Improvetransaction conflict notification reliabilityVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by buffering speculative alterations to shared memory and preparing continuation states before actual conflicts occur. When conflicts are detected, the system has already prepared the necessary state information, allowing for smoother conflict handling without abrupt aborts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism that sits between the conflict detection and application notification. This intermediary prepares and buffers continuation states, allowing the system to notify applications of conflicts while providing them with pre-prepared state information that enables smoother recovery rather than abrupt restarts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If asynchronous notification is used to notify applications of transaction conflicts, then application performance is maintained, but the application must proactively query conflict information, creating significant overhead

Engineering Contradiction:
Improveapplication performanceVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system implements feedback by notifying applications of transaction conflicts proactively rather than requiring applications to continuously query for conflict status. This feedback mechanism reduces the overhead of constant polling while keeping applications informed of conflict conditions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-computing and buffering continuation states before applications need to handle conflicts. This preliminary preparation reduces the work applications must do when conflicts occur, lowering overall system overhead.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If transactions are aborted and restarted immediately upon conflict detection, then conflict resolution is achieved quickly, but the abrupt nature of the process adversely affects applications

Engineering Contradiction:
Improveconflict resolution timeVSAvoidapplication smoothness
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The system performs preliminary actions by preparing continuation states that capture the transaction context before conflicts occur. This allows for faster conflict resolution since the necessary state information is already prepared, while also improving application smoothness by providing a more gradual recovery process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies beforehand cushioning by buffering speculative alterations and preparing continuation states in advance. This cushioning mechanism absorbs the shock of conflict detection and provides a smoother transition for applications, reducing the adverse effects of abrupt aborts while maintaining quick conflict resolution.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Adaptability or versatility

If applications are given detailed state information for conflict handling, then informed decision-making is enabled, but the complexity of managing this information increases

Engineering Contradiction:
Improveconflict handling flexibilityVSAvoidstate management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex state management burden from applications by having the system itself prepare and buffer continuation states. Applications receive this pre-processed state information, which maintains adaptability for informed decision-making while reducing the complexity of state management that applications must handle.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9152509B2Transactional memory conflict management
Publication Date: 2015.10.06 ADVANCED MICRO DEVICES INC
  • US9152509B2 patent drawing
  • US9152509B2 patent drawing
  • US9152509B2 patent drawing

AI summary

A computing device initiates a transaction, corresponding to an application, which includes operations for accessing data stored in a shared memory and buffering alterations to the data as speculative alterations to the shared memory. The computing device detects a transaction abort scenario corresponding to the transaction and notifies the application regarding the transaction abort scenario. The computing device determines whether to abort the transaction based on instructions received from the application regarding the transaction abort scenario. When the transaction is to be aborted, the computing device restores the transaction to an operation prior to accessing the data stored in the shared memory and buffering alterations to the data as speculative alterations to the shared memory. When the transaction is not to be aborted, the computing device enables the transaction to continue.