Dynamic Cache Size Adjustment for Power Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multicore processors face high power consumption due to large and high-voltage shared caches, which can impact processing efficiency and increase energy usage.

Innovation Solution

Implementing an adjustable cache size mechanism that minimizes cache size when a processor core is in a low-power state and dynamically increases it based on performance metrics, such as cache eviction rates or time intervals, to balance power consumption and processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the shared cache is designed with large capacity to enhance processor efficiency, then processing efficiency is improved, but power consumption increases significantly

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The cache size is made dynamically adjustable rather than fixed. The cache controller monitors performance metrics (cache hit rates, eviction rates) and automatically adjusts the cache size by enabling or disabling cache sets. This dynamic adaptation allows the system to optimize the trade-off between processing efficiency and power consumption based on actual workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache size parameter is changed based on performance metrics. When eviction rates exceed thresholds or hit rates fall below thresholds, the system adjusts the cache size parameter by modifying which cache sets are enabled. This parameter adjustment directly addresses the contradiction by tuning cache capacity to match actual performance needs, reducing power consumption when full capacity is not required.

Inventive Principle:
Principle #35Parameter changes

2Speed

If the shared cache is operated with high voltage to reduce access latency, then access speed is improved, but power consumption increases

Engineering Contradiction:
Improveaccess speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The cache operates with dynamically adjustable voltage levels. When performance metrics indicate high cache utilization and frequent accesses, the cache is operated at higher voltage to reduce access latency. When utilization is low, voltage is reduced to decrease power consumption. This dynamic voltage scaling resolves the contradiction between speed and energy usage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The voltage parameter is adjusted based on performance metrics and cache size adjustments. As the cache size is reduced to lower power consumption, the voltage level is also adjusted accordingly to match the operational requirements of the reduced cache capacity, optimizing the speed-power trade-off.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If the cache size is reduced to lower power consumption, then power consumption decreases, but processing efficiency may be impacted

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing efficiency
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The cache controller implements feedback mechanisms by continuously monitoring performance metrics such as cache hit rates and eviction rates. When the cache size is reduced to lower power consumption, the feedback system detects performance degradation (increased evictions, decreased hit rates) and triggers cache size expansion. This closed-loop feedback ensures that power consumption is reduced only when it does not adversely impact processing efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache size is adjusted partially rather than completely disabled. Instead of turning off the entire cache, the system selectively enables or disables specific cache sets based on performance needs. This partial action allows the cache to operate at reduced capacity (lower power) while maintaining sufficient performance for common workloads, and can be expanded when needed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9021207B2Management of cache size
Publication Date: 2015.04.28 ADVANCED MICRO DEVICES INC
  • US9021207B2 patent drawing
  • US9021207B2 patent drawing
  • US9021207B2 patent drawing

AI summary

In response to a processor core exiting a low-power state, a cache is set to a minimum size so that fewer than all of the cache's entries are available to store data, thus reducing the cache's power consumption. Over time, the size of the cache can be increased to account for heightened processor activity, thus ensuring that processing efficiency is not significantly impacted by a reduced cache size. In some embodiments, the cache size is increased based on a measured processor performance metric, such as an eviction rate of the cache. In some embodiments, the cache size is increased at regular intervals until a maximum size is reached.