Mobile applications are becoming increasingly computation-intensive, while the computing capacity of mobile devices is limited. A powerful way to reduce completion time of an application is to offload tasks to the cloud for execution. However, online offloading an application with general taskgraph is a difficult task. In this paper we present an online task offloading algorithm that minimizes the completion time of the application on the mobile device. We take cloud service time into account when making an offloading decision and we consider general taskgraphs for offloading. In our algorithm, for sequential tasks (i.e., line topology taskgraphs) we find the optimal offloading of tasks to the cloud. For concurrent tasks (i.e., general topology taskgraphs) we use a load-balancing heuristic to offload tasks to the cloud, such that the parallelism between the mobile and the cloud is maximized. Simulation results show that our algorithm has a performance of at least 85% of the optimal solution, and is significantly better than other existing algorithms.
展开▼