Prefetch Insensitive Transactional Memory Priority Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In transactional memory systems, prefetch instructions can cause performance degradation and transaction aborts due to address conflicts with existing memory transactions, leading to inefficiencies in data access and processing.

Innovation Solution

A method where prefetch requests are evaluated based on priority and importance, allowing them to proceed or be delayed/queued if they conflict with ongoing transactions, without requiring a memory transaction abort, by using a prefetch protocol that manages these requests without causing transaction failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If prefetch instructions are executed to move data from main memory to cache memory in anticipation of access, then data access speed is improved, but transaction aborts occur due to address conflicts with ongoing memory transactions

Engineering Contradiction:
Improvedata access speedVSAvoidtransaction completion rate
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by executing prefetch instructions before the actual data access is needed. The system identifies data that will be needed soon and moves it from main memory to cache memory in advance, so that when the actual access occurs, the data is already available in the faster cache, improving access speed without causing transaction conflicts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses the cache memory as an intermediary between main memory and the processor. Prefetch instructions move data through this intermediate layer, allowing ongoing memory transactions to continue uninterrupted while still preparing data for future access. This intermediary approach resolves the conflict between prefetching and transaction integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If prefetch instructions are executed speculatively before it is known that the data will be accessed, then processing efficiency is improved, but unnecessary data movement increases cache workload

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidenergy wasted on unnecessary data movement
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent employs feedback mechanisms to monitor actual data access patterns and adjust prefetching behavior accordingly. The system observes which prefetched data is actually used and uses this information to refine future prefetch decisions, ensuring that prefetch instructions are issued only when there is a high probability the data will be needed, thereby avoiding unnecessary data movement and energy waste.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies partial action by issuing prefetch instructions selectively rather than universally. Instead of prefetching all potentially needed data, the system uses heuristics and access pattern analysis to issue prefetches only for the most likely candidates, performing just enough preliminary action to improve performance without over-prefetching and wasting resources.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If write prefetch instructions are executed to gain ownership of data, then processing delays are reduced, but cache coherency protocol overhead increases

Engineering Contradiction:
Improveprocessing delayVSAvoidcache coherency protocol complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by executing write prefetch instructions to gain ownership of cache lines before the actual write operations are needed. This allows the processor to prepare the cache state in advance, eliminating delays that would otherwise occur when trying to acquire ownership during critical write operations. The system proactively manages cache ownership to smooth out timing variations in the coherency protocol.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10915439B2Prefetch insensitive transactional memory
Publication Date: 2021.02.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10915439B2 patent drawing
  • US10915439B2 patent drawing
  • US10915439B2 patent drawing

AI summary

Processing prefetch memory operations and transactions. A local processor receives a write prefetch request from a remote processor. Prior to execution of a write prefetch request received from a remote processor, determining whether a priority of the write prefetch request is greater than a priority of a pending transaction of a local processor. The write prefetch request is executed in response to a determination that the priority of the write prefetch request is greater than the priority of a pending transaction. Prefetch data produced by execution of the write prefetch request is provided to the remote processor.