Home Node Snooping for Multi-Core Data Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, data prefetching is limited by instruction prediction accuracy, leading to indefinite prefetching times and delays, as it relies on analyzing consecutive instructions within a single cache node and requires synchronization among cache nodes, resulting in inefficiencies and increased processing delays.

Innovation Solution

A data prefetching method where a home node sends a snooping message to cache nodes to determine if data prefetching is necessary, allowing for more accurate prefetching decisions and reducing delays by enabling prefetching operations across multiple cache nodes independently, rather than relying solely on prediction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If instruction prediction is performed within a single cache node by analyzing consecutive instructions, then data prefetching can be initiated, but the prefetching time point becomes indefinite and accuracy is limited

Engineering Contradiction:
Improvedata prefetching delayVSAvoidprefetching time point accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The patent implements a feedback mechanism where cache nodes send status information to the home node, which then sends snooping messages back to determine actual data needs. This feedback loop allows the system to adjust prefetching decisions based on real cache state information, improving both timing accuracy and prediction precision across multiple cache nodes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The home node serves as an intermediary between cache nodes, receiving write requests from one cache node and coordinating with other cache nodes through snooping messages. This intermediary approach enables centralized coordination of prefetching operations across multiple cache nodes, resolving the indefinite timing issue by providing a central decision-making point.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple cache nodes are involved in data prefetching, then data availability can be improved, but processing delays increase due to synchronization requirements

Engineering Contradiction:
Improvedata availabilityVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by sending snooping messages to determine data prefetching needs before actual data transfer occurs. The home node proactively queries cache nodes about their data requirements using prefetching inquiry identifiers, allowing the system to prepare and transfer data in advance, thus improving availability without significant delay penalty.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If cache nodes wait for home node to process data reading requests, then data coherence is maintained, but extra delay is generated

Engineering Contradiction:
Improvedata coherenceVSAvoidblocking time period
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs preliminary action by sending snooping messages and determining prefetching needs before the actual data reading request is processed. The home node proactively identifies which cache nodes need data and prepares transfer information in advance, allowing cache nodes to receive data without waiting for the full request-processing cycle, thus reducing blocking time while maintaining coherence.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3835959B1Data pre-fetching method and device
Publication Date: 2024.10.30 HUAWEI TECH CO LTD
  • EP3835959B1 patent drawingFigure 1a
  • EP3835959B1 patent drawingFigure 1b~2b
  • EP3835959B1 patent drawingFigure 2c~3

AI summary

This application discloses a data prefetching method, including: receiving, by a home node, a write request sent by a cache node 1 after the cache node 1 processes received data; performing, by the home node, an action of determining whether the cache node 2 needs to perform a data prefetching operation on the to-be-written data; and when determining that the cache node 2 needs to perform a data prefetching operation on the to-be-written data, sending, by the home node, the to-be-written data to the cache node 2. Embodiments of this application help improve accuracy and certainty of a data prefetching time point, and reduce a data prefetching delay.