Transactional Memory Prefetch Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems with multiple processors, transactional memory operations often face performance degradation due to conflicts between prefetch requests and atomic transactions, leading to unnecessary aborts and increased workload on cache memory.

Innovation Solution

A method is implemented where prefetch requests and atomic transactions are analyzed for conflicts, with the option to abort the prefetch request or delay it based on priority and importance, allowing the transaction to proceed without aborting, thus managing cache workload efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If prefetch requests are executed to improve cache performance, then cache hit rate is improved, but transaction abort rate increases due to conflicts with atomic transactions

Engineering Contradiction:
Improvecache hit rateVSAvoidtransaction abort rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by analyzing potential conflicts between prefetch requests and atomic transactions before the prefetch executes. The system checks whether a prefetch request would conflict with an ongoing atomic transaction, and if so, delays or aborts the prefetch request in advance, preventing transaction aborts while still allowing non-conflicting prefetches to improve cache performance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If prefetch requests are delayed or aborted to reduce transaction aborts, then transaction reliability is improved, but cache performance deteriorates due to reduced prefetch effectiveness

Engineering Contradiction:
Improvetransaction commit rateVSAvoidcache performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by selectively applying conflict detection and delay/abort only to prefetch requests that would conflict with atomic transactions. Non-conflicting prefetch requests continue to execute normally, maintaining cache performance. This partial application of conflict management ensures transaction reliability without unnecessarily sacrificing cache performance.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If conflict detection and resolution mechanisms are implemented, then transaction reliability is improved, but system complexity increases

Engineering Contradiction:
Improvetransaction atomicityVSAvoidprefetch management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies feedback by implementing a conflict detection mechanism that monitors ongoing atomic transactions and uses this information to make real-time decisions about prefetch request handling. The system continuously checks for conflicts and adjusts prefetch execution accordingly, providing feedback-based control that ensures transaction atomicity without requiring complex centralized coordination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10929297B2Prefetch protocol for transactional memory
Publication Date: 2021.02.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10929297B2 patent drawing
  • US10929297B2 patent drawing
  • US10929297B2 patent drawing

AI summary

Providing control over processing of a prefetch request in response to conditions in a receiver of the prefetch request and to conditions in a source of the prefetch request. A processor generates a prefetch request and a tag that dictates processing the prefect request. A processor sends the prefetch request and the tag to a second processor. A processor generates a conflict indication based on whether a concurrent processing of the prefetch request and an atomic transaction by the second processor would generate a conflict with a memory access that is associated with the atomic transaction. Based on an analysis of the conflict indication and the tag, a processor processes (i) either the prefetch request or the atomic transaction, or (ii) both the prefetch request and the atomic transaction.