Cache Coherency Shared Invalid State for SMP Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In symmetric multiprocessor (SMP) computer systems, the existing cache coherency protocols lead to unnecessary local broadcasts, increasing latency and bandwidth usage due to delayed requests for data not found in the local node, as they always check the local node first before broadcasting to remote nodes.

Innovation Solution

A new cache coherency protocol state, 'shared invalid' (Isn), is introduced to predict whether a read request can be satisfied within a local node, allowing read requests to be broadcast first to remote nodes if the data is predicted to be there, thereby reducing unnecessary local broadcasts and conserving bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If read requests are always broadcast first to local nodes, then local data access is prioritized, but unnecessary local broadcasts increase latency and bandwidth usage when data is located in remote nodes

Engineering Contradiction:
Improvelocal data access priorityVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by setting cache state bits (such as the shared invalid bit) in advance to indicate whether data is likely to be found in local or remote nodes. This preliminary information is used to determine the broadcast strategy before the actual read request is issued, avoiding unnecessary local broadcasts when data is predicted to be in remote nodes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The broadcast strategy is made dynamic by transitioning between different cache coherency states (MESI states plus shared invalid state) based on predicted data location. The system adapts its behavior by selecting different broadcast paths (local-first vs. remote-first) depending on the current cache state, rather than following a fixed broadcast sequence.

Inventive Principle:
Principle #15Dynamics

2Reliability

If read requests are always broadcast first to local nodes, then local node checking is ensured, but local communications bandwidth is consumed unnecessarily when data is in remote nodes

Engineering Contradiction:
Improvelocal node checkingVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Cache state bits are set in advance based on previous write operations and data location predictions. This preliminary state information allows the system to skip unnecessary local broadcasts, conserving bandwidth energy when data is predicted to reside in remote nodes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of broadcast destination selection by using cache state bits (such as the shared invalid bit) to determine whether to broadcast to local nodes, remote nodes, or both. This parameter change enables selective broadcasting that adapts to the predicted data location, reducing unnecessary bandwidth consumption.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If a two-level cache coherence protocol is used with local-first broadcasting, then global bandwidth is conserved for common cases, but access latency increases when data is not in local nodes

Engineering Contradiction:
Improveglobal bandwidth conservationVSAvoidaccess latency
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system performs preliminary prediction using cache state bits to determine the likely location of data before issuing read requests. When the shared invalid bit indicates data is in remote nodes, the system proactively broadcasts to remote nodes first, avoiding the latency penalty of unsuccessful local broadcasts while maintaining global bandwidth conservation for cases where data is locally cached.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The traditional local-first broadcast sequence is inverted to remote-first broadcast when cache state bits predict data location in remote nodes. This inversion resolves the contradiction by adapting the broadcast sequence to the predicted data location, reducing latency for remote data while maintaining the two-level protocol's bandwidth efficiency.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS7395376B2Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of shared memory blocks
Publication Date: 2008.07.01 META PLATFORMS INC
  • US7395376B2 patent drawing
  • US7395376B2 patent drawing
  • US7395376B2 patent drawing

AI summary

A method, apparatus, and computer program product are disclosed for reducing the number of unnecessarily broadcast local requests to reduce the latency to access data from remote nodes in an SMP computer system. A shared invalid cache coherency protocol state is declined that predicts whether a memory read request to read data in a shared cache line can be satisfied within a local node. When a cache line is in the shared invalid state, a valid copy of the data is predicted to be located in the local node. When a cache line is in the invalid state and not in the shared invalid state, a valid copy of the data is predicted to be located in one of the remote nodes. Memory read requests to read data in a cache line that is not currently in tile shared invalid state are broadcast first to remote nodes. Memory read requests to read data in a cache line that is currently in the shared invalid state are broadcast first to a local node, and in response to being unable to satisfy the memory read requests within the local node, the memory read requests are broadcast to the remote nodes.