Cache Shutdown Policy for Active Cores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for shutting down active core-based caches do not effectively differentiate between modified and non-modified data, leading to inefficiencies in power management and cache flushing, particularly when determining whether to write back or retain data in the cache.
Innovation Solution
A method and system that proactively flush modified state data from a shared cache based on the number of idle cores, proximity of the last cache flush, and the activity of the thread associated with the data, using a write back policy that adjusts its aggressiveness accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If proactive cache flushing is implemented, then power consumption during cache shutdown is reduced, but flushing time and power increase significantly
Solution Approach 1:
The system proactively flushes modified cache data to memory before the cache shutdown is actually needed. By examining the LRU chain and identifying modified blocks in advance, the system writes them back to memory during idle periods, so that when shutdown occurs, the cache is already clean and can be powered down immediately without lengthy flushing operations.
Solution Approach 2:
The system dynamically adjusts the flushing behavior based on runtime conditions. It monitors the LRU chain, identifies modified data, and selectively flushes only when beneficial. The decision to flush is made dynamically based on current cache state and system conditions, rather than using a static flushing policy.
2Speed
If all modified data is written back to memory, then cache shutdown is faster, but system performance degrades due to loss of cached data
Solution Approach 1:
The system applies different quality treatment to different parts of the cache. Instead of uniformly flushing all modified data, it selectively identifies and flushes only the modified blocks in the LRU chain that are truly stale. Clean blocks and recently accessed modified blocks are retained in the cache, maintaining local data quality where it is still useful while enabling fast shutdown where appropriate.
Solution Approach 2:
The system changes the state parameter of cache blocks from modified to clean selectively, based on their position in the LRU chain and their modification status. By changing only the necessary blocks, it achieves shutdown readiness without unnecessarily altering the state of all cache data, thus preserving productive cached data.
3Productivity
If cache shutdown is delayed to retain modified data, then system performance is maintained, but power consumption increases
Solution Approach 1:
The system performs preliminary identification of modified data in the LRU chain and proactively flushes it to memory before shutdown is required. This preliminary action ensures that when the cache needs to be shut down for power saving, the data is already safely in memory, allowing immediate shutdown without performance penalty or energy waste from delayed operations.
Solution Approach 2:
The system continuously monitors the cache state through the LRU chain, providing feedback on which blocks are modified and their recency of use. This feedback mechanism enables intelligent decision-making about when to flush data, balancing the trade-off between retaining cached data for performance and shutting down the cache for power saving.
Data Source
AI summary
A system and method are presented. Some embodiments include a processing unit, at least one memory coupled to the processing unit, and at least one cache coupled to the processing unit and divided into a series of blocks, wherein at least one of the series of cache blocks includes data identified as being in a modified state. The modified state data is flushed by writing the data to the at least one memory based on a write back policy and the aggressiveness of the policy is based on at least one factor including the number of idle cores, the proximity of the last cache flush, the activity of the thread associated with the data, and which cores are idle and if the idle core is associated with the data.


