Transactional Memory Word Concurrency Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transactional memory systems often select between optimistic and pessimistic concurrency control modes, leading to suboptimal transaction execution due to fixed workload assumptions, resulting in wasted work and increased conflict resolution times.

Innovation Solution

The implementation of a transactional memory word (TMW) with a version number, reader indicator/count, and exclusive writer indicator allows for dynamic analysis and combination of concurrency control modes, enabling simultaneous and nested operations on shared memory locations, including pessimistic and optimistic reads and writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If optimistic concurrency control is used, then forward progress is made with lower operational cost, but conflicts are detected later requiring rollback and re-execution

Engineering Contradiction:
Improveoperational costVSAvoidconflict resolution time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The system dynamically selects between optimistic and pessimistic concurrency control modes based on real-time analysis of transactional memory words and conflict patterns, rather than using a fixed mode. This allows the system to adapt to changing workload characteristics and minimize both operational cost and conflict resolution time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from transactional memory words (TMWs) that track read/write patterns and conflict history to make informed decisions about which concurrency control mode to apply. This feedback mechanism enables the system to learn from past conflicts and adjust its strategy accordingly.

Inventive Principle:
Principle #23Feedback

2Reliability

If pessimistic concurrency control is used, then conflicts are prevented with safe forward progress, but more work is done upfront with locking operations

Engineering Contradiction:
Improveconflict preventionVSAvoidlocking operations
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies different concurrency control strategies to different memory locations based on their specific access patterns and conflict characteristics. By analyzing individual transactional memory words, the system can apply pessimistic control only where necessary while using optimistic control elsewhere, reducing overall complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory space is segmented into multiple transactional memory words, each with its own metadata about access patterns. This segmentation allows the system to make fine-grained decisions about concurrency control at the level of individual memory locations rather than applying a coarse-grained lock to entire data structures.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If a fixed concurrency control mode is selected, then implementation is simpler, but transactions are not executed in the manner best suited for the target workload

Engineering Contradiction:
Improveimplementation complexityVSAvoidtransaction execution efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system transitions from static mode selection to dynamic mode selection, where the concurrency control approach is determined at runtime based on actual workload characteristics. This dynamic adaptation improves transaction execution efficiency without requiring complex manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system automatically analyzes its own transaction patterns and selects appropriate concurrency control modes without external intervention. The transactional memory words self-track access patterns, enabling the system to make autonomous decisions about optimization strategies.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7676638B2Combined pessimistic and optimistic concurrency control
Publication Date: 2010.03.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7676638B2 patent drawing
  • US7676638B2 patent drawing
  • US7676638B2 patent drawing

AI summary

Various technologies and techniques are disclosed that improve implementation of concurrency control modes in a transactional memory system. A transactional memory word is provided for each piece of data. The transactional memory word includes a version number, a reader indicator, and an exclusive writer indicator. The transactional memory word is analyzed to determine if the particular concurrency control mode is proper. Using the transactional memory word to help with concurrency control allows multiple combinations of operations to be performed against the same memory location simultaneously and/or from different transactions. For example, a pessimistic read operation and an optimistic read operation can be performed against the same memory location.