Hardware Transactional Memory Abort Management via Split Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory databases face challenges in managing abort events of Hardware Transactional Memory (HTM) transactions due to cache line size limitations and contention between concurrent transactions, leading to performance bottlenecks and increased abort events.

Innovation Solution

The Split Transaction Execution (STE) method splits database transactions into HTM transactions that fit within a single cache line, using optimistic concurrency control for read transactions and pessimistic control for write transactions, and employs a unique identification signaling system to detect and prevent contention, maintaining local version copies to reduce global resource access bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database transactions are executed as single HTM transactions, then atomicity is maintained, but cache line size limitations cause frequent abort events

Engineering Contradiction:
Improvetransaction atomicityVSAvoidtransaction commit rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments a database transaction into multiple HTM transactions, where each HTM transaction operates on a single cache line. This segmentation allows parallel execution of multiple HTM transactions within a single logical database transaction, improving throughput while maintaining atomicity through the use of a transactional memory system that tracks all segmented operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple concurrent HTM transactions access the same database rows, then throughput is improved, but contention between transactions increases abort events

Engineering Contradiction:
Improveconcurrent transaction throughputVSAvoidtransaction success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary conflict detection by checking metadata records before executing HTM transactions. The system checks if a database row is currently accessed by another transaction, and if so, adjusts the transaction schedule to avoid conflicts. This preliminary action prevents abort events by ensuring that concurrent HTM transactions do not interfere with each other, thereby maintaining high throughput and success rate.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If global version values are maintained in a central location, then consistency is ensured, but access bottlenecks reduce performance

Engineering Contradiction:
Improvedata consistencyVSAvoidversion access speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements local version copies in the metadata record for each database row, allowing HTM transactions to check version information locally without accessing a central global version store. This local quality approach maintains data consistency by comparing local versions with the transaction's expected version, while eliminating the performance bottleneck of centralized version management.

Inventive Principle:
Principle #3Local quality

4Productivity

If HTM transaction size exceeds cache line capacity, then more data can be processed per transaction, but hardware abort events increase

Engineering Contradiction:
Improvedata processing capacityVSAvoidHTM transaction completion
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the data accessed by a database transaction into multiple cache line-sized HTM transactions. Each HTM transaction operates on exactly one cache line, ensuring hardware compatibility and preventing abort events. The segmentation is managed by the transactional memory system, which coordinates multiple small HTM transactions to achieve the equivalent effect of a single large transaction, thereby maintaining both productivity and reliability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11474995B2Updating metadata in hardware transactional memory user aborts
Publication Date: 2022.10.18 HUAWEI TECH CO LTD
  • US11474995B2 patent drawing
  • US11474995B2 patent drawing
  • US11474995B2 patent drawing

AI summary

A system for managing abort events of Hardware Transactional Memory (HTM) transactions to an in-memory database, comprising a processor adapted to control a plurality of abort events of a plurality of database transactions held concurrently to a shared in-memory database and a method for managing abort events comprising analyzing a metadata record associated with each potential abort event, where the metadata record comprises a row ID value and a row version value of a certain one of a plurality of rows of a database that is concurrently accessed by an aborting HTM transaction and another HTM transaction, comparing the row ID value and the row version value to a local ID value and a local version value of the aborting HTM transaction and determining a contention condition between the aborting HTM transaction and the other HTM transaction.