Cache Line Age Management for Distributed Shared Memory Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed shared memory systems face performance issues due to varying communication latencies across different memory resources, leading to inefficient data retrieval and cache management, as data from remote memory resources often results in increased latency and lost process cycles.

Innovation Solution

Implement a method where each processor in the compute node manages cache memory by assigning a distance value to each cache line based on the memory resource's location and latency, using this information to evict data from more remote resources more frequently, while ensuring stale data from remote sources is eventually considered for eviction, thereby reducing temporal costs and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is retrieved from remote memory resources, then memory resource availability increases, but communication latency increases

Engineering Contradiction:
Improvememory resource availabilityVSAvoidcommunication latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the memory hierarchy into local cache memory and remote memory resources, managing them with different eviction policies. Local memory uses traditional LRU eviction while remote memory uses distance-based eviction, allowing the system to optimize for both availability and latency differently across memory segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality characteristics to different memory locations by assigning distance values to cache lines based on their source memory resource. This allows the system to treat local and remote data differently in terms of eviction priority, optimizing each location's characteristics for its specific access patterns.

Inventive Principle:
Principle #3Local quality

2Speed

If cache memory eviction prioritizes local memory data, then access speed improves, but data freshness from remote resources deteriorates

Engineering Contradiction:
Improveaccess speedVSAvoiddata freshness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a dynamic age value mechanism that evolves over time. The age value starts high for remote data and decreases as time passes, allowing the system to adaptively balance between immediate access speed and eventual data freshness. This dynamic adjustment resolves the static contradiction between prioritizing local data and maintaining remote data freshness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter used for eviction decisions from static LRU counts to dynamic age values that incorporate distance information and time elapsed. This parameter transformation allows the system to simultaneously consider both access speed (through distance-based prioritization) and data freshness (through time-based age decay).

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If traditional LRU eviction is used, then implementation simplicity is maintained, but performance optimization for distributed memory deteriorates

Engineering Contradiction:
Improveeviction policy implementationVSAvoidmemory access performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the cache memory into different regions or tags cache lines with distance information, allowing traditional LRU to be applied to local memory while a simplified distance-based mechanism handles remote memory. This segmentation maintains implementation simplicity for the majority of cases while adding optimization where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces distance values as an intermediary parameter that bridges traditional LRU eviction and optimized distributed memory performance. By incorporating distance information into the existing eviction framework rather than replacing it entirely, the system maintains simplicity while achieving performance improvements through this intermediate layer of information.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9983996B2Technologies for managing cache memory in a distributed shared memory compute system
Publication Date: 2018.05.29 INTEL CORP
  • US9983996B2 patent drawing
  • US9983996B2 patent drawing
  • US9983996B2 patent drawing

AI summary

Technologies for managing cache memory of a processor in a distributed shared memory system includes managing a distance value and an age value associated with each cache line of the cache memory. The distance value is indicative of a distance of a memory resource, relative to the processor, from which data stored in the corresponding chance line originates. The age value is based on the distance value and the number of times for which the corresponding cache line has been considered for eviction since a previous eviction of the corresponding cache line. Initially, the age value is set to the distance value. Additionally, every time a cache line is accessed, the age value associated with the accessed cache line is reset to the corresponding distance value. During a cache eviction operation, the cache line for eviction is selected based on the age value associated with each cache line. The age values of cache lines not selected for eviction are subsequently decremented such that even cache lines associated with remote memory resources will eventually be considered for eviction if not recently accessed.