Power Guru: Implementing Smart Power Management on the Android PlatformWritten 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 ApproachesAp
ple • 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
Goog
le • 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 GuruThe 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 thebattery status, but not the CPU, screen, radio orother resource usage.
The three parts
GUI
Data Collector
Algorithms
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 emails,…
• 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
• Email is the only running application
Case 2
• Email• Camera• Music• Google
Maps
Case 3
• Email• YouTube• UStream• Gaming
Case 4
• Email• Some
other application
• Power Guru
Results
Case 1: 20% in 14 hoursCase 2: more than 40% in 4 hours (music)Case 3: more than 60% in just 30 minutes (Ustream)
The built-in Settings App
The built-in Settings App
Some Correlation
Some Correlation
YouTube is missing!
With Power Guru- Camera (85), suggest (114)- Gaming ran for 35 mns- Ustream ran for less than 25
mns- Email 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 YouWritten by Raef Mchaymech
f
Top Related