HTM-Assisted Combining Framework for Concurrent Data Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing synchronization techniques for concurrent data structures, such as transactional lock elision (TLE), are not effective for inherently sequential data structures like stacks or queues, which do not benefit from optimistic execution techniques.

Innovation Solution

The HTM-assisted Combining Framework (HCF) combines transactional lock elision (TLE) with flat combining (FC) to enable concurrent access to a wider range of data structures, including inherently sequential ones, by using hardware transactional memory (HTM) to allow multiple threads to access a shared data structure concurrently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If transactional lock elision (TLE) is used to enable concurrent access to data structures, then parallelism and throughput are improved for data structures with high potential parallelism, but inherently sequential data structures like stacks or queues do not benefit and may experience increased contention

Engineering Contradiction:
ImprovethroughputVSAvoidapplicability to different data structures
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal synchronization framework that adapts to different data structure types. The system automatically detects whether a data structure benefits from optimistic execution (TLE) or requires traditional synchronization (FC), making the solution applicable to both parallel-friendly structures like skip lists and inherently sequential structures like stacks and queues without requiring separate implementations for each type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent dynamically changes the synchronization parameter based on data structure characteristics. For data structures with high parallelism potential, the system uses TLE with optimistic execution; for inherently sequential data structures, it switches to FC with traditional locking. This parameter change allows the system to optimize performance for each specific data structure type while maintaining broad applicability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If traditional locking mechanisms are used to synchronize access to concurrent data structures, then correctness is maintained for inherently sequential data structures, but parallelism and performance are limited

Engineering Contradiction:
Improvesynchronization correctnessVSAvoidparallelism
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a dynamic synchronization system that transitions between different synchronization modes based on runtime conditions. The system starts with optimistic execution (TLE) attempts that allow high parallelism, and only falls back to traditional locking (FC) when conflicts are detected or for data structures that are inherently sequential. This dynamic approach maintains correctness while maximizing parallelism whenever possible.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an intermediary mechanism that sits between the thread and the data structure, managing the choice between TLE and FC approaches. This intermediary layer handles the complexity of determining which synchronization method to use, allowing the underlying data structure operations to remain simple while achieving both correctness and high parallelism through the mediating synchronization logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If hardware transactional memory (HTM) is used to allow concurrent access without locks, then lock contention is reduced and performance is improved, but HTM attempts may fail requiring fallback to traditional locking

Engineering Contradiction:
ImproveperformanceVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by attempting HTM-based optimistic execution before falling back to traditional locking mechanisms. The system tries to execute operations using TLE first, which has lower overhead and better performance when successful. Only when HTM attempts fail or are determined to be inappropriate does the system proceed to the more complex FC-based traditional locking approach, thereby optimizing performance while managing complexity through a staged approach.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250123879A1Hardware Transactional Memory-Assisted Flat Combining
Publication Date: 2025.04.17 ORACLE INT CORP
  • US20250123879A1 patent drawing
  • US20250123879A1 patent drawing
  • US20250123879A1 patent drawing

AI summary

An HTM-assisted Combining Framework (HCF) may enable multiple (combiner and non-combiner) threads to access a shared data structure concurrently using hardware transactional memory (HTM). As long as a combiner executes in a hardware transaction and ensures that the lock associated with the data structure is available, it may execute concurrently with other threads operating on the data structure. HCF may include attempting to apply operations to a concurrent data structure utilizing HTM and if the HTM attempt fails, utilizing flat combining within HTM transactions. Publication lists may be used to announce operations to be applied to a concurrent data structure. A combiner thread may select a subset of the operations in the publication list and attempt to apply the selected operations using HTM. If the thread fails in these HTM attempts, it may acquire a lock associated with the data structure and apply the selected operations without HTM.