Nested Hardware Transactions Selective Rollback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware support for nested transactions is inefficient, leading to unnecessary re-execution of multiple transactions when an abort occurs within a nested transaction hierarchy, as it restores the original state of memory locations, affecting execution performance.

Innovation Solution

Implementing a logging module and handler module to take snapshots of memory locations and store abort handlers, allowing for selective rollback and restoration of only the affected transaction state, thereby avoiding the re-execution of unaffected nested transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current hardware support for nested transactions is used, then transaction execution is supported, but execution efficiency deteriorates due to unnecessary re-execution of multiple transactions when an abort occurs

Engineering Contradiction:
Improvetransaction execution correctnessVSAvoidexecution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the transaction state into hierarchical levels corresponding to different nested transaction scopes. Instead of treating all memory locations uniformly, the system divides them into groups associated with specific transaction levels, allowing selective rollback of only the necessary segment when an abort occurs, rather than re-executing the entire transaction hierarchy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and stores the state of memory locations at each transaction level separately using logging mechanisms. When an abort occurs, only the extracted state corresponding to the aborted transaction level is restored, leaving other transaction levels unaffected and avoiding unnecessary re-execution of nested transactions.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the original state of all memory locations is restored upon abort, then transaction consistency is maintained, but processing time is lost due to re-execution of unaffected nested transactions

Engineering Contradiction:
Improvetransaction consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by logging and storing the state of memory locations at each transaction level before executing the transaction. This preliminary state capture enables selective restoration only when needed, avoiding the time loss associated with restoring and re-executing unaffected transactions after an abort.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by treating different memory locations differently based on their association with specific transaction levels. Instead of uniformly restoring all memory states, the system selectively restores only those memory locations whose values were modified by the aborted transaction, maintaining consistency locally while preserving other parts of the system.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If nested transactions are implemented with current hardware support, then complex transaction hierarchies are enabled, but device complexity increases leading to inefficient execution

Engineering Contradiction:
Improvenested transaction capabilityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements nested transaction support by creating a nested hierarchical structure for state management, where each transaction level has its own state context. This nested organization allows complex transaction hierarchies to be managed efficiently, with each level independently tracking its own memory location states without requiring complete system-wide state management.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS7730286B2Software assisted nested hardware transactions
Publication Date: 2010.06.01 INTEL CORP
  • US7730286B2 patent drawing
  • US7730286B2 patent drawing
  • US7730286B2 patent drawing

AI summary

A method and apparatus for efficiently executing nested transactions is herein described. Hardware support for execution of transactions is provided. Additionally, through the use of logging previous values immediately before a current nested transaction in a local memory and storage of a stack of handlers associated with a hierarchy of transactions, nested transactions are potentially efficiently executed. Upon a failure, abort, or invalidating event/access within a nested transaction, the state of variables or memory locations written to during execution of the nested transaction are rolled-back to immediately before the nested transaction, instead of all the way back to an original state of the variables or memory locations before an enclosing transaction. As a result, nested transactions may be re-executed within enclosing transactions, without flattening the enclosing and nested transactions to re-execute everything.