Transaction Communicator Objects for Concurrent Transaction Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transactional memory systems face limitations in allowing communication between concurrent transactions due to their isolation properties, which restrict the use of common synchronization mechanisms and programming idioms like CSP-style synchronous communication and barrier synchronization.

Innovation Solution

The introduction of transaction communicator objects that allow concurrent transactions to communicate by observing and manipulating their state, while maintaining dependency tracking to ensure that all dependent transactions commit or abort together, thereby relaxing isolation properties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If transaction isolation properties are maintained, then data consistency is ensured, but communication between concurrent transactions is disallowed

Engineering Contradiction:
Improvedata consistencyVSAvoidcommunication capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments transactions into two categories: isolated transactions that maintain data consistency and communicative transactions that can interact through transaction communicators. This segmentation allows the system to simultaneously preserve isolation properties for data consistency while enabling communication capabilities where needed, resolving the contradiction between reliability and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces transaction communicators as intermediary objects that facilitate communication between transactions. These communicators act as mediators that allow transactions to observe and manipulate each other's state without violating the fundamental isolation properties, thus enabling communication capability while maintaining data consistency through the intermediary layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If isolation properties are relaxed to allow communication, then synchronization mechanisms become applicable, but transaction isolation is compromised

Engineering Contradiction:
Improvesynchronization capabilityVSAvoidtransaction isolation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by allowing isolation relaxation only in specific local contexts where transaction communicators are used, rather than globally relaxing isolation for all transactions. This enables synchronization mechanisms like barriers and condition variables to be applied locally where needed, while the rest of the system maintains strong isolation properties to preserve reliability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent makes the isolation property dynamic by allowing transactions to transition between isolated and communicative modes based on their interaction with transaction communicators. The system dynamically adjusts the level of isolation relaxation depending on whether a transaction is interacting with communicators, enabling synchronization capability when needed while preserving isolation otherwise.

Inventive Principle:
Principle #15Dynamics

3Productivity

If dependency tracking is implemented to reduce aborts, then transaction coordination improves, but cyclic dependencies cause all transactions to abort

Engineering Contradiction:
Improvetransaction commit rateVSAvoidtransaction completion
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by having transactions register their dependencies on transaction communicators in advance, before the actual conflict or cyclic dependency situation arises. This allows the system to proactively identify and handle potential cyclic dependencies, enabling better transaction coordination and higher commit rates by preventing cyclic dependency aborts before they occur.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8473952B2System and method for communication between concurrent transactions using transaction communicator objects
Publication Date: 2013.06.25 ORACLE INT CORP
  • US8473952B2 patent drawing
  • US8473952B2 patent drawing
  • US8473952B2 patent drawing

AI summary

Transactional memory implementations may be extended to include special transaction communicator objects through which concurrent transactions can communicate. Changes by a first transaction to a communicator may be visible to concurrent transactions before the first transaction commits. Although isolation of transactions may be compromised by such communication, the effects of this compromise may be limited by tracking dependencies among transactions, and preventing any transaction from committing unless every transaction whose changes it has observed also commits. For example, mutually dependent or cyclically dependent transactions may commit or abort together. Transactions that do not communicate with each other may remain isolated. The system may provide a communicator-isolating transaction that ensures isolation even for accesses to communicators, which may be implemented using nesting transactions. True (e.g., read-after-write) dependencies, ordering (e.g., write-after-write) dependencies, and/or anti-dependencies (e.g., write-after-read dependencies) may be tracked, and a resulting dependency graph may be perused by the commit protocol.