Title: Application Transformations for Energy and PerformanceAware Device Management
1Application Transformations for Energy and
Performance-Aware Device Management
- Taliver Heath, Eduardo Pinheiro, Jerry Hom,
Ulrich Kremer, and Ricardo Bianchini - Rutgers University
2The Problem
- Conserve energy in devices
- Must take advantage of lower power states
- State transitions have overhead
- Cost in both energy and performance
- Challenge non-interactive applications and fast
processors - Short device idle times
- Devices cannot use lower power states
3Our Solution
An Unmodified Application (UM)
CPU
Disk
CPU
idle
idle
active
active
Disk
idle
idle
active
active
Transformed Application
4Our Goals
- Conserve energy by exploiting transformations
that increase idle time - Evaluate ideas using
- Hand-modified programs
- Automated compiler transformations
- Specific policies Energy Oblivious, Fixed
Threshold, Direct Deactivation, Pre-Activation,
and Combined
5Application Transformations
- Increase idle times with help of compiler or
programmer - Identify loops where accesses occur
- Perform loop transformations
- Estimate device idle times
- Insert system calls
- Idle time limited by memory or real-time
constraints
6Example Original Application
i 1 while i lt N read chunki of
file compute on chunki i i1
7Example Transformed Application
available how_much_memory() numchunks
available/sizeof(chunks) compute_time
appfunc(numchunks) i 1 while i lt N read
chunkiinumchunks of file next_R(compute_time
) compute on chunkiinumchunks i
inumchunks
8Compiler Framework
- Annotations to file descriptors
- Replace disk calls using interprocedural analysis
- Profiling
- Buffered I/O
- Notify OS of idle times
- Based on SUIF infrastructure
9Device Management
- Energy-Oblivious (EO)
- Fixed-Threshold (FT)
- Direct-Deactivation (DD)
- Pre-Activation (PA)
- Combined(CO) DDPA
- Final state based on model Heath02
10Sample Disk Power Graphs (mp3 player)
UM
FT
CO
11Experimental Setup
- Fujitsu Disk
- 6-GB, 4200-rpm laptop disk
- 3 states
- Idle 0.9 W
- Standby 0.22 W
- Sleep - 0.09W
- Buffer memory available 19MB
- Time allowed for reading .3 seconds
12Experiment
- 6 applications
- Mp3 player, mpeg-player
- Gzip, sftp, mpeg-encode, image smoother
- Variables investigated
- Disk management policies
- Compiler vs. hand-optimized
- OS prefetching on/off
13Non-streaming SFTP
14Streaming MP3 player
15Average Hand-Modified Results
16Average Compiler Results
17Related Work (partial list)
- Application-controlled power states
- Concept, but no implementation Ellis99,Lu99
- Compiler infrastructure Delaluz01
- Direct deactivation and preactivation
Hom01,Heath02 - Conserving disk energy Douglis94
- Modifying disk access API Weissel02
18Conclusions
- Application transformations
- 55-89 savings in energy
- Minimal effect on performance
- Idle time predictions are difficult
- Prefetching has little impact
- Compiler transformations work well
- As good as hand modifications
- Generic framework other disks and devices
19For more information
20Technique
- Create model of disk energy
- Transform applications
- Realize model on real disk
- Predict disk energy usage
- Measure disk on 4 applications
21Future Work
- More disks
- Other devices
- Multiple active processes
- Asynchronous I/O
22Summary
23Historical Use of States
- Change to Lower State during Period of Idleness
- Fixed-threshold
- Adaptive/Heuristic
- OS Hints
- Based on general knowledge of system
24Runlength vs. Energy
25Projected Application Gain
26Projected Application Gain
27Overhead for DD
28Combined (CO)
CPU
idle
idle
active
active
Disk
idle
active
active
idle
29Parameter Description
30Reality Departs from Model
- Hidden states in several transitions
- Transition from active to idle
- Behavior on activation
For CO
31Experiments
Modified App Runlengths
32Energy, mpg123
33Energy, sftp
34Performance, mpg123
35Performace, sftp
36Experimental Results
MP3 player
37Summary
- direct-deactivation and preactivation (CO)
- Can save up to 89 of disk energy
- No performance penalty, except for MPEG player
(lt10) - Just increasing runlengths, we can save up to 50
energy - Error in model can be significant up to 50 for
the entire application
38Energy Oblivious(EO)
CPU
idle
idle
active
active
Disk
idle
39Direct Deactivation(DD)
CPU
idle
idle
active
active
Disk
40Pre-Activation(PA)
CPU
idle
idle
active
active
Disk
idle
41Fixed-Threshold(FT)
CPU
idle
idle
active
active
Disk
42Terminology
Runlength (R)
Time between device accesses by the processor
R
R
Device Time
CPU Time
Blocking device accesses (reads) Single
ready-to-run application