Variable-Size Remote Prefetch Mechanism for In-Memory Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In in-memory computing systems, the latency associated with data transfers between processors and remote memory devices can bottleneck system performance due to the need for data to traverse network fabric, leading to inefficiencies in reading large amounts of data from remote memory devices when prefetch operations are limited to fixed sizes.

Innovation Solution

Implementing a remote prefetch mechanism that allows for variable-sized data prefetched from remote memory devices, which can be stored in a dedicated cache closer to the processor, reducing latency and improving communication efficiency by enabling single read operations for prefetched data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If fixed-size prefetch operations are used for remote memory devices, then device complexity is reduced, but latency increases and system performance deteriorates due to multiple requests being needed for large data transfers

Engineering Contradiction:
ImprovelatencyVSAvoidsystem performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The prefetch mechanism transitions from fixed-size to variable-size operations, allowing the prefetch buffer to dynamically adjust its size based on the specific data transfer requirements. This enables optimization of latency for different data sizes while maintaining system performance through adaptive prefetching strategies.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of prefetch size from fixed to variable, allowing the system to optimize prefetch operations based on actual data transfer needs. This parameter change enables reducing latency for large data transfers by prefetching appropriate amounts of data in advance without requiring multiple separate requests.

Inventive Principle:
Principle #35Parameter changes

2Speed

If variable-sized prefetch operations are implemented, then latency is reduced and data retrieval speed improves, but device complexity increases due to additional cache management requirements

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

A dedicated prefetch buffer is introduced as an intermediary storage component between the processor and remote memory devices. This buffer handles variable-sized prefetch operations and manages the complexity of coordinating with remote memory, thereby improving data retrieval speed without significantly increasing the complexity of the main memory management system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory system is segmented into distinct components: a dedicated prefetch buffer for variable-sized operations and the main memory system for standard operations. This segmentation isolates the complexity of variable-sized prefetch management to a specific component, allowing fast data retrieval through the buffer while keeping the overall system architecture manageable.

Inventive Principle:
Principle #1Segmentation

3Productivity

If data is prefetched from remote memory devices, then the need for multiple read requests is reduced, but cache pollution increases due to additional data occupying cache space

Engineering Contradiction:
Improvenumber of read requestsVSAvoidcache space occupation
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Data intended for prefetching is extracted and stored in a dedicated prefetch buffer separate from the main cache system. This extraction prevents prefetched data from polluting the main cache, allowing the system to reduce the number of read requests while maintaining cache space availability for other important data in the main cache hierarchy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The prefetch buffer creates a copy of remote data that can be served locally without affecting the main cache. This copying mechanism allows multiple read requests to be satisfied from the prefetch buffer copy, reducing the need to access remote memory while the original cache remains available for other data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10389839B2Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node
Publication Date: 2019.08.20 INTEL CORP
  • US10389839B2 patent drawing
  • US10389839B2 patent drawing
  • US10389839B2 patent drawing

AI summary

An apparatus comprises a processor to generate, in anticipation of receipt of a read request for data of a data set, a prefetch request to retrieve the data set from a memory device, the prefetch request to comprise at least one parameter indicating a size of the data set. The processor is further to cause transmission of the prefetch request to the memory device and in response to a read request for at least a portion of the data set, request the at least a portion of the data set from a cache storing a copy of the data set, wherein the cache is to store the copy of the data set after the copy is received from the memory device in response to the prefetch request.