Transactional Memory Ownership Transfer for Concurrent Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems executing multiple sequences of instructions concurrently, there is a challenge in preventing one sequence of instructions from observing the partial results of another sequence's operations, particularly in shared memory environments where transactions may interfere with each other.

Innovation Solution

The method involves identifying transactions using transaction IDs and versions, copying intermediate values from one transaction to another, and changing ownership of memory groups to ensure atomic execution and prevent interference, using transactional metadata and memory ownership data structures to manage memory access and ownership.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple sequences of instructions are executed concurrently in shared memory, then productivity is improved, but one sequence may observe partial results of another sequence's operations compromising reliability

Engineering Contradiction:
Improveconcurrent execution capabilityVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments memory into memory groups with associated ownership records, allowing different transactions to own different memory groups simultaneously. This segmentation enables concurrent execution while maintaining isolation, as each transaction operates on memory groups it owns, preventing observation of partial results from other transactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces memory ownership records as intermediaries between transactions and memory locations. These records track which transaction owns which memory group, acting as a mediator that coordinates access and prevents conflicts. The ownership record system enables concurrent execution by mediating access rights without requiring centralized locking.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If transactional memory is implemented to prevent observation of partial results, then data integrity is improved, but device complexity increases due to hardware and software implementation requirements

Engineering Contradiction:
Improveatomicity guaranteeVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by establishing memory ownership before transactions execute their operations. Each transaction acquires ownership of the memory groups it will access, and this ownership is recorded in advance. This preliminary ownership establishment enables atomic commit/abort behavior without requiring complex hardware support, as the ownership records pre-coordinate access rights.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent copies memory ownership information from hardware structures to software data structures (MODS and MOR). By maintaining software copies of ownership state, the system reduces reliance on complex hardware transactional memory mechanisms while preserving atomicity guarantees through software-managed ownership transfer and validation.

Inventive Principle:
Principle #26Copying

3Reliability

If memory ownership is strictly enforced to prevent interference, then reliability is improved, but ease of operation deteriorates due to ownership management overhead

Engineering Contradiction:
Improvetransaction isolationVSAvoidmemory access simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent merges memory ownership management with the transaction execution flow itself. Ownership acquisition, validation, and transfer are integrated into the transaction commit/abort mechanism rather than being separate operations. This merging allows transactions to access memory they own without additional overhead, while the same ownership system automatically prevents interference with other transactions' memory.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7689788B2System and method for executing transactions
Publication Date: 2010.03.30 ORACLE AMERICAN INC
  • US7689788B2 patent drawing
  • US7689788B2 patent drawing
  • US7689788B2 patent drawing

AI summary

A method for executing transactions including obtaining a memory location required by a first transaction, where the first transaction is identified using a first transaction identification and a first transaction version; determining a second transaction with ownership of a memory group including the memory location, where the second transaction is identified using a second transaction identification and a second transaction version; copying an intermediate value associated with the memory group from the second transaction into transactional metadata associated with the first transaction; changing ownership of the memory group to the first transaction; and committing the first transaction.