1 / 25

Dynamic Voltage Scaling

Dynamic Voltage Scaling. The question: at what clock rate/voltage should the CPU run in the next scheduling interval? Voltage scalable processors StrongARM SA-2 (500mW at 600MHz; 40mW at 150MHz) Speedstep Pentium III AMD Mobile K6 Plus Transmeta Power is proportional to V 2 x F

ayla
Download Presentation

Dynamic Voltage Scaling

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. Dynamic Voltage Scaling • The question: at what clock rate/voltage should the CPU run in the next scheduling interval? • Voltage scalable processors • StrongARM SA-2 (500mW at 600MHz; 40mW at 150MHz) • Speedstep Pentium III • AMD Mobile K6 Plus • Transmeta • Power is proportional to V2 x F • Energy will be affected (+) by lower power, (-) by increased time

  2. Interval Scheduling(adjust clock based on past window,no process reordering involved) • Weiser et. al. • Algorithms (when): • Past • AVGN • Stepping (how much) • One • Double • Peg – min or max • Based on unfinished work during previous interval Clock speed CPU load time

  3. Policies for Dynamic Clock SchedulingGrunwald et al, OSDI 2000 • Experimental study (not simulation) – based on ITSY hardware with Linux • StrongARM 59MHz to 206MHz, 1.5v or 1.23V • Measured whole system power consumption • Important to capture interactions with other power consuming components of hardware platform • Inelastic performance constraints – don’t want to allow user to see any performance degradation • Realistic workload (for handheld device): MPEG player, Web viewing, Chess game, Talking editor

  4. Implementation of Scheduling Algorithms • Issues: • Capturing utilization measure • Start with no a priori information about applications and need to dynamically infer / predict behavior (patterns / “deadlines” / constraints?) • Idle process or “real” process – usually each quantum is either 100% idle or busy • AVGN: weighted utilization at time tWt = (NWt-1 + Ut-1) / (N+1) • Adjusting the clock speed • Idea is to set the clock speed sufficiently high to meet deadlines (but deadlines are not explicit in algorithm)

  5. Best Result – MPEG, PAST, PEG

  6. Results and Conclusions • It is hard to find any discernible patterns in “real” applications • Better at larger time scales (corresponding to larger windows in AVGN ) but then systems becomes unresponsive • Poor coupling between adaptive decisions of applications themselves and system decision-making (example: MPEG player that either blocked or spun) • NEED application-supplied information • Simple averaging shows asymmetric behavior – clock rate drops faster than ramps up • AVGN could not stabilize on the “right” clock speed - Occillations

  7. Negative Results are a Hard-Sell • Discussion: Is this study and its results satisfying?

  8. Background: Liu and Layland(classic TR Scheduling paper) • Hard real time - tasks executed in response to events (requests) and must be completed in some fixed time (deadline) • Soft real time - statistical distribution of response times

  9. Assumptions • Tasks are periodic with constant interval between requests, Ti (request rate 1/Ti) • Each task must be completed before the next request for it occurs • Tasks are independent • Run-time for each task is constant (max), Ci • Any non-periodic tasks are special

  10. Task Model C1 = 1 t1 Ti Ti t2 C2 = 1 T2 time

  11. Definitions • Deadline is time of next request • Overflow at time t if t is deadline of unfulfilled request • Feasible schedule - for a given set of tasks, a scheduling algorithm produces a schedule so no overflow ever occurs. • Critical instant for a task - time at which a request will have largest response time. • Occurs when task is requested simultaneously with all tasks of higher priority

  12. Rate Monotonic • Assign priorities to tasks according to their request rates, independent of run times • Optimal in the sense that no other fixed priority assignment rule can schedule a task set which can not be scheduled by rate monotonic. • If feasible (fixed) priority assignment exists for some task set, rate monotonic is feasible for that task set.

  13. Earliest Deadline First • Dynamic algorithm • Priorities are assigned to tasks according to the deadlines of their current request • With EDF there is no idle time prior to an overflow • For a given set of m tasks, EDF is feasible iffC1/T1 + C2/T2 + … + Cm/Tm[ 1 • If a set of tasks can be scheduled by any algorithm, it can be scheduled by EDF

  14. Voltage SchedulingPering, Burd, & BrodersenISLPED 2000 • Simulation study – lpARM • 1.1V to 3.3V – 10 MHz to 100 MHz • Core and cache together consume between 1.8 mW and 220 mW • Voltage scheduler separate from “temporal” scheduler • Use “deadlines”

  15. lpARM System • Speed-control register • Processor cycle ctrs • System sleep control

  16. Based on Earliest Deadline First • Dynamic algorithm • Priorities are assigned to tasks according to the deadlines of their current request • With EDF there is no idle time prior to an overflow • For a given set of m tasks, EDF is feasible iffC1/T1 + C2/T2 + … + Cm/Tm[ 1 • If a set of tasks can be scheduled by any algorithm, it can be scheduled by EDF

  17. Intuition C1 = 1 t1 Ti Ti t2 C2 = 1 T2 time

  18. Intuition C1 = 1 t1 Ti Ti t2 C2 = 1 T2 time

  19. Workload • High priority tasks – ignored by voltage scheduler • Rate-based tasks – turn into deadlines internally • True deadline-based tasks • Allowing missed deadlines enables voltage scheduler to accommodate ave-case workload instead of worst-case.

  20. Scheduling Algorithm • Sort in EDF order • Invoked when thread added or removed or deadline reached • Includes non-runnable in scheduling decision Exponential moving average Sworkj j<=i speed = MAX deadlinei-currenttime i<=n

  21. Results Lowering voltage until benchmark doesn’t complete

  22. Frame by frame histograms GUI example: affected by hard idle times – waiting for external events not related to clock speed.

  23. Mixed Workload

  24. Conclusions • In all cases, less than 2% of energy going to scheduling thread execution • Up to 80% reduction in energy • Application information required

More Related