Shared Cache QoSID Tracking for Usage Measurement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache memory systems lack a space-efficient mechanism for monitoring cache usage, leading to underutilization and suboptimal scheduling due to cache interference and lack of feedback on occupancy, which affects overall system performance.
Innovation Solution
A shared cache memory system that generates approximate usage measurements by associating cache subdivisions with Quality of Service (QoS) classes and using QoS identifier tracking tags to monitor cache usage, reducing storage overhead and minimizing performance impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional cache memory systems monitor cache usage with detailed tracking mechanisms, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The cache is divided into multiple cache subdivisions (sets, ways, or lines), and the monitoring mechanism is segmented to track only a subset of these subdivisions. Each monitored subdivision provides a sample of the overall cache usage, enabling precise measurement without requiring full cache monitoring. This segmentation allows the system to achieve measurement precision while reducing the complexity of the monitoring infrastructure.
Solution Approach 2:
The patent implements partial monitoring by tracking only a portion of the cache subdivisions rather than the entire cache. By selecting representative samples of cache lines for monitoring, the system obtains sufficient usage measurement data to make scheduling decisions without implementing comprehensive monitoring of all cache elements. This partial action approach reduces device complexity while maintaining adequate measurement precision for QoS management.
2Productivity
If comprehensive cache usage monitoring is implemented, then productivity is improved through better scheduling, but use of energy increases
Solution Approach 1:
The monitoring system is segmented to observe only a subset of cache subdivisions rather than the entire cache. This reduces the number of monitoring operations and associated energy consumption while still providing sufficient data for effective scheduling decisions. The segmented approach allows the system to maintain productivity improvements through better task scheduling while minimizing the energy overhead of monitoring.
Solution Approach 2:
The patent employs simple, low-cost monitoring structures (such as small tags or counters) that require minimal energy to maintain and update. These lightweight monitoring elements provide the necessary usage information without imposing significant energy costs, enabling the system to achieve better scheduling efficiency while keeping energy consumption acceptable.
3Measurement precision
If detailed QoS tracking is implemented for all cache lines, then measurement precision is improved, but loss of substance increases due to storage overhead
Solution Approach 1:
The cache monitoring is segmented to track QoS information for only a subset of cache subdivisions rather than all cache lines. This selective monitoring reduces the total amount of tracking data that must be stored, thereby minimizing the storage overhead and preserving more usable cache capacity. The segmented approach maintains sufficient measurement precision for QoS management while reducing the loss of substance.
Solution Approach 2:
The system implements partial QoS tracking by monitoring only a representative sample of cache subdivisions. This partial monitoring provides adequate information about QoS class usage patterns without requiring comprehensive tracking of every cache line. The result is reduced storage overhead and less loss of cache capacity while maintaining sufficient measurement precision for making scheduling and allocation decisions.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Generating approximate usage measurements for shared cache memory systems is disclosed. In one aspect, a cache memory system is provided. The cache memory system comprises a shared cache memory system. A subset of the shared cache memory system comprises a Quality of Service identifier (QoSID) tracking tag configured to store a QoSID tracking indicator for a QoS class. The shared cache memory system further comprises a cache controller configured to receive a memory access request comprising a QoSID, and is configured to access a cache line corresponding to the memory access request. The cache controller is also configured to determine whether the QoSID of the memory access request corresponds to a cache line assigned to the QoSID. If so, the cache controller is additionally configured to update the QoSID tracking tag.