Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Self-Tuning Configurable Cache

Similar presentations


Presentation on theme: "A Self-Tuning Configurable Cache"— Presentation transcript:

1 A Self-Tuning Configurable Cache
Ann Gordon-Ross and Frank Vahid* Department of Computer Science and Engineering University of California, Riverside *Also with the Center for Embedded Computer Systems at UC Irvine This work was supported by the U.S. National Science Foundation, and by the Semiconductor Research Corporation

2 Cache Power Consumption
Memory access: 50% of embedded processor’s system power Caches are power hungry ARM920T (Segars 01) M*CORE (Lee/Moyer/Arends 99) Thus, caches are a good candidate for optimizations Different applications have vastly different cache requirements Total size, line size, associativity Find newer reference 2KB 32 byte direct-mapped 4KB 16 byte, 2-way 8KB 64 byte, 4-way

3 Cache Tuning Cache tuning is the process of determining the appropriate cache parameters for an application - can be done during runtime Requires a tunable cache Cache parameter values can be varied during runtime Requires tuning hardware Orchestrates cache tuning Download application Executing in base configuration Energy Tunable cache Tuning hw Cache Tuning TC TC TC TC TC TC TC TC TC TC TC Microprocessor

4 Online Cache Tuning Time Energy Consumption Base cache energy Change cache Phase-tuned Reconfigure the cache dynamically to adapt to different phases of program execution or different applications in a multi-application environment In this talk, I describe research that addresses when to reconfigure the cache for a periodic system Feedback-control system for online cache tuning

5 Online Cache Tuning Challenges
Need a good tuning interval Tuning interval is the time between invocations of the tuning hardware Should closely match phase interval - length of time the system executes between phase changes Wasted energy in suboptimal configuration Base cache energy Time Energy Consumption Base cache energy Time Energy Consumption Excess tuning energy Runtime energy Time Energy Consumption Phase Interval Tuning interval too long Tuning interval too short Runtime energy Base cache energy Tuning interval Tuning interval Previous methods use a fixed tuning interval and do not analyze the value chosen Problem: How does the tuning hardware determine when to invoke cache tuning - must have knowledge of the future to obtain optimal results

6 Periodic System - Fixed Phase Interval
Phase interval fixed at 10 million cycles Energy savings = 32% (includes 7% overhead due to tuning) Tuning interval too short Tuning interval too long Negative savings if tuning interval is greater than phase interval! Base Line

7 Online Algorithms Need to determine tuning interval while system is executing Online algorithms process data piecemeal - unable to view entire dataset Online tuner must be able to determine the tuning interval based on current and past events with no knowledge of future Goal: Adjust tuning interval (TI) to match phase interval Observe change in energy due to tuning Time Energy Consumption Cache tuning Phase change occurred Phase change occurred TI TI TI TI TI TI TI TI TI TI TI TI TI No change in energy No change in energy Change in energy No change in energy

8 Online Cache Tuner – Feedback Control System
We model our online cache tuner as a feedback control system Controller Logic is based on attack/decay online algorithm Draw on fuzzy logic to stabilize tuning interval Change tuning interval based on how close or far the system is to being “stable” Use a 2 part equation

9 Controller Logic If %∆E < PoS, If %∆E >= PoS, Stable System PoS %∆E averaged over last W measurements to eliminate erratic behavior U %∆E 100% Multiplicative change to tuning interval (∆TI) ∆TI 1.0 D Small energy change, tunes too frequently, increase tuning interval (tuning interval too short) Large energy change, tunes too infrequently, decrease tuning interval (tuning interval too long) Determine U, D, PoS and W through experimentation %∆E

10 Online Cache Tuner Energy Savings
Base line Normalized Energy 29% energy savings - within 8% of optimal Observed similar results for less periodic systems and systems with more applications - see paper for details.

11 Conclusions Observed that fixed tuning intervals may not reveal energy savings Important to vary tuning interval to match system needs Developed a feedback control system for online cache tuning 29% energy savings on average - 8% from optimal Continuing work for more random systems


Download ppt "A Self-Tuning Configurable Cache"

Similar presentations


Ads by Google