1. Developers lack understanding of the energy consumption. 2. Different strategies for mobile devices and PCs. 3. Balancing the trade-off between energy and.
Optimising Energy Consumption Heuristically on Android Mobile Phones Mahmoud A. Bokhari, Markus Wagner
Background Number of smartphone users ~2 billion
Users expect
Reality
Software Engineering Challenges Typical challenges 1. Developers lack understanding of the energy consumption 2. Different strategies for mobile devices and PCs 3. Balancing the trade-off between energy and performance for designers
"Empowering Young People for Peace and Fulfillment of Humankind's Potential"
Our Optimisation Objectives First • Parameter optimisation (settings, schedules, …) Second • Source code evolution Holy grail • Everything on the phone 5
Problems 1/3: Power Metering Metering techniques • External meter: directly measures the current drawn by a smartphone • Voltage-based: monitoring voltage level over periods of time • Self-metering: smartphone is equipped with “fancy” battery fuel gauge chip (e.g. Nexus 6/9 with MAX17050) 6
Problems 2/3: Power Modelling Modelling techniques • Utilisation models main assumption: energy usage and utilisation are correlated • Events-based models correlate energy usages and events that trigger power state changes of a component (enables tail-states)
7
…
… [values in mA]
Problems 3/3: Hardware/Software • Not everything is documented • API/HW change over time • Android OS is “smart”, and we have to make it dumber • Do not always trust the API • If you are not getting an error message, then you might still doing something wrong…
First results: screen (Nexus 9) *Test protocol* 1. Charge to max (!) 2. Restart (!) 3. Put on designated spot (!) 4. Run experiment (additional steps (!))
Slope gives you the current, and the resulting numbers are a reasonable match of Android’s power profile. Interesting: Android’s “adb report” derives estimates consumption, but notices a mismatch between ”estimated” and “observed” (based on voltage readings)
More results: screen (Nexus 6)
This year Progress of the last 6 months: test bed for energy measurements, screen consumption measured (read: fitness function) Immediate to-do: cross-validation with external meter Next: energy profiles for several components (utilisation-based / event-based / …) 2017: optimisation, expect to hear from us J