Hybrid Transactional Memory Assist Thread Conflict Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Hybrid Transactional Memory Systems face limitations due to hardware constraints, requiring software fallbacks that are inefficient and force 'stop the world' operations, especially in systems with multiple threads, and restrict the use of existing libraries and lock-based solutions.

Innovation Solution

A Hybrid Transactional Memory System utilizing an 'assist thread' and a Transaction Conflict Detection Table (TCDT) to manage locks and handle transactions when HTM hardware is overwhelmed, allowing seamless transition to assisted transaction mode without manual intervention and enabling use of existing libraries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a full Software Transactional Memory (STM) system is used to handle all transactions, then transactional memory functionality is complete and can handle any transaction type, but system performance deteriorates due to very long pathlengths and high software overhead

Engineering Contradiction:
Improvetransactional memory functionalityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the transactional memory handling into two distinct paths: a Hardware Transactional Memory (HTM) path for short transactions and a Software Transactional Memory (STM) path for long transactions. This segmentation allows the system to use the fast hardware path when possible and fall back to the software path only when necessary, thereby maintaining high performance while preserving complete transactional functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic transactional memory system that can switch between HTM and STM modes based on transaction characteristics. The system dynamically determines which path to take by analyzing transaction properties, allowing optimal performance for each specific transaction type while maintaining overall system versatility.

Inventive Principle:
Principle #15Dynamics

2Productivity

If Hardware Transactional Memory (HTM) is used for short transactions, then execution speed is fast and hardware resources are efficient, but hardware complexity increases and the number of trackable storage locations is limited

Engineering Contradiction:
Improveexecution speedVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies partial action by implementing HTM with limited capabilities (tracking only a subset of storage locations) and accepting that limitation. Rather than attempting to implement full HTM with unlimited tracking capacity, the system uses HTM for its intended purpose (short transactions with few storage references) and relies on STM for cases exceeding HTM capacity, achieving sufficient performance without excessive hardware complexity.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If Hybrid Transactional Memory systems use limited hardware resources, then cost is reduced and hardware complexity is lowered, but transaction failures occur more frequently due to repeated conflicts

Engineering Contradiction:
Improvehardware resourcesVSAvoidtransaction success rate
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces STM as an intermediary system that handles transactions failing in HTM. When HTM encounters conflicts or exceeds its tracking capacity, the system transitions to STM which acts as a mediator to resolve these failures. This intermediary approach maintains reliability by ensuring all transactions can be handled, while keeping hardware resources limited by using STM only when necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If existing STM implementations are used as fallback for HTM failures, then transactional memory completeness is maintained, but performance becomes problematic due to long pathlengths

Engineering Contradiction:
Improvetransactional memory completenessVSAvoidexecution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms that monitor transaction characteristics and HTM execution status. Based on this feedback, the system dynamically determines when to use HTM and when to fall back to STM. This feedback-driven approach minimizes the use of the slower STM path while ensuring complete transactional functionality, thereby reducing overall execution time compared to always using STM.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8819352B2Hybrid Transactional Memory (HybridTM)
Publication Date: 2014.08.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8819352B2 patent drawing
  • US8819352B2 patent drawing
  • US8819352B2 patent drawing

AI summary

Embodiments related to a hardware transactional memory (HTM). An aspect includes setting a mode register of a processor core of a computer to indicate a HTM mode. Another aspect includes executing a plurality of transactions by the processor core in the HTM mode based on the mode register. Another aspect includes determining whether a first transaction of the plurality of transactions exceeds a failure limit of the processor core in the HTM mode. Yet another aspect includes, based on determining that the first transaction exceeds the failure limit of the processor core in the HTM mode, transitioning the processor to an assisted transaction mode by setting the mode register of the processor core to indicate the assisted transaction mode.