Dynamic Coarse-Grained Snoop Filter Tracking for Cache Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-processor systems face significant overhead in maintaining cache coherence as the number of cores increases, leading to resource constraints and performance penalties due to inefficient snoop filter (SFT) area requirements and oversnooping when coarse-grained tracking does not adhere to locality rules.

Innovation Solution

A dynamic coarse-grained tracking mechanism for snoop filters that adapts its granularity to the workload mix, aggregating fine-grained entries and using metadata to manage sector sizes and counters, allowing for efficient allocation and deallocation of cache lines, thereby optimizing SFT area usage and reducing oversnooping.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If coarse-grained tracking is used in snoop filter, then SFT area requirements are reduced, but oversnooping increases leading to performance penalties

Engineering Contradiction:
ImproveSFT areaVSAvoidcache coherence performance
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The patent implements dynamic sector size adjustment where the snoop filter adapts its tracking granularity based on workload characteristics. The system monitors access patterns and dynamically modifies sector sizes to match actual data locality, transitioning between fine-grained and coarse-grained tracking as needed. This dynamic adaptation resolves the contradiction by allowing the SFT to use larger sectors (reducing area) when locality patterns permit, while switching to finer granularity when performance requires it.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of sector size based on observed workload patterns and locality rules. By adjusting this critical parameter dynamically, the snoop filter can optimize between area efficiency and performance - using larger sector sizes to reduce SFT area when appropriate, and smaller sector sizes to minimize oversnooping when performance demands it.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If fine-grained tracking is used in snoop filter, then cache coherence accuracy is improved, but SFT area requirements increase

Engineering Contradiction:
Improvecache tracking accuracyVSAvoidSFT area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The system dynamically adjusts tracking granularity based on actual workload characteristics rather than using a static fine-grained approach. When workload patterns exhibit good locality, the system transitions to coarse-grained tracking, reducing SFT area requirements. When locality patterns deteriorate, it switches back to fine-grained tracking to maintain accuracy, thus resolving the area-precision tradeoff adaptively.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The sector size parameter is dynamically changed based on workload analysis and locality rule violations. This parameter adjustment allows the system to use larger sectors (reducing precision but saving area) when appropriate, and smaller sectors (maintaining precision but using more area) when needed, optimizing the tradeoff between tracking accuracy and resource usage.

Inventive Principle:
Principle #35Parameter changes

3Area of stationary object

If static coarse-grained sectors are used, then SFT area is reduced, but locality rules are not adhered to causing oversnooping

Engineering Contradiction:
ImproveSFT areaVSAvoidoversnooping
Core Design Contradiction:
Area of stationary objectVSObject-affected harmful factors

Solution Approach 1:

The system implements dynamic sector size adjustment that responds to locality rule violations and workload changes. Rather than using static coarse-grained sectors, the snoop filter adapts its granularity in real-time, expanding sectors when locality patterns support it and contracting them when oversnooping begins to occur. This dynamic behavior resolves the contradiction by allowing area reduction only when safe to do so.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from locality rule monitoring to adjust sector sizes dynamically. When locality patterns indicate that coarse-grained tracking is appropriate, the system expands sectors to reduce area. When feedback shows locality rule violations causing oversnooping, the system contracts sectors to eliminate the harmful effect. This feedback-driven adaptation resolves the area-oversnooping tradeoff.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12360903B2Cache coherence using dynamic coarse-grained tracking
Publication Date: 2025.07.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12360903B2 patent drawing
  • US12360903B2 patent drawing
  • US12360903B2 patent drawing

AI summary

The described technology provides a method including receiving a request for allocating an incoming cacheline to one of a plurality of SFT entries in a snoop filter (SFT), performing a tag lookup function for a tag of the incoming cacheline in the SFT, in response to determining that the incoming cacheline is not part of an existing sector of any of the plurality of SFT entries, finding one or more candidate SFT entries, wherein the candidate SFT entries can be converted to an aggregated entry, selecting one of the candidate SFT entries, and allocating the incoming cacheline to the selected SFT entry.