AndroidOff: Offloading Android Application Based on Cost Estimation
Xing Chen,Jiaqing Chen,Bichun Liu,Yun Ma,Ying Zhang,Hao Zhong
DOI: https://doi.org/10.1016/j.jss.2019.110418
2019-01-01
Abstract:Computation offloading is a promising way of improving the performance and reducing the battery power consumption, since it moves some time-consuming computation activities to nearby servers. Although various approaches have been proposed to support computation offloading, we argue that there is still sufficient space for improvements, since existing approaches cannot accurately estimate the execution costs. As a result, we find that their offloading plans are less optimized. To handle the problem, in this paper, given an Android application, we propose a novel approach, called ANDROIDOFF, that supports offloading at the granularity of objects. Supporting such capability is challenging due to the two reasons: (1) through dynamic execution, it is feasible to collect the execution costs of only partial methods, and (2) it is difficult to accurately estimate the execution costs of the remaining methods. To overcome the challenges, given an Android application, ANDROIDOFF first combines static and dynamic analysis to predict the execution costs of all its methods. After all the costs are estimated, ANDROIDOFF synthesizes an offloading plan, in which determines the offloading details. We evaluate ANDROIDOFF on a real-world application, with two mobile devices. Our results show that, compared with other approaches, ANDROIDOFF saves the response time by 8%-49% and reduces the energy consumption by 12%-49% on average for computation-intensive applications. (C) 2019 Elsevier Inc. All rights reserved.