UTM Transaction Suspension via OS Ring Transitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Unbounded transactional memory (UTM) systems face challenges in handling user-level asynchronous events, such as hardware exceptions, which can lead to incorrect operations and performance slowdowns due to automatic transaction aborts and restarts, especially when frequent exception handling occurs.

Innovation Solution

A combination of hardware support in processors, UTM runtime system code, and operating system code enables improved handling of exceptions and interrupts during UTM transactions, allowing transactions to be suspended and resumed without automatic abort, using mechanisms like read-write transaction control registers and software-defined events to manage asynchronous and synchronous events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If hardware exceptions are handled by OS user runtime code during UTM execution, then exception handling capability is improved, but transaction correctness deteriorates due to asynchronous intervention

Engineering Contradiction:
Improveexception handling capabilityVSAvoidtransaction correctness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism (transaction suspension and resumption interface) between the OS exception handling code and the UTM transaction execution. When an exception occurs, the transaction is temporarily suspended and can be resumed after exception handling, allowing both OS exception handling and UTM transaction correctness to coexist without direct conflict

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If UTM transactions are aborted upon hardware exception, then transaction integrity is improved, but performance deteriorates due to frequent aborts and restarts

Engineering Contradiction:
Improvetransaction integrityVSAvoidtransaction execution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a dynamic transaction handling approach where the transaction state can transition between executing, suspended, and resumed states. Instead of statically aborting transactions on exception, the system dynamically suspends them during exception handling and resumes them afterward, maintaining integrity while avoiding unnecessary aborts and performance degradation

Inventive Principle:
Principle #15Dynamics

3Speed

If UTM hardware acceleration is used, then execution speed is improved, but compatibility deteriorates due to requirements for specially compiled code

Engineering Contradiction:
Improvetransaction execution speedVSAvoidcode compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent segments the code execution into two distinct parts: UTM-compiled code that runs with hardware acceleration for performance-critical transactional sections, and default OS runtime code that handles exceptions and non-transactional operations. This segmentation allows the system to maintain both high performance through hardware acceleration and broad compatibility through standard OS runtime support

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9477515B2Handling operating system (OS) transitions in an unbounded transactional memory (UTM) mode
Publication Date: 2016.10.25 INTEL CORP
  • US9477515B2 patent drawing
  • US9477515B2 patent drawing
  • US9477515B2 patent drawing

AI summary

In one embodiment, the present invention includes a method for receiving control in a kernel mode via a ring transition from a user thread during execution of an unbounded transactional memory (UTM) transaction, updating a state of a transaction status register (TSR) associated with the user thread and storing the TSR with a context of the user thread, and later restoring the context during a transition from the kernel mode to the user thread. In this way, the UTM transaction may continue on resumption of the user thread. Other embodiments are described and claimed.