autodvs an automatic general purpose dynamic clock scheduling system for hand held devices
Download
Skip this Video
Download Presentation
AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices

Loading in 2 Seconds...

play fullscreen
1 / 21

AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices - PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on

AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices. Selim Gurun Chandra Krintz Lab for R esearch on A daptive C ompilation E nvironments (RACELab) University of California, Santa Barbara. The Mobile Computing Energy Crisis. Battery power

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices' - doris-mcintosh


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
autodvs an automatic general purpose dynamic clock scheduling system for hand held devices

AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices

Selim Gurun

Chandra Krintz

Lab for Research on Adaptive

Compilation Environments (RACELab)

University of California, Santa Barbara

the mobile computing energy crisis
The Mobile Computing Energy Crisis
  • Battery power
    • The only currently feasible energy source
    • Heavy: Capacity is a linear function of weight
    • Low capacity
    • Alternative technologies are not attractive yet
      • Fuel cells, ambient energy, . . .

1450 mAh 45 Grams

2600 mAh 23 Grams

slide3

Dynamic Voltage Scaling

  • Example systems
    • Weiser’94, Govil’95, Pering’95, Grunwald’00, Flautner’02, Lorch’03, …
  • Reduce CPU energy consumption
    • Faster processing requires more energy
    • Lower speed (and voltage) whenever possible
  • Predict future workload for optimum CPU speed
    • Interval schedulers, application-assisted DVS techniques
our work autodvs
Our Work: AutoDVS
  • Goal: To provide a DVS system for handheld computers
    • Real device/real applications
    • Transparent to application
    • Unobtrusive to user
    • General-purpose
      • Multimedia
      • Interactive applications
      • Games
      • Batch tasks
    • Efficient even when the voltage switching latency is high
frequency scheduling timeline
Frequency Scheduling Timeline

Old speed

New speed

Time

PRECLK Phase

POSTCLK

milliseconds

0

35

40

Clock Scheduling Request

Update Clock Speed

iPAQ H3800, Linux Kernel v2.4

autodvs a hybrid dvs system
AutoDVS contains multiple, concurrent DVS schedulers for effective scheduling of various applications

Monitoring CPU load and application demand

Voltage/Clock frequency change requests

Evaluating clock speed change requests

Mapping requests to hardware specific voltage/frequency steps

AutoDVS: A hybrid DVS system

Interactive Task Scheduler

CPU Load Monitor

Idle Task Monitor

DVS Policy Arbiter

CPU Clock Voltage Scaling Driver

dvs scheduling interactive tasks
DVS Scheduling: Interactive Tasks
  • User input triggers multiple GUI events
    • Keyboard, joy-pad, touch-screen, etc…
  • User interaction: DVS should be invisible
    • Response latency is important
      • Human perception threshold: 50 milliseconds
  • Extant approaches reschedule each GUI event
    • Multiple voltage/frequency switching in an event’s lifetime
  • We reschedule once per interactive session
    • Because real life latencies are long
interactive sessions
Interactive Sessions

Interactive Session

  • A period of user interaction: Each application has a specific pattern

Interactivity Sessions - Tetrix

Think Time

Event Interarrival Time (msecs)

interactive sessions1
Interactive Sessions

Interactivity Sessions - Solitaire

Event Interarrival Time (msecs)

  • A period of user interaction: Each application has a specific pattern
nwslite for interactive session prediction
NWSLite for Interactive Session Prediction
  • Light-weight: 55 floating point instructions/prediction
  • Multiple predictors
    • Ranking based on past error rate
    • No parameters to configure
  • 2 NWSLite predictors per application
    • Load, session length
dvs scheduling batch multimedia tasks
DVS Scheduling: Batch & Multimedia Tasks
  • CPU Load Monitor: Interval scheduling with large periods
    • + better use of slack time through distributing demand in a larger period
    • + resilient against fluctuations in demand
    • - slow response if demand changes suddenly
  • Idle Task Monitor: Monitors idle task statistics
    • Multimedia tasks
      • Sudden increase in CPU demand => lost frames, noise, etc…
      • Extant approaches => programmer is responsible
        • Application notifies OS
    • Idle task is scheduled whenever no runnable task exists
  • However, cannot use NWSLite for load prediction
architecture
Architecture

Application 1

Application 2

Application 3

Interactive Task

Scheduler (NWSLite)

GUI

Event Filter

(frqstep,len)

CPU Load

Sensors

I/O Drivers

CPU Clock

Driver

Arbiter

event

event

KERNEL

Linux Scheduler

arbiter
Arbiter

Interactive CPU Load & Period Length

1

Idle task entry count & period

2

CPU load average

3

ARBITER RULES

POLICY STACK

Parameters

Set CPU speed as requested, however, if predicted load < CPU load in the last 500 milliseconds, do not lower speed

Map estimated load to clock speed

(round up to next level)

Interactive Task Scheduler

Excessive load: Increase speed

Excessive idleness: Reduce speed

CPU Load Sensor

Load Avg > HiThr: Increase speed

Load Avg < LoThr: Decrease speed

evaluation methodology
Evaluation Methodology
  • Real-life applications
    • Record and replay user input
    • Games, Contact, Notepad, Drawpad, Multimedia…
  • Compare AutoDVS to other policies
    • MAX and IDEAL_FLAT
  • Different perspectives (metrics)
    • Interactivity
    • Energy consumption
    • Soft real time quality
metrics
Metrics
  • Energy Factor
    • Ratio of energy used by scaled workload to energy used when workload is processed at full speed
  • Stall Rate (for interactive tasks)
    • Ratio of over-threshold execution time to total execution time
  • Stall Magnitude (for interactive tasks)
    • Over-threshold execution time divided by total event number
  • Buffer Under-runs (for multimedia tasks)
    • Gaps in playback sound due to processor starvation
results1
Results

Periodic tasks

slide19

Checkers: Periodic Tasks

Computationally intensive task

C

Prediction

  • Checkers generates periodic tasks
  • CPU load alternates between idle and full load

Idle

I

GUI task

G

I

G

C

G

I

G

I

G

C

Waiting for user input

Searching next move using Min-Max

summary
Summary
  • General purpose DVS algorithm
    • Multiple policies co-operate to provide seamless voltage scaling
    • Significant energy savings: 49% over MAX
    • Slight performance degradation
  • Concurrent workloads
    • Interactive task and MP3 playback
    • 31% energy savings over MAX
  • Easily integrated with other techniques
    • PPACE: Further energy savings for GUI events
slide21

THANK YOU!

QUESTIONS?

ad