Optimising Energy Consumption Heuristically on Android Mobile Phones

5 downloads 59574 Views 2MB Size Report
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