Energy-Aware Adaptation for Mobile Applications Aida Vosoughi Britt Antley Conserving Energy in Mobile Devices • There has always been a desire to conserve energy in devices reliant on their battery • First approaches dealt with purely hardware solutions • Soon realized that this would not be enough • OS needed to interact with hardware to achieve more efficient energy usage • Needed to consider higher level approach and thus software solutions began to be explored Adaptive Disk Spin-Down • Monitors the spin-down threshold and adjusts it to keep a balance between energy consumption and unacceptable spin-ups. Wireless Communication Suspension • Transport Layer Protocol (TLP) that conserves power by choosing short periods of time to suspend communications • Collaboration between TLP and mobile host to enable queuing of data when communication is suspended • Up to 83% communication power savings, resulting in overall savings of 6-9% in laptops and 40% mobile device Energy-Aware Adaptation for Mobile Applications • The idea is to modify the applications' behavior dynamically to conserve energy. • According to the energy supply and demand a decision is made: o o Use less energy if energy is scarce Use more energy otherwise (better user experience) • OS is monitoring the energy and guide the applications to yield a battery-life of interest Odyssey • Introduced in 1997 by B. D. Noble et al. • A software platform which supports adaptation for a broad range of mobile applications. • Integrated into Linux as a new file system, along with a set of API extensions. • Monitors resources such as bandwidth, CPU cycles, battery power, etc… & makes tradeoffs • Adaptation is achieved by trading of data quality for resource consumption. • Fidelity: the degree to which data presented at a client matches the reference copy at a server. o Fidelity is type-specific o Odyssey allows each application to specify the fidelity levels it supports. Odyssey Architecture • Viceroy: Responsible for monitoring the availability of resources and managing their use. • Wardens: Encapsulate typespecific functionality. There is one warden for each data type. [1] [1] J. Flinn and M. Satyanarayanan. Energy-aware adaptation for mobile applications. PowerScope • Introduced in 1999 by J. Flinn et al. • A tool for profiling energy usage by applications. • A sample energy profile: [2] [2] J. Flinn and M. Satyanarayanan, "PowerScope: a tool for profiling the energy usage of mobile applications” [2] Experiments • Question: Does lowering data fidelity lead to better energy savings? QuickTime Video 35% reduction through hardware management, compression, and reduced window size Speech Recognition 69-80% reduction mainly through lower fidelity and turning off screen & network Map Viewer 46-70% reduction by hardware filtering (most efficient by removing minor and secondary roads) & cropping Web Browser 29-34% reduction by hardware fidelity reduction Zoned Backlighting • Selectively control lighting on parts of screen • Break screen into multiple "zones" which can be lit or not based on need • Theoretical power savings of up to 50% Goal-Directed Energy Adaptation • A mobile user has an estimate of how long a battery needs to last. • Goals: o To ensure that Odyssey meets the specified time duration. o To provide the best user experience possible. Two requirements: 1. Applications should offer as high a fidelity as possible at all times 2. The user should not be jarred by frequent adaptations. Determine the residual energy Predict future energy demand Decide if applications should change fidelity Odyssey: Predicting future energy demand • Exponential smoothing function: new = (1-α)(this sample)+(α)(old). • History-based prediction: Empirical approach to predict energy consumption of a specific application as a function of fidelity o o Application-specific logging/training: randomly sample the fidelity space and recording energy consumption at each sample point Offline/Online learning: using machine learning algorithms Simplest such predictor is linear. (E= c0 + c1S+ c2fS, where S is a constant = e.g. size of image and f is fidelity) Odyssey: Triggering Adaptation • Predicted demand > Residual energy: Up-calls so that applications can adapt to reduce energy usage. • Residual energy > Predicted demand: Applications are notified to increase data fidelity. • Level of hysteresis in Odyssey’s adaptation strategy o o o Bias toward stability when energy is plentiful and toward agility when it is scarce. Odyssey caps fidelity improvements at a maximum rate of once every 15 seconds. When multiple applications are executing concurrently, Odyssey must decide which to notify. Example of Goal-Directed Adaptation Application priorities: 1. Web browser 2. Map viewer 3. Video player 4. Speech recognizer Modern Implementations • Focus on uses in modern mobile OS Energy Management in Mobile Devices with the Cinder Operating System • Controlling energy allocation is crucial feature for mobile OS's • Introduces abstraction of reserves and taps • Used to achieve 3 properties of control o Isolation o Delegation o Subdivision • Modification of HiStar OS running on ARM processor (Android G1) Power Guru: Implementing Smart Energy Management on the Android Platform • Implement smart power management app on Android o Monitor all apps and their power use o Give user suggestion on which apps to kill to optimize battery life • Apps are given Power Rating based on their CPU utilization and hardware usage • User can Prioritize certain apps to not be killed and other apps are ranked based on Power Rating Context-aware Battery Management for Mobile Phones • Battery meter/ “battery low” audio signals are not enough anymore… • CABMAN Problem: Will the battery last until the next charging opportunity is encountered? Next charging opportunity? Call time requirements? “Discharge speedup factor”? Summary • The main goal is to converse energy without affecting usability • High level solutions are effective o Fidelity adaptation o Context-aware battery management o Application energy allotment o Giving user suggestions for power savings References [1] Jason Flinn and M. Satyanarayanan. 1999. Energy-aware adaptation for mobile applications. In Proceedings of the seventeenth ACM symposium on Operating systems principles (SOSP '99). ACM, New York, NY, USA, 48-63. [2] Flinn, J.; Satyanarayanan, M.; , "PowerScope: a tool for profiling the energy usage of mobile applications," Mobile Computing Systems and Applications, 1999. Proceedings. WMCSA '99. Second IEEE Workshop on , vol., no., pp.2-10, 2526 Feb 1999 [3] Kravets, Robin; Krishnan, P., "Power Management Techniques for Mobile Communication," MobiCom 1998. pp. 157168. [4] Arjun Roy; Stephen M. Rumble; Ryan Stutsman; Philip Levis; David Mazières; Nickolai Zeldovich; "Energy Management in Mobile Devices with the Cinder Operating System," EuroSys '11. April 10-13 2011. [5] Ravi, N.; Scott, J.; Lu Han; Iftode, L.; , "Context-aware Battery Management for Mobile Phones," Pervasive Computing and Communications, 2008. PerCom 2008. Sixth Annual IEEE International Conference on , vol., no., pp.224-233, 17-21 March 2008 [6] D. Narayanan, J. Flinn, and M. Satyanarayanan. 2000. Using history to improve mobile application adaptation. In Proceedings of the Third IEEE Workshop on Mobile Computing Systems and Applications (WMCSA'00) (WMCSA '00). IEEE Computer Society, Washington, DC, USA [7] Brian Noble, M. Satyanarayanan, and Morgan Price. 1995. A Programming Interface for Application-Aware Adaptation in Mobile Computing. In Proceedings of the 2nd Symposium on Mobile and Location-Independent Computing (MLICS '95). USENIX Association, Berkeley, CA, USA, 57-66. [8] Brian D. Noble, M. Satyanarayanan, Dushyanth Narayanan, James Eric Tilton, Jason Flinn, and Kevin R. Walker. 1997. "Agile application-aware adaptation for mobility". SIGOPS Oper. Syst. Rev. 31, 5 (October 1997) [9] Unelsroed, Hans Fredrik; Roeine, Per Christian; Ghani, Fahad. "Power Guru: Implementing Smart Power Management on the Android Platform."