240 likes | 476 Views
PowerScope: A Tool for Profiling the Energy Usage of Mobile Applications. Jason Flinn M. Satyanarayanan Carnegie Mellon University. Motivation. Energy is a critical resource for mobile computing. Comprehensive approach to energy management should include OS and apps , not just hardware!
E N D
PowerScope: A Tool for Profiling the Energy Usage of Mobile Applications Jason Flinn M. Satyanarayanan Carnegie Mellon University
Motivation • Energy is a critical resource for mobile computing. • Comprehensive approach to energy management • should include OS and apps, not just hardware! • PowerScope profiles the energy usage of applications. • Exposes targets for optimizations. • Quantifies benefits of improvements. • Iterative development reduces energy usage.
PowerScope Design Overview • Profile generation is a two-stage process. • First stage: sample collection • Digital multimeter samples power levels. • Kernel instrumentation samples system activity. • Second stage: off-line analysis • Symbol tables and samples used to generate energy profile.
Stage 1: Sample Collection System Monitor samples system activity. Digital multimeter samples current levels. Energy Monitor stores current samples. Hardware interface correlates sampling.
Stage 2 Off-Line Analysis Generates profile of energy usage. Runs off-line to reduce overhead Attributes samples to specific processes and functions.
Sample Profile: Summary Elapsed Total Average Process Time (s)Energy (J)Power (W) ------------------------------ ---------------------------------------- /usr/odyssey/bin/xanim 66.57 643.179.66 /usr/X11R6/bin/X 35.72 331.589.28 /netbsd (kernel) 50.89 328.716.46 Interrupts-WaveLAN 18.62 165.88 8.91 /usr/odyssey/bin/odyssey 12.19 123.4010.12 ------------------------------ --------------------------------------- Total 183.991592.75 8.66
Sample Profile: Process Detail Elapsed Total Average Procedure Time (s)Energy (J)Power (W) ------------------------------ ---------------------------------------- _Dispatcher 0.25 2.53 10.11 _IOMGR_CheckDiscript 0.17 1.7410.23 _sftp_DataArrived 0.16 1.6810.48 _rpc2_RecvPacket 0.16 1.67 10.41 _ExaminePacket 0.16 1.66 10.35 . . . ------------------------------ --------------------------------------- Total 12.19 123.40 10.12
Case Study: Adaptive Video Experimental Setup: Client: 75MHz 486 laptop Server: 200 MHz Pentium Pro Network: 900 MHz WaveLAN • Goals of case study: • Can degradation significantly reduce energy use? • Which degradations are most effective? • Are there techniques which reduce energy use across all video qualities?
Result of Lossy Compression Benefit of lossy compression: 13% energy reduction
Experiment: Display Size Reduction • Compression does not reduce X server energy usage. • Will reducing the display size help? • Repeated experiment with two additional tracks: • One each at highest and lowest compression. • Halved the height and width of the video display.
Result of Reducing Display Size Cumulative benefit: 24% energy reduction
Effect of Power Management • 94% of energy used to keep hardware in idle state. • Network power reduction: • Odyssey suspends network between RPCs. • Standby mode saves 1.4 W, overhead 0.81 ms. • Disk power management: • Odyssey puts disk to sleep at start of playback.
Result of Power Management Overall result: 46% reduction in energy usage!
Related Work • Low-Overhead CPU Profiling • Morph (Zhang, et al.) • DCPI (Anderson, et al.) • Network and Disk Power Measurement and Reduction • Network for Handheld Devices (Stemm and Katz) • Network Power Management (Kravets and Krishnan) • Disk (Douglis, Krishnan, and Marsh)
Future Work • Only the beginning of the project: • Repeat case study for additional platforms. • Port to additional operating systems (Linux, …) . • Supplement analysis with histograms of energy usage over time. • Validate and calibrate with microbenchmarks. • Support for multiple concurrent applications.
Summary PowerScope is a powerful tool for reducing energy usage. Adaptation reduces energy consumption. But, still a long way to go.
System-Level Components • Viceroy: central point of resource control • monitors resources, notifies via upcall • also type-independent operations • Wardens: type-aware components • fidelity-changing operations • type-specific handling for efficiency
Video Track Encodings Duration of each track is 184 seconds. Compression used: QuickTime / CinePak.