Cache Prefetching via MOSIR State History Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current prefetching mechanisms in multiprocessing computer systems are inefficient due to rigid and non-adaptive data prefetching techniques, leading to cache pollution and increased latency, as they fail to effectively prioritize cache lines based on historical coherency protocol state changes.
Innovation Solution
A method that tracks historical changes in cache coherency protocol states to prioritize prefetching, using a Modified-Owned-Shared-Invalid-Reserved (MOSIR) protocol, linking cache lines, and maintaining cumulative scores to determine which cache lines to prefetch, thereby reducing unnecessary data retrieval and improving cache efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional prefetching mechanisms are used to load data into cache, then data availability is improved, but cache pollution increases and latency increases due to rigid and non-adaptive techniques
Solution Approach 1:
The patent implements dynamic prefetching by monitoring cache coherency protocol state changes (MOSIR states: Modified, Owned, Shared, Invalid, Reserved) and adapting prefetching behavior based on historical patterns. The system transitions from static, rigid prefetching to a dynamic mechanism that adjusts prefetching decisions based on real-time cache state observations and accumulated historical data, thereby improving data availability while reducing unnecessary prefetches that cause latency.
Solution Approach 2:
The system employs feedback mechanisms by tracking historical changes in cache coherency protocol states and using this information to inform future prefetching decisions. The prefetching mechanism receives feedback from cache state transitions and adjusts its behavior accordingly, enabling intelligent discrimination between useful and unnecessary prefetches, thus improving data availability while minimizing latency caused by cache pollution.
2Loss of time
If aggressive prefetching is used to reduce latency, then data availability improves, but cache pollution increases
Solution Approach 1:
The patent implements dynamic prefetching by monitoring cache coherency protocol state changes (MOSIR states: Modified, Owned, Shared, Invalid, Reserved) and adapting prefetching behavior based on historical patterns. The system transitions from static, rigid prefetching to a dynamic mechanism that adjusts prefetching decisions based on real-time cache state observations and accumulated historical data, thereby improving data availability while reducing unnecessary prefetches that cause latency.
Solution Approach 2:
The system changes the parameter of prefetching aggressiveness based on cache coherency state parameters. By monitoring transitions between MOSIR states and accumulating historical data about state change patterns, the system dynamically adjusts prefetching intensity, enabling aggressive prefetching when beneficial and conservative prefetching when cache pollution risk is high, thus reducing latency without excessive cache pollution.
3Device complexity
If fixed sequence prefetching is used to simplify the prefetching mechanism, then device complexity is reduced, but adaptability decreases leading to cache pollution
Solution Approach 1:
The patent implements dynamic prefetching by monitoring cache coherency protocol state changes (MOSIR states: Modified, Owned, Shared, Invalid, Reserved) and adapting prefetching behavior based on historical patterns. The system transitions from static, rigid prefetching to a dynamic mechanism that adjusts prefetching decisions based on real-time cache state observations and accumulated historical data, thereby improving data availability while reducing unnecessary prefetches that cause latency.
Solution Approach 2:
The prefetching mechanism serves itself by automatically learning from historical cache state changes and making autonomous decisions about what to prefetch. The system monitors its own cache environment, accumulates historical data about state transitions, and uses this self-generated knowledge to adaptively control prefetching behavior, achieving high adaptability without requiring complex external control logic.
Data Source
AI summary
A method includes linking together a set of cache lines, tracking historical changes to the cache coherency protocol states of the set of cache lines, and prefetching to a cache the set of cache lines based at least on the historical changes to the set of cache lines. A cache circuit includes one or more random access memories (RAMs) to store cache lines and cache coherency protocol states of the cache lines and a prefetch logic unit to link together a set of cache lines, to track historical changes to cache coherency protocol states of the set of cache lines, and to prefetch to the cache circuit the set of cache lines based at least on the historical changes to the set of cache lines.


