Energy-Aware Adaptation for Mobile Applications

Slides:



Advertisements
Similar presentations
Shared-Memory Model and Threads Intel Software College Introduction to Parallel Programming – Part 2.
Advertisements

Remuneration of using Green IT June 18, Agenda Approaches to green computing Drivers for adopting green technologies Progress so ICICI Financial.
Towards Automating the Configuration of a Distributed Storage System Lauro B. Costa Matei Ripeanu {lauroc, NetSysLab University of British.
1 Virtual Resource Management (VRM) in Cloud Environment draft-Junsheng-Cloud-VRM-00 Friday 21 Jan 2011 B. Khasnabish, Chu JunSheng, Meng Yu.
1 Chapter 12 File Management Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Display Power Management Policies in Practice Stephen P. Tarzia Peter A. Dinda Robert P. Dick Gokhan Memik Presented by: Andrew Hahn.
Context-aware battery management for mobile phones N. Ravi et al., Conf. on IEEE International Pervasive Computing and Communications,
Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems Authors: Wanghong Yuan, Klara Narhstedt Appears in SOSP 2003 Presented by:
Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
Mehdi Naghavi Spring 1386 Operating Systems Mehdi Naghavi Spring 1386.
Self-Tuning Wireless Network Power Management Manish Anand Edmund B. Nightingale Jason Flinn Department of Electrical Engineering and Computer Science.
Source: IEEE Pervasive Computing, Vol. 8, Issue.4, Oct.2009, pp. 14 – 23 Author: Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N. Adviser: Chia-Nian.
Asaf Cidon. , Tomer M. London
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Chapter 11: The X Window System Guide To UNIX Using Linux Third Edition.
Database System Concepts and Architecture
Implementation Architecture
1 Final Cut Pro X Winter Connections Conference 2012.
Energy Efficiency through Burstiness Athanasios E. Papathanasiou and Michael L. Scott University of Rochester, Computer Science Department Rochester, NY.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
Context Awareness System and Service SCENE JS Lee 1 An Energy-Aware Framework for Dynamic Software Management in Mobile Computing Systems.
FindAll: A Local Search Engine for Mobile Phones Aruna Balasubramanian University of Washington.
Clouds C. Vuerli Contributed by Zsolt Nemeth. As it started.
Institute of Networking and Multimedia, National Taiwan University, Jun-14, 2014.
Versioning Extensions for Linux CS736 Spring 1999 J. Adam Butts Paramjit Oberoi.
Panoptes: A Scalable Architecture for Video Sensor Networking Applications Wu-chi Feng, Brian Code, Ed Kaiser, Mike Shea, Wu-chang Feng (OGI: The Oregon.
Reducing the Energy Usage of Office Applications Jason Flinn M. Satyanarayanan Carnegie Mellon University Eyal de Lara Dan S. Wallach Willy Zwaenepoel.
Microsoft Virtual Server 2005 Product Overview Mikael Nyström – TrueSec AB MVP Windows Server – Setup/Deployment Mikael Nyström – TrueSec AB MVP Windows.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
An energy-aware framework for dynamic software management in mobile computing systems Yunsi Fei, Lin Zhong, and Niraj K. Jha Presented By Vimarsh Puneet.
Virtualization for Cloud Computing
Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.
Scalable Server Load Balancing Inside Data Centers Dana Butnariu Princeton University Computer Science Department July – September 2010 Joint work with.
1 Energy Efficient Communication in Wireless Sensor Networks Yingyue Xu 8/14/2015.
Case study 2 Android – Mobile OS.
Authors: Mateusz Jarus, Ewa Kowalczuk, Michał Madziar, Ariel Oleksiak, Andrzej Pałejko, Michał Witkowski Poznań Supercomputing and Networking Center GICOMP.
Adaptation for Mobile Data Access (DM1 & PL1) Yerang Hur Mar. 24, 1998.
Ch 1. Mobile Adaptive Computing Myungchul Kim
Stealthy Video Capturer: Video- based Spyware in 3G Smartphones Stefan Maurer Liz Ellis.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
ErdOS: An energy-aware social operating system Further Reading: (*) Narseo Vallina-Rodriguez, Pan Hui, Jon Crowcroft, Andrew Rice. “Exhausting Battery.
Low-Power Wireless Sensor Networks
Integrating Fine-Grained Application Adaptation with Global Adaptation for Saving Energy Vibhore Vardhan, Daniel G. Sachs, Wanghong Yuan, Albert F. Harris,
Integrated Support for Handoff Management and Context Awareness in Heterogeneous Wireless Networks ACM MPAC’05.
Research Overview TalkOdyssey - 1 Odyssey Agile, Application-Aware Adaptation for Mobility Kip Walker some slides “borrowed” from Satya.
Informed Mobile Prefetching T.J. Giuli † Christopher Peplin † David Watson †‡ Brett Higgins Jason Flinn Brian Noble †‡
Mobile Middleware for Energy-Awareness Wei Li
JEMMA: an open platform for a connected Smart Grid Gateway GRUPPO TELECOM ITALIA MAS2TERING Smart Grid Workshop Brussels, September Strategy &
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Copyright © 2011, Performance Evaluation of a Green Scheduling Algorithm for Energy Savings in Cloud Computing Truong Vinh Truong Duy; Sato,
OPERETTA: An Optimal Energy Efficient Bandwidth Aggregation System Karim Habak†, Khaled A. Harras‡, and Moustafa Youssef† †Egypt-Japan University of Sc.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Cognitive Radio: Next Generation Communication System
1 Process Migration for Mobile Computing Charles Weddle Willard Thompson February 5, 2004.
Remote Execution to Save Local Energy Compute locally on battery power vs Transmit to wired compute server + Idle in low power mode + Receive results Why.
ECE 751- Cells: A Virtual Mobile Smartphone Architecture Mikkel Nielsen
Overview and Comparison of Software Tools for Power Management in Data Centers Msc. Enida Sheme Acad. Neki Frasheri Polytechnic University of Tirana Albania.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
KAIS T System Support for Mobile, Adaptive Applications Brian Noble, University of Michigan Presented by Hyeeun Choi.
Net-Centric Software and Systems I/UCRC A Framework for QoS and Power Management for Mobile Devices in Service Clouds Project Lead: I-Ling Yen, Farokh.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Virtualization Neependra Khare
Job Scheduling in a Grid Computing Environment
Digital Processing Platform
HC Hyper-V Module GUI Portal VPS Templates Web Console
Agile Application-Aware Adaptation for Mobility
Outline - Energy Management
Presentation transcript:

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: 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. Fidelity is type-specific Odyssey allows each application to specify the fidelity levels it supports. For example, a client playing full-color video data from a server could switch to black and white video when bandwidth drops, rather than suffering lost frames. Similarly, a map application might fetch maps with less detail rather than suffering long transfer delays for full-quality maps. Fidelity has many dimensions. Other dimensions of fidelity depend on the type of data in question. For example, video data has at least two additional dimensions: frame rate and image quality of individual frames. Spatial data, such as topographical maps, has dimensions of minimum feature size or resolution.

Odyssey Architecture Viceroy: Responsible for monitoring the availability of resources and managing their use. Wardens: Encapsulate type-specific functionality. There is one warden for each data type. Odyssey supports concurrent adaptation by diverse applications. The client architecture providing this support is shown in Figure 3. Odyssey is conceptually part of the operating system, even though it is implemented in user space for simplicity. The initial Odyssey prototype only supported network bandwidth adaptation. The work reported here extends Odyssey to support energy adaptation. [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: combines hardware instrumentation to measure current level with kernel software support to perform statistical sampling of system activity. Postprocessing software maps the sample data to program structure and produces a profile of energy usage by process and procedure. PowerScope uses statistical sampling to profile the energy usage of a computer system. profiles are generated in two stages. During the data collection stage, shown in right figure, the tool samples power consumption as well as the program counter (PC) and process identifier (PID) of the code executing on the profiling computer. A digital multimeter samples the current drawn by the profiling computer through its external power input. The output of this stage consists of a sequence of current level samples and a correlated sequence of PC/PID samples. In a later off-line stage, PowerScope combines these sequences with symbol table information from binaries and shared libraries on the profiling computer. The result is an energy profile such as that shown in left figure. [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 Speech Recognition 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 Determine the residual energy A mobile user has an estimate of how long a battery needs to last. Goals: To ensure that Odyssey meets the specified time duration. To provide the best user experience possible. Two requirements: Applications should offer as high a fidelity as possible at all times The user should not be jarred by frequent adaptations. Predict future energy demand A mobile user often has a reasonable estimate of how long a battery needs to last—for example, the expected duration of a flight, commute, or meeting. 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 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 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. The amount by which supply must exceed demand to trigger fidelity improvement is indicative of the level of hysteresis in Odyssey’s adaptation strategy. This value is the sum of two components: a variable component, currently 5% of residual energy, and a constant component, currently 1% of the initial energy available. The variable component reflects our bias toward stability when energy is plentiful and toward agility when it is scarce; the constant component biases against fidelity improvements when residual energy is low. As a guard against excessive adaptation due to energy transients, 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. A simple scheme based on user-specified priorities is used for this. Odyssey always tries to degrade a lower-priority application before degrading a higher-priority one — upgrades occur in the reverse order. Priorities are currently static, but we are implementing an interface to allow users to change priority dynamically, thus offering better control over adaptation.

Example of Goal-Directed Adaptation Application priorities: Web browser Map viewer Video player 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   Modification of HiStar OS running on ARM processor (Android G1) Used to achieve 3 properties of control Isolation Delegation Subdivision

Power Guru: Implementing Smart Energy Management on the Android Platform Implement smart power management app on Android Monitor all apps and their power use 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”? This de facto user interface standard has remained relatively unchanged for a number of years. Convergence is leading to more multi-functional computing devices with the always-on expectation of phones. The opportunities for charging should be predicted to allow devices to determine if they have scarce or plentiful energy, instead of using absolute battery level as the guide

Summary The main goal is to converse energy without affecting usability High level solutions are effective Fidelity adaptation Context-aware battery management Application energy allotment 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, 25-26 Feb 1999 [3] Kravets, Robin; Krishnan, P., "Power Management Techniques for Mobile Communication," MobiCom 1998. pp. 157-168. [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."