Delayed Snoop Cache Coherency for False Sharing Threads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core coherent systems, maintaining cache coherency is challenging due to heterogeneous components with different cache structures and access attributes, leading to increased CPU stall overhead and reduced memory throughput, particularly in scenarios of false sharing where multiple cores operate on different segments of a cache line, necessitating serial snoop and evictions.

Innovation Solution

A method involving storing data blocks in a main cache memory, creating local copies on multiple processors, allowing processors to modify assigned blocks with write-through operations, transmitting invalidate requests, and marking delayed snoop for unmodified blocks, thereby reducing unnecessary evictions and optimizing memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serial snoop and eviction operations are performed to maintain cache coherency in false sharing scenarios, then data consistency is guaranteed, but CPU stall overhead increases and memory throughput decreases

Engineering Contradiction:
Improvecache coherencyVSAvoidmemory throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the cache line into multiple regions, each associated with a different process. When a write operation occurs, only the specific region being modified is invalidated in other processors' caches, rather than invalidating the entire cache line. This regional segmentation allows concurrent access to different regions by different processes, maintaining coherency while enabling parallel operations and improving memory throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by implementing fine-grained invalidation at the region level within a cache line. Each process has specific regions it can access, and invalidation is performed only for the affected region rather than the entire cache line. This localized approach reduces the scope of snoop operations and allows other processes to continue accessing their respective regions without interruption.

Inventive Principle:
Principle #3Local quality

2Reliability

If serial snoop operations are performed to ensure data ordering and atomicity, then data correctness is maintained, but CPU stall overhead increases

Engineering Contradiction:
Improvedata correctnessVSAvoidCPU stall overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the cache line into multiple accessible regions for different processes. When a write operation occurs, the system performs snoop operations only on the specific region being modified rather than the entire cache line. This segmentation reduces the time required for snoop operations while maintaining data correctness through targeted invalidation of only the affected region in other processors' caches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by performing snoop and invalidation operations only on the specific cache line region that is being modified, rather than performing full cache line operations. This partial approach reduces CPU stall overhead by minimizing the scope of coherence maintenance operations while still ensuring data correctness for the affected region.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If full cache line invalidation is performed to maintain coherency, then data consistency is ensured, but memory access latency increases

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the cache line into multiple regions with different access permissions for different processes. When a write operation occurs, only the specific region being modified is invalidated in other processors' caches, rather than invalidating the entire cache line. This regional approach reduces memory access latency by minimizing the scope of invalidation operations while maintaining data consistency through targeted coherence management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by implementing region-specific invalidation within the cache line. Each process has defined regions it can access, and coherency is maintained by invalidating only the affected region rather than the entire cache line. This localized invalidation reduces memory access latency while ensuring data consistency for the modified region.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12386696B2Delayed snoop for improved multi-process false sharing parallel thread performance
Publication Date: 2025.08.12 TEXAS INSTRUMENTS INC
  • US12386696B2 patent drawing
  • US12386696B2 patent drawing
  • US12386696B2 patent drawing

AI summary

Techniques for maintaining cache coherency comprising storing data blocks associated with a main process in a cache line of a main cache memory, storing a first local copy of the data blocks in a first local cache memory of a first processor, storing a second local copy of the set of data blocks in a second local cache memory of a second processor executing a first child process of the main process to generate first output data, writing the first output data to the first data block of the first local copy as a write through, writing the first output data to the first data block of the main cache memory as a part of the write through, transmitting an invalidate request to the second local cache memory, marking the second local copy of the set of data blocks as delayed, and transmitting an acknowledgment to the invalidate request.