Cache Coherence Protocol Explicit Control States

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor environments, cache coherence protocols lead to significant messaging overhead and performance degradation due to the need for frequent invalidate and acknowledge messages to maintain coherency across shared cache lines.

Innovation Solution

Implementing a method that allows cache lines to be set to an explicit control state, either private or read-only, where only predetermined memory access operations are permitted, and these operations are not tracked by a global directory, reducing the need for invalidate and acknowledge messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a cache coherence protocol is implemented to maintain coherent shared memory across multiple processors, then cache corruption is avoided, but messaging overhead increases and system performance degrades

Engineering Contradiction:
Improvecache coherencyVSAvoidmessaging overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the cache coherency management by dividing cache lines into two categories: those tracked by the global directory and those in explicit control states. This segmentation allows the system to apply full coherence protocols only where necessary while eliminating overhead for lines in explicit control states, thereby reducing overall messaging complexity while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces explicit control states (read-only and private) as new parameter values for cache lines. When a cache line is in one of these states, the global directory stops tracking it, fundamentally changing the coherency management parameters from active tracking to passive enforcement, which reduces messaging overhead while preserving coherency where needed.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the global directory tracks all memory access operations to maintain coherency, then cache corruption is prevented, but system performance decreases due to frequent messaging

Engineering Contradiction:
Improvecache coherencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts cache lines from the global directory tracking system by placing them in explicit control states. Once extracted, these lines no longer generate invalidate and acknowledge messages, directly improving system performance while coherency is maintained through the explicit state constraints that prevent corruption without requiring directory intervention.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies preliminary action by setting cache lines to explicit control states (read-only or private) before they would otherwise require tracking. This preliminary classification allows the system to preemptively eliminate messaging overhead for certain cache lines while maintaining coherency through the state-based access control, thereby improving performance without sacrificing reliability.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If cache lines are allowed in explicit control states with restricted memory operations, then messaging overhead is reduced, but flexibility in memory access operations decreases

Engineering Contradiction:
Improveprotocol complexityVSAvoidmemory access flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamics by allowing cache lines to transition between different states (tracked and explicit control states) based on access patterns and requirements. This dynamic state management enables the system to adaptively reduce protocol complexity for appropriate cache lines while maintaining flexibility for those that require full tracking, effectively balancing complexity reduction with access flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8788761B2System and method for explicitly managing cache coherence
Publication Date: 2014.07.22 NVIDIA CORP
  • US8788761B2 patent drawing
  • US8788761B2 patent drawing
  • US8788761B2 patent drawing

AI summary

One embodiment of the present invention sets forth am extension to a cache coherence protocol with two explicit control states, P (private), and R (read-only), that provide explicit program control of cache lines for which the program logic can guarantee correct behavior. In the private state, only the owner of a cache line can access the cache line for read or write operations. In the read-only state, only read operations can be performed on the cache line, thereby disallowing write operations to be performed.