Hardware Transactional Memory Abort Management via Split Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If multiple concurrent HTM transactions access the same database rows, then throughput is improved, but contention between transactions increases abort events
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.
3Reliability
If global version values are maintained in a central location, then consistency is ensured, but access bottlenecks reduce performance
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.
4Productivity
If HTM transaction size exceeds cache line capacity, then more data can be processed per transaction, but hardware abort events increase
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.
Data Source
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.


