Software Transactional Memory Revocable Read Ownership

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional concurrency control methods, such as mutual exclusion and locks, face challenges like deadlocks, priority inversions, and performance limitations in managing concurrent access to shared memory, while transactional memory offers a more efficient approach but requires improved mechanisms for read and write ownership management.

Innovation Solution

A scalable software transactional memory system that implements revocable read and write ownership management, using an ownership record and read ownership array to track memory locations, allowing transactions to acquire ownership without blocking and reducing overhead through efficient read-validation operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional locking mechanisms are used to ensure correctness in concurrent access, then consistency is maintained, but performance is limited and deadlock risk increases

Engineering Contradiction:
ImproveconsistencyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces traditional mechanical locking mechanisms with a transactional memory system that uses software-based atomic operations and validation mechanisms. Instead of using locks to prevent concurrent access, the system allows concurrent execution and validates transactions at commit time, substituting the mechanical locking approach with a software-based consistency model that eliminates deadlocks and reduces blocking.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If multiple threads execute critical sections concurrently without blocking, then performance increases, but correctness cannot be guaranteed

Engineering Contradiction:
ImproveperformanceVSAvoidcorrectness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary validation actions during transaction execution, tracking read sets and maintaining validation information as threads concurrently access memory. This preliminary preparation of validation data allows the system to guarantee correctness through post-execution validation without requiring blocking during the critical section, thus maintaining both high performance and reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback mechanisms where transaction validation information is continuously updated and checked. The validation logic provides feedback about potential conflicts and aborts transactions that would violate consistency, ensuring correctness while allowing concurrent execution. This feedback-driven approach maintains reliability without requiring traditional blocking mechanisms.

Inventive Principle:
Principle #23Feedback

3Reliability

If read ownership is strictly managed to prevent conflicts, then consistency is maintained, but overhead increases

Engineering Contradiction:
ImproveconsistencyVSAvoidoverhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements partial validation by tracking only the necessary read set information required for consistency validation, rather than managing complete read ownership for all accesses. The system performs validation only when necessary (at commit time or when conflicts are detected), avoiding excessive overhead while maintaining consistency. This selective approach reduces the burden of read ownership management compared to strict continuous validation.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If write ownership is made irrevocable during commit to ensure safety, then correctness is improved, but blocking occurs

Engineering Contradiction:
ImprovecorrectnessVSAvoidblocking
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic write ownership management where ownership status changes based on transaction state. Write ownership is revocable during transaction execution but becomes irrevocable only at the critical commit moment when correctness must be ensured. This dynamic approach minimizes blocking time by allowing flexible ownership changes during most of the transaction lifecycle while providing safety only when absolutely necessary, thus reducing overall blocking without compromising correctness.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8239635B2System and method for performing visible and semi-visible read operations in a software transactional memory
Publication Date: 2012.08.07 ORACLE AMERICAN INC
  • US8239635B2 patent drawing
  • US8239635B2 patent drawing
  • US8239635B2 patent drawing

AI summary

The software transactional memory system described herein may implement a revocable mechanism for managing read ownership in a shared memory. In this system, write ownership may be revoked by readers or writers at any time other than when a writer transaction is in a commit state, wherein its write ownership is irrevocable. An ownership record associated with one or more locations in the shared memory may include an indication of whether the memory locations are owned for writing, and an identifier of the latest writer. A read ownership array may record data indicating which, if any, threads currently own the memory locations for reading. The system may provide an efficient read-validation operation, in which a full read-set validation is avoided unless a change in a global read-write conflict counter value indicates a potential conflict. The system may support a wide range of contention management policies, and may provide implicit privatization.