Caching Policies Bypassing Sockets to Reduce Probe Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Maintaining cache coherency between processing units on different sockets in NUMA processing systems incurs significant performance and latency costs due to the large number of cache probes transmitted over low-bandwidth socket interfaces, particularly for memory-intensive operations like those performed by GPUs.

Innovation Solution

Implementing a caching policy that selectively bypasses caches on one socket during memory transactions initiated by a processing unit on another socket, allowing memory controllers to directly access memory without sending cache probes over the socket interface, thereby reducing unnecessary cache invalidations and probe transmissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache coherency is maintained between processing units on different sockets, then data consistency is preserved, but performance and latency deteriorate due to numerous cache probes transmitted over low-bandwidth socket interfaces

Engineering Contradiction:
Improvecache coherencyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory system into local memory spaces associated with each socket. Each socket has its own local memory that processing units on that socket can access without requiring cache probe coordination with other sockets. This segmentation allows memory transactions to be handled locally without impacting system-wide cache coherency, thereby improving performance while maintaining reliability for cross-socket memory accesses.

Inventive Principle:
Principle #1Segmentation

2Reliability

If cache probes are transmitted over socket interfaces to maintain cache coherency, then data consistency is ensured, but latency increases due to the time required for probe responses

Engineering Contradiction:
Improvedata consistencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the cache probe transmission requirement from local memory transactions by introducing local memory spaces that can be accessed without generating cross-socket cache probes. By taking out the need for inter-socket communication from the memory access path, the system eliminates the latency associated with probe responses while maintaining data consistency through alternative mechanisms for cross-socket coherence.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If memory transactions are directed to local memory resources, then performance is improved, but adaptability deteriorates when local memory is exhausted or inter-thread communication is required

Engineering Contradiction:
ImproveperformanceVSAvoidmemory access flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mechanism that manages memory allocation and access across local and remote memory spaces. This intermediary handles the complexity of determining when to use local memory versus remote memory, allowing processing units to automatically access local memory for performance-critical operations while seamlessly falling back to or accessing remote memory when local resources are exhausted or inter-thread communication is needed, thus maintaining both performance and adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10467138B2Caching policies for processing units on multiple sockets
Publication Date: 2019.11.05 ADVANCED MICRO DEVICES INC
  • US10467138B2 patent drawing
  • US10467138B2 patent drawing
  • US10467138B2 patent drawing

AI summary

A processing system includes a first socket, a second socket, and an interface between the first socket and the second socket. A first memory is associated with the first socket and a second memory is associated with the second socket. The processing system also includes a controller for the first memory. The controller is to receive a first request for a first memory transaction with the second memory and perform the first memory transaction along a path that includes the interface and bypasses at least one second cache associated with the second memory.