Lightweight energy estimation framework for smart-phone applications using static analysis / Raja Wasim Ahmad - Raja Wasim , Ahmad (2017)
Recently, the preference of users has shifted the computational platform to resource constrained smart-phone devices as users prefer to work while on the go. The shift of information access paradigm on smart-phone devices demand high functionality applications to enrich user experience. However, increasing applications functionality requires more smart-phone resources. As a result, smart-phone battery consumption increases. Smart-phone application energy estimation investigates energy consumption behavior of smart-phone applications at diversified granularity levels when it is run on the smart-phone device. Traditional energy estimation schemes consider smart-phone component’s power measurement or code analysis methods for energy estimation of smart-phone applications. Code analysis based methods use energy cost of operations within an application to estimate energy consumption. However, smart-phone applications are non-deterministic in nature. Therefore, traditional code analysis based energy estimation schemes run the smart-phone application to record the execution paths in offline mode to estimate its energy consumption. However, running application on hardware platform inefficiently utilizes underlying hardware resources that lead to extended estimation time and energy estimation overhead. To overcome this issue, this study proposes a lightweight 2-tier static analysis based energy estimation framework to minimize high energy overhead of dynamic analysis based energy estimation methods. The proposed framework, called Static analysis based lightweight energy estimation framework (SA-LEEF), proposes storage location analyzer, ARM-IS energy profile as service, and weighted probability based execution paths estimation to handle non-deterministic nature of smart-phone applications. Moreover, the proposed framework considers the energy overhead due to cache eviction during concurrent programs execution on the smart phone device to present more realistic application execution environment for energy estimation. It also considers user system interaction to input required data during application execution on the smart-phone device to improve the energy estimation accuracy. The proposed framework empowers application developers to estimate energy consumption at source code line, functions, execution paths, and application granularity. The proposed study has performed experiments on Google Nexus One smart-phone device to highlight the effectiveness of SA-LEEF framework. The experiments revealed that SA-LEEF has minimized energy estimation time of dynamic analysis methods by 98% for benchmark applications. In terms of energy overhead, SA-LEEF consumes up to 97% less energy than dynamic analysis based energy estimation method. The accuracy of SA-LEEF is up to 88% compared to external physical measurement method. It is also noticed that SA-LEEF consumes 58% less CPU and 97% lower RAM storage during energy estimation of a smart-phone application. SA-LEEF assist developers investigating energy consumption behavior of their application at earlier development stages as it estimates energy consumption based on fine granular instruction energy cost.