Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
SSIA SUMMIT October 2014 Advanced Bridging Technologies Hold Key to Finally Making Smart Homes a Reality Fred Dart – FTDI Chip.
CTIA Industry Standards for Estimating Battery Life
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Objectives Overview Define an operating system
System Software © 2013 The McGraw-Hill Companies, Inc. All rights reserved.Computing Essentials 2013.
Chan pak lim chau ho chit cheung tak ching yip pak ho g2
DEPARTMENT OF COMPUTER ENGINEERING
Mobile Application Development
Optimize tomorrow today. TM 1 Optimize tomorrow today. Arlene Minkiewicz, Chief Scientist PRICE Systems, LLC Software.
Lu Cheng (l ). Power Consuming Services Android and iPhone support energy hungry network services 2G/3G: the two-way radio system for long range.
Executive Dashboard Systems Secure CITI Adam Zagorecki April 30, 2004.
NEW PRODUCT INTRODUCTION: SalesLink TOUCH April 2015.
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems System Software Chapter 4.
Introduction to Android Platform Overview
Native vs hybrid vs web mobile Application
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Android Introduction Based on slides made by
CS378 - Mobile Computing App Project Overview. App Project Teams of 2 or 3 students Develop an Android application of your choosing subject to instructor.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Operating Systems  A collection of programs that  Coordinates computer usage among users  Manages computer resources  Handle Common Tasks.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Evaluating Impact of Storage on Smartphone Energy Efficiency David T. Nguyen.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Computing Essentials 2014 System Software © 2014 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not authorized.
Explain the purpose of an operating system
ReCapture A Pattern-aware Benchmark Tool for Smartphones.
Y. Kotani · F. Ino · K. Hagihara Springer Science + Business Media B.V Reporter: 李長霖.
GEOREMINDERS ANDROID APPLICATION BY: ADRIENNE KECK.
Event Management & ITIL V3
Leave Me Alone: App-level Protection Against
Principles on evaluating FIWARE relevance for Phase 3 proposals.
Folio3 IPhone Training Session 1 Presenter: Imam Raza.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Chapter 9 Operating Systems Discovering Computers Technology in a World of Computers, Mobile Devices, and the Internet.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Chapter 2 – Part 1 Introduction To Windows Operating Systems CMPF 112 : COMPUTING SKILLS.
© 2012, Toshiba India Private Limited. Toshiba Eco Utility.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (1) The Operating System.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
A Software Energy Analysis Method using Executable UML for Smartphones Kenji Hisazumi System LSI Research Center Kyushu University.
| Mobile Accessibility Development Making an Accessible App Usable Scott McCormack.
System Software (1) The Operating System
OPERATING SYSTEMS DO YOU REQUIRE AN OPERATING SYSTEM IN YOUR SYSTEM?
CHAPTER 2 COMPUTER SOFTWARE. LEARNING OUTCOMES At the end of this class, students should be able to:  Explain the significance of software  Define and.
How to Use an Android Tablet Well Come To You few Steps For How to Use an Android Tablet?
3 main operating system! BY Charlotte Oates. Microsoft windows! A family of operating systems for personal computers. Windows dominates the personal computer.
CHAPTER 7 Operating System Copyright © Cengage Learning. All rights reserved.
Mobile Application Do you aware from available features of android mobile application
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
By: Amol Kokje Tosha Shah Raymond Tyler. Outline of Presentation Motivation Goals Methodology Application Flow What we have done To do Possible extensions.
DISCOVERING COMPUTERS 2018 Digital Technology, Data, and Devices
System Software Chapter 4.
Outline Introduction Related Work
Mobile Application Development
Materials and Methods (Continued)
RR RR Problems Along With Solutions For iPhone And iPad Toll Free ( )
OPERATING SYSTEMS.
Chapter 4.
International Symposium on Microarchitecture. New York, NY.
Application Development A Tutorial Driven Course
Virtual Memory: Working Sets
Presentation transcript:

Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech

Overview Introduction Motivation Solution Current Approaches Current Solutions and Researches Proposed Approach The Power Guru Conclusion and Future Directions

Introduction The smartphones now are manufactured with tandem to the rapid technological advancements to benefit from these technologies. So we see the mobiles always compatible with technologies, such as: With These Technologies: Indeed, Mobile devices have progressively become more powerful. BUT THESE ARE POWER HUNGRY TECHNOLOGIES Thus Mobile devices have become more and more power-inefficient too

Motivation The Technologies are rapidly evolving, and the smartphones are keeping up with this evolution. This keeping up exists because that the hardware embodied within the mobile devices are rapidly evolving too CPU Screen Radios Memory But the Battery technology –From a Hardware Perspective- could not keep up with these technologies So the need for mechanisms that manage the usage of battery in smart ways

The Solution The authors’ contribution is on the application layer and not a physical solution They saw that the key is: in handling multitasking on a device Monitoring the running processes Investigating background processes Etc… The suggested approach is considered a novel one comparing to existing solutions So I will represent current approaches before detailing the proposed solution

Current Approaches Apple iOS only supports multitasking of a few apps that come with the system no other applications are allowed to run in the background Palm WebOS supports multi-tasking of all applications gives the user a graphical way to view all currently running applications Google Android as WebOS supports multi-tasking does not include a graphical way for the user to view/kill running applications Google claims that it kills unneeded processes automatically

Current Solutions and Researches Installing task managers to overcome the problem Current task managers show the running processes The user then can take a decision to kill some processes This solution is not optimal for any user, especially for novice users Most of the research done on power management has focused on hardware solutions and software that turns off hardware features The solutions that are in the non application layer are very unobtrusive to the user E.g. optimizing the use of each CPU cycle, memory management, screen brightness

The Proposed Approach The Current approaches lack an automatic decision making They don’t suggest to the user which process to kill The authors addressed the problem with a more user-friendly application The Power Guru app: Work on asking the user to prioritize some applications Classify the running processes based on their power consumption Display the remaining battery time Suggest to the user an application to kill and estimate what would be the remaining time if the app is killed

Power Guru The app is developed on a device running the android 1.6 firmware, using the APIs exposed by Google. The APIs services for getting information about the battery status, but not the CPU, screen, radio or other resource usage.

The three parts GUIData CollectorAlgorithms The GUI is very simple: apps arranged in list, so the user Can prioritize some apps. The prioritized apps are moved to a list for prioritized applications Always the remaining battery time is displayed

Data Collector For better estimation, Power Guru must be provided with data about the battery status, CPU usage and preferably information about radio, screen and other hardware usage The current implementation only collects battery and CPU info: To get Battery info, the app was registered as a receiver to the “ACTION BATTERY CHANGED” notifications. In android there is no OS notification to get CPU usage for each application: background service that parses the ”/proc/1234/stat” UNIX file is used This file shows all processes and how much CPU time each one has used

Algorithms Battery estimation algorithm Application to kill suggestions algorithm

Battery estimation algorithm First the algorithm assumes that a fully charged device with no load will last for 300 hours. CPU loads, remaining time This linear correlation is inaccurate: There exist other things that impact the battery life The battery might not discharge linearly Since it’s for estimation purposes, it gives reasonable results

Application to kill suggestions algorithm Select the most power hungry running application (not prioritized) currently running Calling the former algorithm, it estimates what the remaining battery life would be if the chosen app is killed Repeating until the additional improvement in battery life by killing another application is less than 5%.

Evaluation

Issues with testing There are several issues associated with using battery time as a metric: It is a time consuming effort The emulator does not have any support for battery battery discharge is not a very accurate indicator of how the battery is being used E.g. Display may kept turn on linger, burst of s,… The phone falls into idle state on an irregular basis These tests are not representative of the actual usage of a phone by real users E.g. Phone calls are not taken into account

Testing Conditions On android 1.6 firmware On HTC G1 phone Data are gathered from the built-in settings and not some third party apps A drawback when using the built-in settings, i.e. not all the applications are shown in the list. E.g. both Camera and Music applications are clubbed under a single name of ’Media Server’ Wi-Fi was kept turned on In the result (below), the category called Others include processes that could not be killed. E.g. Android OS, Display, Core apps…

4 Test Cases Case 1 is the only running application Case 2 Camera Music Google Maps Case 3 YouTube UStream Gaming Case 4 Some other application Power Guru

Results Case 1: 20% in 14 hours Case 2: more than 40% in 4 hours (music) Case 3: more than 60% in just 30 minutes (Ustream)

The built-in Settings App

Some Correlation

YouTube is missing!

With Power Guru -Camera (85), suggest (114) -Gaming ran for 35 mns -Ustream ran for less than 25 mns - and Browser never suggested to be killed

Conclusion and Future Directions Conclusion: Power Guru makes task management easier to do for novice users, by having them select the applications they know they want to use instead of asking them to select all the applications they don’t want to use. Future Works: Use machine learning to improve the estimate for each battery cycle Adding information to the algorithms about screen and radio usage in addition to the already present CPU information would lead to more accurate selections and battery time estimations

Thank You Written by Raef Mchaymech