Energy Profiling & Control for Android Devices




Murmuria, Rahul

Journal Title

Journal ISSN

Volume Title



Nowadays, smart-phone devices provide increased accessibility and they are equipped with a wealth of standard capabilities including but not limited to touchscreen display, WiFi communications, bluetooth, audio, and GPS. These increased capabilities enable users to perform activities that go beyond mere phone calls: Internet browsing, email, games, pic- tures, audiobooks are just a few of the growing list of functionality that is currently sup- ported by modern phones. Unfortunately, this increased functionality has high resource consumption requirements that incurs a direct impact on the battery life of all hand-held devices. Google’s build-in battery display employs a simple, linear model to calculate the energy requirements of the active devices. Moreover, Android does not provide any mecha- nisms to control or even meter the resource utilization for individual processes and devices. The existing model appears to be inadequate in providing proper component based analysis for battery consumption such that it is possible to profile and control applications based on their device usage pattern. In this thesis research, we will attempt to provide a more precise model of measuring and policing the power consumption in Android-equipped hand-held devices. To that end, we plan to design and implement a kernel subsystem to calculate and assign live adaptive weights to each hardware device component within the Linux kernel. Our approach will use moving averages to identify the relative impact of each device usage on the battery consumption curve. This will be done taking into consideration other factors including but not limited to change in temperature and heat over time. In addition, we will further provide mechanisms to estimate the battery consumption of each application and/or each type of task in the Dalvik VM and in the Kernel. Our goal is to enable the user to maximize the availability of critical functions like, for instance, making calls and minimize the use of battery consuming tasks like, for instance, continuous GPS location updates on Google Maps.



Android, Provisioning, Energy profiling, Linux kernel, Resource metering, Wakelocks