Transactional Memory Cache Line Release Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor computing environments, the increasing number of CPU cores leads to scalability issues due to hot spots in shared queues or data structures protected by traditional semaphores, which are complicated and error-prone to manage, and hardware Transactional Memory (HTM) is needed to improve performance and ease of use.

Innovation Solution

A computer-implemented method in a transactional memory environment identifies and allocates cache lines, stores a cache line record, and releases them upon request, using indications to demote and release cache lines, facilitating dynamic cache line management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional semaphores are used to protect shared queues or data structures, then concurrency control is achieved, but scalability deteriorates due to hot spots and sub-linear n-way scaling curves

Engineering Contradiction:
Improveconcurrency controlVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the coarse-grained semaphore lock into fine-grained lock-free atomic operations at the cache line level. Each cache line is independently managed with its own ownership state, allowing multiple CPUs to simultaneously access different cache lines without contention, thus eliminating hot spots and achieving linear scalability while maintaining concurrency control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the mechanical semaphore-based locking system with hardware-supported transactional memory mechanisms. The processor's transactional execution facility and cache coherence protocol substitute for software semaphores, providing lock-free atomic operations that eliminate the scalability limitations of traditional synchronization while ensuring concurrency control through hardware-enforced transaction atomicity.

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

2Productivity

If fine-grained locking is implemented to improve software scalability, then scalability improves, but device complexity and error-proneness increase

Engineering Contradiction:
ImprovescalabilityVSAvoidsoftware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the hardware automatically manages cache line ownership and transaction coherence. The processor's transactional execution facility and cache coherence protocol handle synchronization automatically without requiring software to implement complex fine-grained locking logic, reducing software complexity while maintaining scalability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces hardware transactional memory as an intermediary layer between software transactions and the memory system. This intermediary handles the complexity of fine-grained synchronization, cache coherence, and conflict detection automatically, allowing software to use simple transaction constructs while the hardware manages the underlying complexity of scalable concurrency control.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If cache lines are held in exclusive state during transactions, then transaction isolation is ensured, but cache line availability deteriorates leading to increased transactional aborts

Engineering Contradiction:
Improvetransaction isolationVSAvoidtransaction success rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic cache line state management where ownership transitions from exclusive to shared based on transaction progress and conflict detection. The system dynamically adjusts cache line accessibility: maintaining exclusive state only when necessary for isolation, and transitioning to shared state when safe to do so, thereby reducing unnecessary transactional aborts while preserving transaction isolation guarantees.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the cache line state parameter from static exclusive ownership to dynamic ownership states (exclusive, shared, invalid) that transition based on transaction needs. This parameter change allows the system to optimize between isolation and availability: holding lines exclusive only when transactions require isolation, and allowing shared access when isolation is not needed, thus reducing transactional aborts while maintaining correctness.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9971629B2Dynamic releasing of cache lines
Publication Date: 2018.05.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9971629B2 patent drawing
  • US9971629B2 patent drawing
  • US9971629B2 patent drawing

AI summary

A computer-implemented method includes, in a transactional memory environment, identifying a transaction and identifying one or more cache lines. The cache lines are allocated to the transaction. A cache line record is stored. The cache line record includes a reference to the one or more cache lines. An indication is received. The indication denotes a request to demote the one or more cache lines. The cache line record is retrieved, and the one or more cache lines are released. A corresponding computer program product and computer system are also disclosed.