Title: Execution Context Optimization for Disk Energy
1Execution Context Optimization for Disk Energy
- Jerry Hom Rutgers University
- Ulrich Kremer Rutgers University
2Motivation
- Energy, Power, Thermal concerns
- energy gt tangible cost (, battery life)
- power gt design constraints
- thermal gt density, cooling
- Trend high density, multi-core
3Motivation
- Disk among top energy consumers
- up to 70 in servers Zhu05
- up to 10 in desktops Karabuto05
- 5-15 in laptops Lorch98
- 5-25 in handhelds specs
4Disk Hibernation
- no power management
- threshold-based
- oracle
5Hibernation Techniques
- Enabling
- Caching
- Remote Accesses
- Clustering (OS or application)
- Exploiting
- Fixed or Adaptive Threshold
- Compiler Directed
6Clustering ExampleUniprogramming
54 disk energy saved
PACT02, IEEETC04
7Hibernation Techniques
- Enabling
- Caching
- Remote Accesses
- Clustering (OS or application)
- Exploiting
- Fixed or Adaptive Threshold
- Compiler Directed
What happens in multiprogramming?
8Clustering ExampleMultiprogramming
5 disk energy saved
Synchronization
9Clustering ExampleMultiprogramming
25 disk energy saved
Synchronized Proportional Buffers
10Idea
- Definition Execution Context - a set of
concurrently running programs - Idea Execution Context optimizations can
significantly reduce disk energy consumption. - New Optimization Framework
- Synchronize disk requests
- Optimize buffer sizes
- Adapt to changing execution contexts
11Outline
- Introduction
- Optimization Framework
- User Study
- Experiments
- Closing Remarks
12Optimization FrameworkSynchronization
PACS03
13Optimization FrameworkFile Descriptor Attribute
Extensions
14Optimization FrameworkFile Descriptor Attribute
Extensions
15Optimization FrameworkFile Descriptor Attribute
Extensions
16Optimization FrameworkFile Descriptor Attribute
Extensions
SYNC_SEND, SYNC_RECV, BUFFERED, STREAMED FILE
int
17Optimization FrameworkExecution Context model
- Model execution contexts as states in finite
state machine. - Transitions represent a program starting or
exiting.
18Outline
- Introduction
- Optimization Framework
- User Study
- Experiments
- Closing Remarks
19User Study
- Survey what execution contexts users run
- Conjecture
- Many contexts rarely occur
- Most users run small number of programs
concurrently
20User Studyby the numbers
- Linux Trace Toolkit next generation (LTTng)
- Forty Pentium 4 desktops (2.8-3.2 GHz, 512-1024
MB) running Fedora Core 3 (TA offices, labs) - Four weeks (April 1-28, 2007) of daily traces
during peak activity (1000-2000) - Seventy-three CS grad students, 860 login hours,
12 idle, 760 active hours, 50 programs
21User Study50 programs
- abiword, acroread, bc, cvs, eclipse, emacs, eog,
epiphany, evolution, festival, firefox, gaim,
gdb, gedit, gv, gnotski, gnumeric, gthumb,
gucharmap, hxplay, java, kaboodle, kate, kmail,
konqueror, konquest, korganizer, ksame, kword,
lskat, man, matlab, mozilla, mplayer, mysql,
nedit, noatun, ooffice, pine, play, python,
realplay, rhythmbox, screen, sftp, skype, svn,
terminal, theseas, thue, thunderbird, vnc,
xboard, xmms, vi, xdvi, xpdf
22User StudySize of Execution Contexts
- 1-2 programs cover 69
- 1-3 programs cover 85
- 1-4 programs cover 94
23User StudyPopular Apps and Contexts
14 states gt2 time cover 68
24Outline
- Introduction
- Optimization Framework
- User Study
- Experiments
- Closing Remarks
25ExperimentsTest Programs
26ExperimentsSynthetic Traces
27ExperimentsMeasurement Infrastructure
- Oscilloscope with current probe
- Xnee records and replays keyboard and mouse
events - Control program logs oscilloscope data while
running experiment scripts
28ExperimentsDisk Specs
29ExperimentsSample Trace (OPG)
30Experiments
SS saves 3 to 63 21 avg
Hitachi E7K60
31Experiments
SS saves -33 to 61 8 avg
Hitachi E7K60
32Experiments
UNI 41 to 52 MULTI 51 to 65
UNI 54 to 65 MULTI 65 to 77
33Outline
- Introduction
- Optimization Framework
- User Study
- Experiments
- Closing Remarks
34Future Work
- Extend execution context optimizations to other
resources for energy or performance (memory,
wireless, alternative storage) - Identify contexts where optimizations have
negative impact and selectively disable - Expand user study to other populations
- Implement adaptive context transitions
35Summary
- Disk optimization techniques should consider
multiprogramming models - Language extensions lead to simple inter-process
communication framework - Execution context optimizations offer significant
energy reduction at low performance cost