GPU Hardware Transactional Memory Snapshot Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing transactional memory (TM) systems, particularly in GPUs, face inefficiencies due to unnecessary aborts caused by pessimistic conflict resolution mechanisms like 2-Phase Locking (2PL), which abort transactions on both write-read and write-write conflicts, leading to performance bottlenecks and increased compute time.

Innovation Solution

Implementing Snapshot Isolation (SI) with a versioned memory subsystem and post-dating dependency loop detection to abort only write-write conflicts, allowing write-read conflicts to pass, thereby reducing unnecessary aborts and improving performance for complex data structures like linked lists and red-black trees.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If 2-Phase Locking (2PL) concurrency control mechanism is used to abort transactions on both write-read and write-write conflicts, then transaction isolation is maintained, but performance deteriorates due to excessive aborts and compute time increase

Engineering Contradiction:
Improvetransaction isolationVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the concurrency control parameters by implementing Snapshot Isolation instead of 2PL, modifying the conflict resolution behavior to only abort on write-write conflicts while allowing write-read conflicts to proceed. This parameter change reduces unnecessary aborts and improves transaction throughput and performance

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent inverts the traditional 2PL approach by not aborting on write-read conflicts (which 2PL typically aborts) while still aborting on write-write conflicts. This inversion allows write-read operations to proceed without unnecessary aborts, improving performance while maintaining isolation through the versioned memory subsystem

Inventive Principle:
Principle #13The other way round (Inversion)

2Productivity

If Snapshot Isolation is implemented with versioned memory to reduce aborts, then performance improves, but device complexity increases due to additional memory management overhead

Engineering Contradiction:
ImproveperformanceVSAvoidmemory subsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory system into multiple versions of memory rows, allowing concurrent transactions to access different versions. This segmentation enables Snapshot Isolation by providing each transaction with a consistent view of memory while allowing other transactions to proceed, reducing aborts without requiring complex global locking mechanisms

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copying to create multiple versions of memory rows, where each version represents a snapshot of memory at a particular point in time. This copying mechanism enables transactions to read from consistent snapshots while writers create new versions, implementing Snapshot Isolation with reduced complexity compared to full memory replication

Inventive Principle:
Principle #26Copying

3Reliability

If dependent loop detection is performed to eliminate Write Skew Anomalies, then correctness is maintained, but compute time increases due to additional detection overhead

Engineering Contradiction:
ImprovecorrectnessVSAvoidcompute time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces complex mechanical dependency tracking mechanisms with a simpler post-dating timestamp-based detection system. By assigning timestamps to memory operations and comparing them to detect cycles, the system maintains correctness for Write Skew Anomaly detection while reducing the computational overhead compared to traditional dependency graph approaches

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

Data Source

PatentUS10671427B2Snapshot isolation in graphical processing unit hardware transactional memory
Publication Date: 2020.06.02 BOARD OF SUPERVISORS OF LOUISIANA STATE UNIV & AGRI & MECHANICAL COLLEGE
  • US10671427B2 patent drawing
  • US10671427B2 patent drawing
  • US10671427B2 patent drawing

AI summary

Snapshot Isolation (SI) is an established model in the database community, which permits write-read conflicts to pass and aborts transactions only on write-write conflicts. With the Write Skew Anomaly (WSA) correctly eliminated, SI can reduce the occurrence of aborts, save the work done by transactions, and greatly benefit long transactions involving complex data structures. Embodiments include a multi-versioned memory subsystem for hardware-based transactional memory (HTM) on the GPU, with a method for eliminating the WSA on the fly, and incorporates SI. The GPU HTM can provide reduced compute time for some compute tasks.