Salvaging Partially Executed Hardware Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core processor systems, partially executed hardware transactions often fail due to conflicts or resource limitations, leading to inefficiencies and wasted cycles as they are abruptly aborted, rather than being salvaged for potential completion.

Innovation Solution

A method where a processor saves state information for a partially executed hardware transaction and executes an about-to-fail handler to determine whether the transaction can be salvaged or aborted, allowing salvageable state to be committed and continuing execution of remaining instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware transactions are aborted when conflicts or resource limitations occur, then transactional memory system reliability is maintained, but productivity decreases due to wasted cycles and discarded speculative state

Engineering Contradiction:
Improvetransactional memory system reliabilityVSAvoidtransactional memory system efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent recovers and reuses speculative state from partially executed transactions that would otherwise be discarded. When a transaction is aborted, the system captures the speculative state (register values, memory accesses) and attempts to salvage it by transferring control to an about-to-fail handler, allowing the transaction to complete or be restarted without losing the invested computational work

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The patent performs preliminary actions by saving state information at the point of failure before the transaction is fully aborted. The system proactively captures register values, memory access patterns, and transaction context in advance, enabling potential recovery and salvage operations rather than losing all speculative work

Inventive Principle:
Principle #10Preliminary action

2Productivity

If state information is saved for partially executed transactions, then productivity improves through potential salvage, but device complexity increases due to additional state management requirements

Engineering Contradiction:
Improvetransactional memory system efficiencyVSAvoidstate management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential state information needed for potential salvage (register values, memory access patterns, transaction context) rather than saving the entire transaction state. This selective extraction reduces the overhead of state management while enabling effective recovery operations

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an about-to-fail handler as an intermediary component that mediates between the aborted transaction and the transactional memory system. This handler receives the partially executed transaction, evaluates salvageability, and coordinates the recovery process, simplifying the overall state management complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If about-to-fail handlers are executed to determine salvageability, then loss of time is reduced by avoiding redundant work, but device complexity increases due to additional handler execution overhead

Engineering Contradiction:
Improvetransaction completion timeVSAvoidhandler execution complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements self-service by allowing the about-to-fail handler to autonomously evaluate the salvageability of partially executed transactions and make decisions about continuation or abortion. The handler independently determines whether the transaction can be salvaged without requiring complex external arbitration or coordination

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9952943B2Salvaging hardware transactions
Publication Date: 2018.04.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9952943B2 patent drawing
  • US9952943B2 patent drawing
  • US9952943B2 patent drawing

AI summary

A transactional memory system salvages a partially executed hardware transaction. A processor of the transactional memory system saves state information in a first code region of a first hardware transaction. The processor executes an about-to-fail handler, the about-to-fail handler using the saved state information to determine whether the first hardware transaction is to be salvaged or to be aborted. The processor executing the about-to-fail handler, based on the transaction being to be salvaged, uses the saved state information to determine what portion of the first hardware transaction to salvage.