AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices
-
Upload
doris-mcintosh -
Category
Documents
-
view
30 -
download
0
description
Transcript of AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices
![Page 1: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/1.jpg)
AutoDVS: An Automatic, General-Purpose, Dynamic
Clock Scheduling System for Hand-Held Devices
Selim GurunChandra Krintz
Lab for Research on Adaptive Compilation Environments (RACELab)University of California, Santa Barbara
![Page 2: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/2.jpg)
2
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 yetFuel cells, ambient energy, . . .
2600 mAh 23 Grams
1450 mAh 45 Grams
![Page 3: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/3.jpg)
3
• 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
Dynamic Voltage Scaling
![Page 4: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/4.jpg)
4
Our Work: AutoDVS
• Goal: To provide a DVS system for handheld computers Real device/real applications Transparent to application Unobtrusive to user General-purpose
MultimediaInteractive applicationsGamesBatch tasks
Efficient even when the voltage switching latency is high
![Page 5: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/5.jpg)
5
Typical Handheld Platform: iPAQ H3800
CPU
PERIPHERALDEVICES
![Page 6: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/6.jpg)
6
Frequency Scheduling Timeline
Time
milliseconds
Old speed New speed
PRECLK Phase POSTCLK
Clock Scheduling Request Update Clock Speed
0 35 40
iPAQ H3800, Linux Kernel v2.4
![Page 7: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/7.jpg)
7
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
CPU Load Monitor
Idle Task Monitor
DVS Policy Arbiter
CPU Clock Voltage Scaling Driver
Interactive Task Scheduler
![Page 8: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/8.jpg)
8
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
![Page 9: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/9.jpg)
9
Interactive Sessions
• A period of user interaction: Each application has a specific pattern
Interactivity Sessions - Tetrix
Eve
nt I
nter
arri
val T
ime
(mse
cs)
Interactive SessionT
hink
Tim
e
![Page 10: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/10.jpg)
10
Interactive Sessions
• A period of user interaction: Each application has a specific pattern
Interactivity Sessions - Solitaire
Eve
nt I
nter
arri
val T
ime
(mse
cs)
![Page 11: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/11.jpg)
11
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
Load Length
0.2 2.34s
0.4 1.20s
… …
![Page 12: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/12.jpg)
12
• 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
DVS Scheduling: Batch & Multimedia Tasks
![Page 13: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/13.jpg)
13
Architecture
Application 1 Application 2 Application 3G
UI
KE
RN
EL
Linux Scheduler
CPU ClockDriver
I/O Drivers
Event FilterInteractive Task
Scheduler (NWSLite)
CPU LoadSensors
Arbiter
(frqstep,len)
eventevent
![Page 14: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/14.jpg)
14
Arbiter
CPU load average
Idle task entry count & period
Interactive CPU Load &
Period Length1
2
3CPU
Load
S
en
sor
Inte
ract
ive
Task
S
ched
ule
r Parameters
POLICY STACK
ARBITER RULES
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)Excessive idleness: Reduce speed
Load Avg > HiThr: Increase speed
Load Avg < LoThr: Decrease speed
Excessive load: Increase speed
![Page 15: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/15.jpg)
15
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
![Page 16: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/16.jpg)
16
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
![Page 17: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/17.jpg)
17
Results
Interactive Workloads - Energy Factor
0.0
0.2
0.4
0.6
0.8
1.0
Dra Gen Sol Tet-1 Tet-2 Che-1 Che-2 Che-3 Avg
Ra
tio
to
MA
X
AutoDVS
IDEAL_FLAT
![Page 18: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/18.jpg)
18
Results
Interactive Workloads - Stall Rate
0.0
0.1
0.2
0.3
0.4
0.5
Dra Gen Sol Tet-1 Tet-2 Che-1 Che-2 Che-3 Avg
Rat
io t
o M
AX
AutoDVS
IDEAL_FLAT
Periodic tasks
![Page 19: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/19.jpg)
19
Checkers: Periodic Tasks
• Checkers generates periodic tasks
• CPU load alternates between idle and full load
G C G I G C G
GGUI task
CComputationally intensive task
I I
IIdle
Waiting for user input
Searching next move using Min-Max
CPU util
Predicted CPU util
0 -
1 0
0 1
… …
Prediction
![Page 20: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/20.jpg)
20
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
![Page 21: AutoDVS: An Automatic, General-Purpose, Dynamic Clock Scheduling System for Hand-Held Devices](https://reader036.fdocuments.us/reader036/viewer/2022062517/5681361b550346895d9d8fb3/html5/thumbnails/21.jpg)
21
THANK YOU!
QUESTIONS?