Self-Invalidation Cache Coherence via Read-After-Write Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache coherence protocols in multiprocessor systems rely on software to expose synchronization, increasing complexity and error risks, and require significant signaling that scales with the number of cores, while self-invalidation protocols struggle with data races leading to non-sequential-consistent executions.

Innovation Solution

A system and method that employs implicit self-invalidation/write-through fences, using a read-after-write detection structure to detect data races and enforce program order without requiring explicit synchronization instructions from software, allowing cache lines to be self-invalidated and ensuring coherence without explicit invalidation traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If explicit invalidation cache coherence protocols are used, then cache coherence is maintained, but signaling overhead scales with the number of cores increasing energy consumption

Engineering Contradiction:
Improvecache coherenceVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and removes the directory component from the cache coherence system, eliminating the need for explicit invalidation signaling to all cores. Instead, each core independently tracks its own cache state and invalidates locally, reducing the signaling overhead that previously scaled with the number of cores.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each core is empowered to self-manage its own cache coherence state without requiring external invalidation signals from other cores. The system uses self-invalidation where cores independently detect and handle coherence issues, eliminating the need for centralized directory management and reducing overall system energy consumption.

Inventive Principle:
Principle #25Self-service

2Use of energy by moving object

If self-invalidation protocols are used to reduce signaling, then energy consumption is reduced, but data races cause non-sequential-consistent executions

Engineering Contradiction:
Improveenergy consumptionVSAvoidsequential consistency
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent introduces a race detection structure as an intermediary mechanism that monitors memory access patterns without requiring explicit synchronization instructions. This structure detects potential data races and triggers appropriate coherence actions, maintaining sequential consistency while avoiding the overhead of traditional synchronization protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback through the race detection structure that continuously monitors memory accesses and provides information about potential conflicts. This feedback mechanism enables the system to dynamically adjust coherence actions based on actual access patterns, ensuring sequential consistency without requiring conservative pre-synchronization of all accesses.

Inventive Principle:
Principle #23Feedback

3Reliability

If software-exposed synchronization is required for coherence, then sequential consistency is maintained, but software complexity and error risks increase

Engineering Contradiction:
Improvesequential consistencyVSAvoidsoftware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables the hardware coherence system to automatically manage sequential consistency without requiring software to insert explicit synchronization instructions. The race detection structure and self-invalidation mechanism work autonomously to maintain coherence, reducing software complexity and the risk of errors from incorrect synchronization usage.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary tracking of memory access patterns in the race detection structure before coherence issues arise. By pre-monitoring access patterns and detecting potential races in advance, the system can proactively maintain sequential consistency without requiring reactive software intervention.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11188464B2System and method for self-invalidation, self-downgrade cachecoherence protocols
Publication Date: 2021.11.30 ARRAY CACHE TECHNOLOGIES LLC
  • US11188464B2 patent drawing
  • US11188464B2 patent drawing
  • US11188464B2 patent drawing

AI summary

Methods and systems for self-invalidating cachelines in a computer system having a plurality of cores are described. A first one of the plurality of cores, requests to load a memory block from a cache memory local to the first one of the plurality of cores, which request results in a cache miss. This results in checking a read-after-write detection structure to determine if a race condition exists for the memory block. If a race condition exists for the memory block, program order is enforced by the first one of the plurality of cores at least between any older loads and any younger loads with respect to the load that detects the prior store in the first one of the plurality of cores that issued the load of the memory block and causing one or more cache lines in the local cache memory to be self-invalidated.