Presentation on theme: "Energy-Aware Adaptation for Mobile Applications"— Presentation transcript:
1Energy-Aware Adaptation for Mobile Applications Aida VosoughiBritt Antley
2Conserving Energy in Mobile Devices There has always been a desire to conserve energy in devices reliant on their batteryFirst approaches dealt with purely hardware solutionsSoon realized that this would not be enoughOS needed to interact with hardware to achieve more efficient energy usageNeeded to consider higher level approach and thus software solutions began to be explored
3Adaptive Disk Spin-Down Monitors the spin-down threshold and adjusts it to keep a balance between energy consumption and unacceptable spin-ups.Wireless Communication SuspensionTransport Layer Protocol (TLP) that conserves power by choosing short periods of time to suspend communicationsCollaboration between TLP and mobile host to enable queuing of data when communication is suspendedUp to 83% communication power savings, resulting in overall savings of 6-9% in laptops and 40% mobile device
4Energy-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 scarceUse more energy otherwise (better user experience)OS is monitoring the energy and guide the applications to yield a battery-life of interest
5Odyssey 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 tradeoffsAdaptation 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-specificOdyssey allows each application to specify the fidelity levels it supports.For example, a client playing full-color video data from aserver could switch to black and white video when bandwidthdrops, rather than suffering lost frames. Similarly, amap application might fetch maps with less detail rather thansuffering long transfer delays for full-quality maps.Fidelity has many dimensions. Other dimensions offidelity depend on the type of data in question. For example, videodata has at least two additional dimensions: frame rate and imagequality of individual frames. Spatial data, such as topographicalmaps, has dimensions of minimum feature size or resolution.
6Odyssey ArchitectureViceroy: 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 isshown in Figure 3. Odyssey is conceptually part of the operatingsystem, even though it is implemented in user spacefor simplicity.The initial Odyssey prototype only supported networkbandwidth adaptation. The work reported here extendsOdyssey to support energy adaptation. J. Flinn and M. Satyanarayanan. Energy-aware adaptation for mobile applications.
7PowerScope 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 energyusage of a computer system. profilesare generated in two stages. During the data collectionstage, shown in right figure, the tool samples power consumptionas well as the program counter (PC) and process identifier(PID) of the code executing on the profiling computer. Adigital multimeter samplesthe current drawn by the profiling computer through itsexternal power input.The output of this stage consists of a sequence of currentlevel samples and a correlated sequence of PC/PID samples.In a later off-line stage, PowerScope combines thesesequences with symbol table information from binaries andshared libraries on the profiling computer. The result is anenergy profile such as that shown in left figure. J. Flinn and M. Satyanarayanan, "PowerScope: a tool for profiling the energy usage of mobile applications”
8ExperimentsQuestion: Does lowering data fidelity lead to better energy savings?
9QuickTime Video Speech Recognition 35% reduction through hardware management, compression, and reduced window sizeSpeech Recognition69-80% reduction mainly through lower fidelity and turning off screen & network
10Map Viewer46-70% reduction by hardware filtering (most efficient by removing minor and secondary roads) & croppingWeb Browser29-34% reduction by hardware fidelity reduction
11Zoned Backlighting Selectively control lighting on parts of screen Break screen into multiple "zones" which can be lit or not based on needTheoretical power savings of up to 50%
12Goal-Directed Energy Adaptation Determine the residual energyA 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 timesThe user should not be jarred by frequent adaptations.Predict future energy demandA mobile user often has a reasonable estimate of how long abattery needs to last—for example, the expected duration ofa flight, commute, or meeting.Decide if applications should change fidelity
13Odyssey: 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 fidelityApplication-specific logging/training: randomly sample the fidelity space and recording energy consumption at each sample pointOffline/Online learning: using machine learning algorithmsSimplest such predictor is linear. (E= c0 + c1S+ c2fS, where S is a constant = e.g. size of image and f is fidelity)
14Odyssey: 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 strategyBias 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 totrigger fidelity improvement is indicative of the level of hysteresisin Odyssey’s adaptation strategy. This value is thesum of two components: a variable component, currently5% of residual energy, and a constant component, currently1% of the initial energy available. The variable componentreflects our bias toward stability when energy is plentiful andtoward agility when it is scarce; the constant component biasesagainst fidelity improvements when residual energy islow. As a guard against excessive adaptation due to energytransients, Odyssey caps fidelity improvements at a maximumrate of once every 15 seconds.When multiple applications are executing concurrently,Odyssey must decide which to notify. A simple schemebased on user-specified priorities is used for this. Odysseyalways tries to degrade a lower-priority application beforedegrading a higher-priority one — upgrades occur in the reverseorder. Priorities are currently static, but we are implementingan interface to allow users to change priority dynamically,thus offering better control over adaptation.
15Example of Goal-Directed Adaptation Application priorities:Web browserMap viewerVideo playerSpeech recognizer
16Modern Implementations Focus on uses in modern mobile OS
17Energy Management in Mobile Devices with the Cinder Operating System Controlling energy allocation is crucial feature for mobile OS'sIntroduces abstraction of reserves and tapsModification of HiStar OS running on ARM processor (Android G1)Used to achieve 3 properties of controlIsolationDelegationSubdivision
18Power Guru: Implementing Smart Energy Management on the Android Platform Implement smart power management app on AndroidMonitor all apps and their power useGive user suggestion on which apps to kill to optimize battery lifeApps are given Power Rating based on their CPU utilization and hardware usageUser can Prioritize certain apps to not be killed and other apps are ranked based on Power Rating
19Context-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
20SummaryThe main goal is to converse energy without affecting usabilityHigh level solutions are effectiveFidelity adaptationContext-aware battery managementApplication energy allotmentGiving user suggestions for power savings
21References Jason Flinn and M. Satyanarayanan Energy-aware adaptation for mobile applications. In Proceedings of the seventeenth ACM symposium on Operating systems principles (SOSP '99). ACM, New York, NY, USA, Flinn, J.; Satyanarayanan, M.; , "PowerScope: a tool for profiling the energy usage of mobile applications," Mobile Computing Systems and Applications, Proceedings. WMCSA '99. Second IEEE Workshop on , vol., no., pp.2-10, Feb 1999 Kravets, Robin; Krishnan, P., "Power Management Techniques for Mobile Communication," MobiCom pp 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 Ravi, N.; Scott, J.; Lu Han; Iftode, L.; , "Context-aware Battery Management for Mobile Phones," Pervasive Computing and Communications, PerCom Sixth Annual IEEE International Conference on , vol., no., pp , March 2008 D. Narayanan, J. Flinn, and M. Satyanarayanan 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 Brian Noble, M. Satyanarayanan, and Morgan Price 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, Brian D. Noble, M. Satyanarayanan, Dushyanth Narayanan, James Eric Tilton, Jason Flinn, and Kevin R. Walker "Agile application-aware adaptation for mobility". SIGOPS Oper. Syst. Rev. 31, 5 (October 1997)  Unelsroed, Hans Fredrik; Roeine, Per Christian; Ghani, Fahad. "Power Guru: Implementing Smart Power Management on the Android Platform."