Reinforcement Learning for Energy-Efficient Cloud Offloading of Mobile Embedded Applications
摘要
Offloading mobile computations is an innovative technique that is being explored to reduce energy consumption in mobile devices and minimize application response time. Offloading refers to the act of transferring computations from a mobile device to servers in the cloud. We believe that the effect of different wireless network technologies such as 3G, 4G, and Wi-Fi on the performance of offloading is a major concern that needs to be addressed. Network selection is one of the many challenges with offloading that prevent it from being adopted in the design of current mobile architectures. In this chapter, we study the behavior of real smartphone applications, in both local and offload processing modes. Our experiments identify the advantages and disadvantages of offloading for various mobile networks. Further, we propose a middleware framework that uses reinforcement learning to make reward-based offloading decisions. Our unsupervised machine learning framework allows a smartphone to consider suitable contextual information to determine when it makes sense to offload and to select between available networks when offloading. We tested our framework in both simulated and real environments, across various applications, to demonstrate how energy consumption can be minimized in mobile embedded systems that are capable of supporting offloading to the cloud.