Dual-Owner Cache Regions Using a Region-Based Probe Filter
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache regions transitioning to a shared state cannot switch back to an exclusively owned state due to the allocation of supporting line-based probe filter entries, which consume additional memory and computational resources, especially when a subscriber migrates between CPU cache hierarchies.
Innovation Solution
Implementing a region-based probe filter entry that allows dual ownership by partitioning fields to accommodate two owners without allocating supporting line-based probe filter entries, enabling transitions between exclusive, dual owner, and shared cache regions based on reference counts and cache load detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a cache region transitions to a shared state, then multiple CPU cache hierarchies can access the cache region, but supporting line-based probe filter entries must be allocated which consume additional memory and computational resources
Solution Approach 1:
The probe filter entry is segmented into multiple owner fields (first owner field and second owner field), allowing the system to track multiple owners within a single entry structure. This segmentation enables dual ownership without requiring separate line-based probe filter entries for each owner, thereby reducing memory and computational resource consumption while maintaining the ability to share cache regions between multiple CPU cache hierarchies.
2Adaptability or versatility
If a cache region is set to shared state, then it can accommodate multiple subscribers, but it cannot transition back to an exclusively owned state even if only one subscriber is utilizing it
Solution Approach 1:
The system dynamically adjusts the ownership state of cache regions based on the number of active subscribers. By implementing dual owner fields that can be independently managed, the cache region can transition between exclusive ownership, dual ownership, and shared states as needed. This dynamic state management allows the cache region to optimize its configuration based on actual usage patterns, improving operational flexibility.
Solution Approach 2:
The ownership parameters of the cache region (tracked through the owner fields and reference counts) are changed based on subscriber activity. When reference counts indicate that only one subscriber remains, the system changes the ownership parameter from shared to exclusive, enabling seamless state transitions that adapt to current usage conditions.
3Reliability
If line-based probe filter entries are allocated for shared cache regions, then cache coherence can be maintained, but memory and computational overhead increases
Solution Approach 1:
Multiple ownership tracking functions are merged into a single region-based probe filter entry through the use of multiple owner fields. This consolidation maintains cache coherence by tracking all owners within one entry structure, eliminating the need for separate line-based probe filter entries and reducing the computational overhead associated with managing multiple separate entries.
Solution Approach 2:
The region-based probe filter entry is designed to serve multiple functions: it can track a single exclusive owner, dual owners, or multiple shared owners within the same entry structure. This multi-functionality allows the system to maintain cache coherence for shared regions while avoiding the resource consumption of allocating separate line-based probe filter entries, as the universal entry structure adapts to different ownership scenarios.
Data Source
AI summary
The disclosed computer-implemented method can include detecting, by at least one processor, a cache load from a second central processing unit (CPU) cache hierarchy onto an exclusively owned cache region of cache memory that is exclusively owned by a first CPU cache hierarchy. The method can additionally include converting, by the at least one processor, the exclusively owned cache region, in response to the detection, to a dual owner cache region at least in part by partitioning one or more fields of an entry for the dual owner cache region in a region-based probe filter. The method can also include employing, by the at least one processor, the entry for the dual owner cache region to track cache subregion subscriptions of both the first CPU cache hierarchy and the second CPU cache hierarchy. Various other methods, systems, and computer-readable media are also disclosed.


