1 / 11

A Self-Tuning Configurable Cache

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.

Download Presentation

A Self-Tuning Configurable Cache

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 2KB 32 byte direct-mapped 4KB 16 byte, 2-way 8KB 64 byte, 4-way

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  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. 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

  10. 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.

  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

More Related