NUMA Cache Coherence Latency Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In non-uniform memory access (NUMA) systems, memory access times vary significantly due to the distance between processors and memory nodes, leading to instances where accessing main memory is faster than accessing cached data, especially in long chains of nodes, where inter-cache latency exceeds main-memory-to-cache latency.

Innovation Solution

The system determines relative latencies of main memory and cache accesses by using latency tables and confidence counters to decide whether to retrieve data from main memory or cached locations, optimizing memory access requests by choosing the faster path.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is accessed from cached locations in NUMA systems, then data retrieval speed should be improved, but inter-cache latency exceeds main-memory-to-cache latency in long chains of nodes

Engineering Contradiction:
Improvedata retrieval speedVSAvoidinter-cache latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system dynamically determines the optimal data source by comparing inter-cache latency against main-memory-to-cache latency. The directory tracks latency metrics and adaptively decides whether to satisfy memory access requests from cached copies or directly from main memory, allowing the system to flexibly respond to changing network conditions and topology

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter being optimized from purely cache-based access to a hybrid approach considering both cache and main memory latencies. By introducing latency comparison as a decision parameter, the system can select the faster path (cache or main memory) based on current system state, thereby resolving the latency contradiction

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cache copies are used to satisfy memory access requests, then access frequency should be improved, but system complexity increases due to latency determination mechanisms

Engineering Contradiction:
Improvememory access efficiencyVSAvoidlatency determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The directory acts as an intermediary component that centralizes the latency determination logic. It tracks latency metrics for different data locations and makes the decision about whether to serve requests from cache or main memory, simplifying the overall system architecture by concentrating complexity in a single management component rather than distributing it across all nodes

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the directory continuously monitors and updates latency information about cache and main memory access paths. This feedback loop allows the system to learn from past access patterns and optimize future decisions, improving productivity while managing complexity through adaptive learning rather than static complex rules

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10402327B2Network-aware cache coherence protocol enhancement
Publication Date: 2019.09.03 ADVANCED MICRO DEVICES INC
  • US10402327B2 patent drawing
  • US10402327B2 patent drawing
  • US10402327B2 patent drawing

AI summary

A non-uniform memory access system includes several nodes that each have one or more processors, caches, local main memory, and a local bus that connects a node's processor(s) to its memory. The nodes are coupled to one another over a collection of point-to-point interconnects, thereby permitting processors in one node to access data stored in another node. Memory access time for remote memory takes longer than local memory because remote memory accesses have to travel across a communications network to arrive at the requesting processor. In some embodiments, inter-cache and main-memory-to-cache latencies are measured to determine whether it would be more efficient to satisfy memory access requests using cached copies stored in caches of owning nodes or from main memory of home nodes.