Scope Tree Cache Coherence with Dynamic PoC Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cache coherence protocols in multiprocessor and multicore systems are inefficient and cannot be effectively scaled, leading to performance issues and data corruption due to the inability to maintain consistency across caches.
Innovation Solution
A method for migrating points of coherence in a cache hierarchy, dynamically determining the cache level for data access based on the scope group, and implementing a scope tree mechanism to manage cache coherence.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware-based cache coherence protocols using snooping logic and shared bus are implemented, then cache coherence can be maintained, but the bus becomes overloaded and the system cannot be effectively scaled
Solution Approach 1:
The patent segments the cache coherence management by introducing scope groups that partition the system into smaller coherence domains. Each scope group has a dedicated scope tree with its own point of coherence, allowing coherence to be maintained independently within each segment rather than requiring global bus arbitration for all caches.
Solution Approach 2:
The patent adds a hierarchical dimension to cache coherence management by creating scope trees with multiple levels (root cache, intermediate caches, leaf caches). This hierarchical structure allows coherence protocols to operate at different levels of the hierarchy, reducing the need for flat bus-based arbitration and enabling better scaling.
2Reliability
If threads are designed to utilize the highest level cache for communication, then cache coherence can be maintained across all processors, but access latency increases and performance decreases
Solution Approach 1:
The patent applies local quality by allowing different scope groups to have different points of coherence at different levels of the cache hierarchy. Threads within a scope group can access data at lower cache levels (L1, L2) rather than always accessing the highest level cache, optimizing access latency while maintaining coherence within the local scope group.
Solution Approach 2:
The patent introduces dynamic scope tree construction where the point of coherence for each scope group is determined dynamically based on which caches are actually accessed by threads in that scope group. This allows the system to adaptively select the appropriate cache level for coherence management, balancing between coherence reliability and access performance.
Data Source
AI summary
Various embodiments include techniques for migrating points of coherence (PoCs) in a cache hierarchy. The techniques comprise receiving, at a first cache memory and from a second cache memory, a memory access request associated with a first scope group, and, in response to determining a first directory within the first cache memory includes a first entry indicating (i) a third cache memory is a child of the first cache memory in a tree associated with the first scope group, and (ii) the first cache memory is a root of the tree associated with the first scope group: performing one or more operations to acquire a PoC token from a descendant cache memory of the first cache memory in the tree associated with the first scope group, and updating the first entry to indicate that the first cache memory is a PoC of the tree associated with the first scope group.


