Decentralized Cache Line Tracking for Fair Shared-Cache Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for managing cache line access in multi-processor systems with shared caches face scalability issues and inefficiencies, leading to unfair access and prolonged wait times for requestors, impacting performance and response times.
Innovation Solution
A decentralized, hierarchical hot cache line tracking mechanism using two vectors (requested and serviced vectors) per cache line, which are passed around the system with the data, eliminating the need for a large centralized physical space and ensuring fair access by tracking requests and grants.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized mechanism is used to track hot cache line requests, then access fairness can be ensured, but storage space requirements increase significantly
Solution Approach 1:
The patent segments the centralized tracking mechanism into decentralized requestor-side tracking. Each requestor maintains its own requested vector and serviced vector locally, eliminating the need for a large centralized tracking structure. This segmentation reduces storage space requirements while maintaining fairness through distributed coordination.
Solution Approach 2:
The patent uses vector copies (requested vectors and serviced vectors) that are transferred between requestors and the cache controller. These compact vector representations serve as lightweight copies that enable fairness tracking without requiring large centralized storage, as each participant maintains only essential tracking data.
2Speed
If cache line access is granted to multiple requestors simultaneously, then access speed improves, but coherency management becomes complex
Solution Approach 1:
The patent implements feedback mechanisms where requestors exchange vector information with the cache controller and with each other. The requested vectors and serviced vectors provide continuous feedback about access states, enabling coordinated multi-requestor access while maintaining coherency through information sharing rather than complex centralized control.
Solution Approach 2:
The patent uses dynamic vector updates where requested and serviced vectors are continuously modified based on access grants and revocations. This dynamic tracking allows the system to adapt to changing access patterns and maintain coherency automatically, reducing the need for static complex management structures.
3Loss of time
If re-granting access to already granted requests is allowed, then request response time decreases, but fairness for other requestors deteriorates
Solution Approach 1:
The patent enables requestors to self-manage their access tracking through local vectors. Each requestor can independently check its requested vector to determine if it has already been granted access, eliminating the need for repeated grant requests and reducing response time while maintaining fairness through automatic state tracking.
Solution Approach 2:
The patent performs preliminary tracking of access grants by maintaining requested and serviced vectors that record grant status in advance. This preliminary action prevents redundant granting by checking vector states before processing new requests, ensuring fairness is maintained while avoiding unnecessary delays.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments are for using a decentralized hot cache line tracking fairness mechanism. In response to receiving an incoming request to access a cache line, a determination is made to grant access to the cache line based on a requested state and a serviced state used for maintaining the cache line, a structure comprising the requested and serviced states. In response to the determination to grant access to the cache line, the requested state and the serviced state are transferred along with data of the cache line.