MALMOS: Machine Learning-Based Mobile Offloading Scheduler with Online Training

This paper proposes and evaluates MALMOS, a novel framework for mobile offloading scheduling based on online machine learning techniques. In contrast to previous works, which rely on application-dependent parameters or predefined static scheduling policies, MALMOS provides an online training mechanism for the machine learning-based runtime scheduler such that it supports a flexible policy that dynamically adapts scheduling decisions based on the observation of previous offloading decisions and their correctness. To demonstrate its practical applicability, we integrated MALMOS with an existing Java-based, offloading-capable code recapturing framework, Partner. Using this integration, we performed quantitative experiments to evaluate the performance and cost for three machine learning algorithms: instance-based learning, perception, and naive Bays, with respect to classifier training time, classification time, and scheduling accuracy. Particularly, we examined the adaptability of MALMOS to various network conditions and computing capabilities of remote resources by comparing the scheduling accuracy with two static scheduling cases: threshold-based and linear equation-based scheduling policies. Our evaluation uses an Android-based prototype for experiments, and considers benchmarks with different computation/communication characteristics, and different computing capabilities of remote resources. The evaluation shows that MALMOS achieves 10.9%~40.5% higher scheduling accuracy than two static scheduling policies.

[1]  Chi-Sheng Shih,et al.  Executing mobile applications on the cloud: Framework and issues , 2012, Comput. Math. Appl..

[2]  Eli Tilevich,et al.  Energy-Efficient and Fault-Tolerant Distributed Mobile Execution , 2012, 2012 IEEE 32nd International Conference on Distributed Computing Systems.

[3]  Carlos A. Varela,et al.  Light-weight adaptive task offloading from smartphones to nearby computational resources , 2011, RACS.

[4]  Jordi Torres,et al.  Towards energy-aware scheduling in data centers using machine learning , 2010, e-Energy.

[5]  Songqing Chen,et al.  Mobile MapReduce: Minimizing Response Time of Computing Intensive Mobile Applications , 2011, MobiCASE.

[6]  Henri E. Bal,et al.  Cuckoo: A Computation Offloading Framework for Smartphones , 2010, MobiCASE.

[7]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[8]  Richard Wolski,et al.  The network weather service: a distributed resource performance forecasting service for metacomputing , 1999, Future Gener. Comput. Syst..

[9]  Ying Zhang,et al.  Refactoring android Java code for on-demand computation offloading , 2012, OOPSLA '12.

[10]  Xu Chen,et al.  COMET: Code Offload by Migrating Execution Transparently , 2012, OSDI.

[11]  Ellen W. Zegura,et al.  Serendipity: enabling remote computing among intermittently connected mobile devices , 2012, MobiHoc '12.

[12]  Alan Messer,et al.  Adaptive offloading inference for delivering applications in pervasive computing environments , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[13]  Mahadev Satyanarayanan,et al.  Balancing performance, energy, and quality in pervasive computing , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[14]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[15]  Pierre St. Juste,et al.  OpenCL-Based Remote Offloading Framework for Trusted Mobile Cloud Computing , 2013, 2013 International Conference on Parallel and Distributed Systems.