Cache Coherence Address Affinization Reduces Die Crossings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multicore processor systems, the delay in receiving responses to cache coherence queries due to remote device access introduces latency, impacting system performance, particularly due to the need for multiple die-to-die connection crossings and complex address range checks.

Innovation Solution

Implementing a cache coherence solution that optimizes address map organization to minimize die-to-die connection crossings by using address affinization, which allows for direct connections between clusters and reduces the number of range checks, thereby selecting the closest caching agent to the target home agent for cache coherence operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache coherence queries are sent to remote devices to check access or use of cached content, then cache coherence can be maintained across multiple processors, but response time increases due to remote device access latency

Engineering Contradiction:
Improvecache coherenceVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the address space into local and remote ranges, allowing the coherence controller to quickly determine whether a coherence query should be sent locally or remotely based on the address range, thereby reducing unnecessary remote queries and associated latency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-establishing address range mappings and cache coherence states before actual coherence queries are needed, enabling faster decision-making about which caches need to be queried and reducing response time

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple die-to-die connection crossings are used to access remote caches, then cache coherence can be maintained across distributed processors, but transfer latency increases due to multiple connection crossings

Engineering Contradiction:
Improvecache coherenceVSAvoidtransfer speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system creates local quality by organizing caches and address spaces so that frequently accessed data and coherence queries can be resolved locally without requiring remote die-to-die connections, thereby maintaining cache coherence while minimizing transfer latency for common operations

Inventive Principle:
Principle #3Local quality

3Measurement precision

If complex address range checks are performed to determine cache coherence status, then accurate coherence information can be obtained, but processing time increases due to multiple range check operations

Engineering Contradiction:
Improvecoherence status accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The address space is segmented into predefined ranges associated with different caches, allowing the coherence controller to quickly determine coherence status by checking which range a given address falls into, rather than performing complex comprehensive range checks, thereby maintaining accuracy while reducing processing time

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11966330B2Link affinitization to reduce transfer latency
Publication Date: 2024.04.23 INTEL CORP
  • US11966330B2 patent drawing
  • US11966330B2 patent drawing
  • US11966330B2 patent drawing

AI summary

Examples described herein relate to processor circuitry to issue a cache coherence message to a central processing unit (CPU) cluster by selection of a target cluster and issuance of the request to the target cluster, wherein the target cluster comprises the cluster or the target cluster is directly connected to the cluster. In some examples, the selected target cluster is associated with a minimum number of die boundary traversals. In some examples, the processor circuitry is to read an address range for the cluster to identify the target cluster using a single range check over memory regions including local and remote clusters. In some examples, issuance of the cache coherence message to a cluster is to cause the cache coherence message to traverse one or more die interconnections to reach the target cluster.