Cache Management System for Shared Memory Access Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems with shared memory caches face performance penalties due to slower remote memory access times, overuse of signal lines, conflict misses, and limited cache visibility, especially in multi-node and multi-core systems, where traditional methods like cache sampling and static coloring are costly and ineffective.

Innovation Solution

A method that involves probing memory addresses, using hardware performance counters to gather cache utilization information, and dynamically relocating data to reduce cache contention by remapping pages and recoloring cache entries based on this information, optimizing memory access and cache utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If remote memory access is used to enable data sharing between nodes, then memory sharing capability is improved, but access time increases

Engineering Contradiction:
Improvememory sharing capabilityVSAvoidaccess time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements non-uniform memory access by distinguishing between local and remote memory regions. Each node has local memory that provides fast access, while remote memory is accessed through controlled pathways. The system optimizes frequently accessed remote data by bringing it into local cache or buffer memory, creating different access qualities for different memory locations based on their distance and usage patterns.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary actions by pre-fetching and caching remote memory data that is likely to be accessed soon. The cache management unit proactively loads remote data into local cache based on access patterns, so that when the data is needed, it is already available locally, eliminating the time penalty of remote access.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If heavy remote memory access is performed to enable data sharing, then memory accessibility is improved, but signal line bandwidth is exceeded

Engineering Contradiction:
Improvememory accessibilityVSAvoidsignal line bandwidth
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent creates different access pathways with different characteristics for different memory regions. Local memory accesses use high-bandwidth, low-latency pathways, while remote memory accesses use controlled pathways that go through cache management units. This differentiation allows the system to maximize bandwidth utilization for local accesses while regulating remote accesses to prevent signal line overload.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The cache management unit acts as an intermediary between processors and remote memory. It buffers and regulates memory access requests, combining multiple small accesses into fewer larger transfers when possible, and managing the flow of data through the interconnect to prevent bandwidth saturation while maintaining memory accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If cache size is increased to reduce cache misses, then cache hit rate is improved, but hardware cost increases

Engineering Contradiction:
Improvecache hit rateVSAvoidhardware cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the cache into multiple ways (set-associative cache) rather than using a single large associative cache. This segmentation allows the system to achieve high hit rates by distributing data across multiple smaller cache lines, reducing the complexity of tag comparison while maintaining effective caching. The multi-way set associative structure balances between direct-mapped simplicity and fully-associative performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of increasing cache size in a single dimension, the patent uses multi-dimensional cache indexing with multiple ways and sets. This transforms the cache organization into a multi-dimensional structure that achieves high capacity and high hit rates without proportionally increasing the complexity of tag management and hardware requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Productivity

If cache is shared by multiple programs to improve resource utilization, then resource efficiency is improved, but cache contention increases

Engineering Contradiction:
Improveresource efficiencyVSAvoidcache contention
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent implements dynamic cache management where cache allocation and policies are adjusted based on runtime conditions. The cache management unit monitors access patterns and dynamically modifies caching behavior, such as changing replacement policies or allocating cache space differently, to reduce contention while maintaining high resource utilization. This dynamic adaptation allows the system to handle multiple programs efficiently without the static conflicts of traditional shared caches.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7831773B2Utilizing cache information to manage memory access and cache utilization
Publication Date: 2010.11.09 VMWARE INC
  • US7831773B2 patent drawing
  • US7831773B2 patent drawing
  • US7831773B2 patent drawing

AI summary

A method and system of managing data access in a shared memory cache of a processor are disclosed. The method includes probing one or more memory addresses that map to a subset of the shared memory cache and sensing a plurality of events in the one or more memory addresses. Cache utilization information is then obtained by reading a hardware performance counter of the processor. The hardware performance counter is incremented based on the occurrence of the plurality of events. Based upon the cache utilization information, an occurrence of one of the plurality of events is reduced.