IC-Cloud: Computation Offloading to an Intermittently-Connected Cloud
MetadataShow full item record
Offloading computation-intensive components of mobile applications to the cloud is of great potential to speedup the execution and reduce the energy consumption for mobile devices. The gain from computation offloading is typically counterbalanced by communication costs and delays. It is, therefore, important to undertake offloading decisions based on future prediction of Internet access timeliness and quality. Previous approaches have considered this question under the assumption that network connectivity is relatively stable. In this paper, we present IC-Cloud, a computation-offloading system for mobile environments where Internet access to remote computation resources is of highly variable quality and often intermittent. IC-Cloud uses three key ideas: lightweight connectivity prediction, lightweight execution prediction and prediction use in a risk controlled manner tomake offloading decisions. Our connectivity-prediction method only uses the signal strength and user historical information to obtain a coarse-grained estimation of the network access quality. Our execution-prediction mechanism uses machine learning on dynamic program features to automatically, efficiently, and accurately predict the execution time of offloadable tasks, both on the phone and in the cloud. Acknowledging the uncertainties in these predictions, we propose a risk-control mechanism to reduce the impact of inaccurate predictions. We implemented IC-Cloud on Android and tested the system with different applications in various types of mobile environment. Results we obtained from the prototype show speedup and energy consumption reduction benefits in many computational contexts and intermittent connectivity environments.