Autodvs an automatic general purpose dynamic clock scheduling system for hand held devices
Download
1 / 21

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


  • 92 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 Scheduling System for Hand-Held Devices

  • 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


Dynamic Voltage Scaling Scheduling System for Hand-Held Devices

  • 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 Scheduling System for Hand-Held Devices

  • 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 Scheduling System for Hand-Held Devices

CPU

PERIPHERAL

DEVICES


Frequency scheduling timeline
Frequency Scheduling Timeline Scheduling System for Hand-Held Devices

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 effective scheduling of various applications

  • 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 effective scheduling of various applications

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 effective scheduling of various applications

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 effective scheduling of various applications

  • 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 effective scheduling of various applications

  • 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 effective scheduling of various applications

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 effective scheduling of various applications

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 effective scheduling of various applications

  • 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 effective scheduling of various applications

  • 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 effective scheduling of various applications


Results1
Results effective scheduling of various applications

Periodic tasks


Checkers: Periodic Tasks effective scheduling of various applications

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 effective scheduling of various applications

  • 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


THANK YOU! effective scheduling of various applications

QUESTIONS?


ad