120 likes | 135 Views
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.
E N D
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
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 2KB 32 byte direct-mapped 4KB 16 byte, 2-way 8KB 64 byte, 4-way
Executing in base configuration Download application Energy Cache Tuning Tunable cache TC Tuning hw TC TC TC TC TC TC TC TC TC TC 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 Microprocessor
Base cache energy Energy Consumption Phase-tuned Change cache Time Online Cache Tuning • 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
Wasted energy in suboptimal configuration Excess tuning energy Runtime energy Base cache energy Base cache energy Base cache energy Tuning interval too long Energy Consumption Energy Consumption Energy Consumption Runtime energy Time Time Time PhaseInterval Tuninginterval Tuning interval 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 Tuning interval too short 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
Energysavings = 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! Periodic System - Fixed Phase Interval Phase interval fixed at 10 million cycles Base Line
TI TI Cache tuning TI TI TI TI TI TI TI TI TI TI TI Energy Consumption No change in energy No change in energy No change in energy Phase change occurred Change in energy Time Phase change occurred 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
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
Stable System If %∆E < PoS, If %∆E >= PoS, 1.0 U D Large energy change, tunes too infrequently, decrease tuning interval (tuning interval too long) Small energy change, tunes too frequently, increase tuning interval (tuning interval too short) Multiplicative change to tuning interval (∆TI) PoS 0 %∆E 100% %∆E Controller Logic %∆E averaged over last W measurements to eliminate erratic behavior ∆TI Determine U, D, PoS and W through experimentation
29% energy savings - within 8% of optimal Online Cache Tuner Energy Savings Base line Normalized Energy Observed similar results for less periodic systems and systems with more applications - see paper for details.
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