Hardware Transaction Suspension for Non-Transactional Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transactional computing systems incur unnecessary overhead due to monitoring and buffering of all memory accesses within a transaction, even for operations that do not require these benefits, such as logging or non-rollbackable operations, which increases memory access footprint and resource usage.

Innovation Solution

Implementing a method and instruction set architecture that allows for suspending and resuming hardware transactions, enabling operations to be performed non-transactionally without monitoring or buffering, and then resuming transactional mode, thereby reducing unnecessary overhead and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all memory accesses within a transaction are monitored and buffered, then transactional consistency and atomicity are ensured, but memory access footprint and resource usage increase unnecessarily for operations that do not require these benefits

Engineering Contradiction:
Improvetransactional consistencyVSAvoidmemory access footprint
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating between transactional and non-transactional memory accesses within the same transactional context. Non-transactional accesses are identified and handled differently from transactional accesses, allowing the system to apply monitoring and buffering only where needed (transactional accesses) while leaving non-transactional accesses unmonitored, thus reducing memory footprint while maintaining consistency where required

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments memory accesses into transactional and non-transactional categories within a transactional context. This segmentation allows the system to selectively apply transactional monitoring and buffering mechanisms only to transactional accesses, while permitting non-transactional accesses to proceed without these overhead mechanisms, thereby resolving the contradiction between ensuring consistency and reducing resource usage

Inventive Principle:
Principle #1Segmentation

2Reliability

If logging operations are performed within a transaction, then they benefit from transactional context, but they cannot be rolled back if the transaction aborts and still require monitoring overhead

Engineering Contradiction:
Improvetransactional context benefitVSAvoidunnecessary monitoring overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by identifying logging operations as a special category that requires transactional context (such as visibility to other threads) but not transactional rollback protection. These operations are marked as non-transactional within the transactional context, allowing them to benefit from the transactional environment while avoiding the overhead of monitoring and buffering, thus eliminating unnecessary energy consumption

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If operations are performed non-transactionally within a transactional context, then resource usage is reduced, but transaction monitoring and commit/abort mechanisms must be managed explicitly

Engineering Contradiction:
Improveresource usageVSAvoidtransaction management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling operations to automatically determine their own transactional status and behavior. Non-transactional operations within a transactional context are identified through specific instructions or markers, allowing them to self-manage their execution mode without requiring complex external control mechanisms, thus reducing resource usage while keeping transaction management relatively simple

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8489864B2Performing escape actions in transactions
Publication Date: 2013.07.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8489864B2 patent drawing
  • US8489864B2 patent drawing
  • US8489864B2 patent drawing

AI summary

Performing non-transactional escape actions within a hardware based transactional memory system. A method includes at a hardware thread on a processor beginning a hardware based transaction for the thread. Without committing or aborting the transaction, the method further includes suspending the hardware based transaction and performing one or more operations for the thread, non-transactionally and not affected by: transaction monitoring and buffering for the transaction, an abort for the transaction, or a commit for the transaction. After performing one or more operations for the thread, non-transactionally, the method further includes resuming the transaction and performing additional operations transactionally. After performing the additional operations, the method further includes either committing or aborting the transaction.