Self-Healing Coarse-Grained Snoop Filter for Multiprocessor Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Snoopy protocols in multiprocessor systems face scaling issues due to increased snoop traffic as the number of active processors grows, leading to inefficiencies in cache coherency maintenance and increased latency, with existing snoop filtering methods either generating false positives or requiring high area and power costs.
Innovation Solution
A self-healing coarse-grained snoop filter that tracks cache entries at a page granularity, allowing for efficient filtering of snoops while maintaining low area and latency, and preventing the accumulation of false positives over time by evicting least-recently accessed entries and using a temporary overflow area to manage new entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If snooping is used to maintain cache coherency in multiprocessor systems, then cache coherency is maintained, but snoop traffic increases significantly as the number of processors grows
Solution Approach 1:
The patent segments the address space into multiple regions, with each region having its own snoop filter. This allows snoop traffic to be filtered at a finer granularity, reducing the amount of unnecessary snoop traffic that needs to be broadcast to all processors while maintaining cache coherency for each address region.
Solution Approach 2:
The snoop filter acts as an intermediary between the snoop request and the cache. It intercepts snoop requests and determines whether they need to be forwarded to the cache based on the filter's tracking of current cache contents, thereby reducing unnecessary snoop traffic to the cache and other processors.
2Measurement precision
If fine-grained snoop filtering is implemented, then snoop filtering precision is improved, but area and power costs increase
Solution Approach 1:
The address space is segmented into multiple regions, allowing the snoop filter to track cache contents at a page level within each region. This segmentation enables precise filtering for frequently accessed pages while using coarser filtering for less critical address ranges, reducing the total filter area required compared to a fully fine-grained approach.
Solution Approach 2:
Different regions of the address space are treated with different filtering granularities. Frequently accessed or critical address regions receive fine-grained filtering, while less critical regions use coarser filtering, optimizing the balance between filtering precision and area consumption.
3Area of stationary object
If coarse-grained snoop filtering is used, then area and power consumption are reduced, but false positives increase
Solution Approach 1:
By segmenting the address space into multiple regions with dedicated snoop filters, the patent reduces the false positive rate within each region compared to a single large coarse-grained filter. Each regional filter tracks page-level information for its specific address range, providing better precision while maintaining low area and power consumption.
Solution Approach 2:
The patent adds a regional dimension to the snoop filtering hierarchy. Instead of using a single coarse-grained filter that operates on the entire address space, multiple regional filters operate in parallel on different address ranges, effectively adding a spatial dimension that improves precision without proportionally increasing area or power consumption.
4Measurement precision
If snoop filter capacity is increased to reduce false positives, then filtering effectiveness is improved, but area and latency increase
Solution Approach 1:
The patent divides the snoop filter into multiple smaller regional filters, each handling a specific address range. This segmentation reduces the capacity requirements and access latency of each individual filter while collectively providing comprehensive coverage of the entire address space, thereby improving filtering effectiveness without increasing latency.
Solution Approach 2:
By organizing filters in a regional hierarchy rather than using a single large filter, the patent effectively distributes the filtering capacity across multiple smaller units. This dimensional organization allows parallel processing of snoop requests across different regions, reducing overall latency while maintaining high filtering effectiveness.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The disclosure relates to filtering snoops in coherent multiprocessor systems. For example, in response to a request to update a target memory location at a Level-2 (L2) cache shared among multiple local processing units each having a Level-1 (L1) cache, a lookup based on the target memory location may be performed in a snoop filter that tracks entries in the LI caches. If the lookup misses the snoop filter and the snoop filter lacks space to store a new entry, a victim entry to evict from the snoop filter may be selected and a request to invalidate every cache line that maps to the victim entry may be sent to at least one of the processing units with one or more cache lines that map to the victim entry. The victim entry may then be replaced in the snoop filter with the new entry corresponding to the target memory location.