Autodvs an automatic general purpose dynamic clock scheduling system for hand held devices
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

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


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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

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


Autodvs an automatic general purpose dynamic clock scheduling system for hand held devices

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


Typical handheld platform ipaq h3800

Typical Handheld Platform: iPAQ H3800

CPU

PERIPHERAL

DEVICES


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


Results

Results


Results1

Results

Periodic tasks


Autodvs an automatic general purpose dynamic clock scheduling system for hand held devices

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


Autodvs an automatic general purpose dynamic clock scheduling system for hand held devices

THANK YOU!

QUESTIONS?


  • Login