Research Overview

Mobile mcc devices nowadays are designed to execute power consuming applications such as behavior/speech recognition, multimedia playback and gaming. These applications increase the requirements on these devices' capabilities in computation, communication, and sensing, and seriously reduce the their battery lifetime. A viable solution to support these applications is Mobile Cloud Computing (MCC), which executes the computation workloads of local mobile devices at the remote cloud. To support remote program execution, MCC needs to transmit the relevant program states between mobile devices and the cloud via wireless networks. Such wireless transmission consumes a large amount of energy and determines the energy efficiency of MCC. The key problem of MCC, hence, is how to minimize the energy while maintaining the mobile application performance.

To deal with this problem, researchers suggested to adaptively partition a mobile application and only migrate the portion that benefits the most for remote execution to the cloud, by solving the problems of i) what to offload, by making decisions of application partitioning and ii) how to offload, by systematically supporting remote code execution through Virtual Machine (VM) synthesis and migration. These traditional solutions, however, are limited to investigating static behaviors and characteristics of mobile programs. On one hand, mobile applications are partitioned based on static analysis of program binaries in a deterministic manner offline, without considering the run-time and dynamic heterogeneity of program executions. On the other hand, these programs are partitioned solely from the application perspective, which reduces the size of program states being transmitted only according to the network bandwidth and programs' computational complexity. They have minimal explorations into the special characteristics of wireless networks, which affect the energy consumption of wireless transmission and have a pivotal role in energy-efficient MCC.

The above limitations of existing schemes motivate this research, which focuses on 1) exploiting critical dynamics in mobile clouds that are indispensable to efficient, prompt, and reliable workload offloading, and 2) investigating, formulating, and mitigating the impact of special characteristics of wireless networks on the energy efficiencyof remote program execution in MCC.

 

Exploitation of System and Network Dynamics

We consider the critical dynamics in mobile clouds in two aspects: i) system dynamics, referring to the run-time heterogeneity of the execution patterns of mobile applications due to the various environmental contexts, and ii) network dynamics, referring to the varying characteristics of wireless network conditions, configurations, and operations. Exploitation of these dynamics, in particular, is important to the widespread of emerging wearable devices such as Google Glass and smartwatches, which need to continuously monitor and promptly react to the situational contexts, e.g., the vocal/gesture inputs from humans or the fluctuations of wireless network connectivity.

First,run-time dynamics appropriate formulation of the dynamic characteristics of run-time application executions is the cornerstone for efficient workload offloading to the remote cloud. We conducted extensive experimental investigations over a large number of realistic Android applications, and discovered that 1) the program methods being executed in multiple application runs significantly differ from each other; 2) the run-time method execution times are heterogeneous. Based on these observations, being different from conventional wisdom which considers such run-time executions as deterministic, my team formulated such executions using an order-k semi-Markov model, which depicts the heterogeneous characteristics of method invocation dependence and method execution times [ICNP14]. This formulation then leads to probabilstic decisions of workload offloading, achieving much higher effectiveness at run-time.

Furthermore,run-time dynamics to apply this analytical model in practice, my team developed systematic techniques of finegrainedworkloadmigration [INFOCOM15]. Being different from traditional schemes which regardlesslymigrate all the memory heap and stack contexts of each program thread to the remote system, my technique ensures that only the memory objects relevant to the corresponding remote method execution aremigrated, by parsing the program bytecodes offline and tracking the applicationmemory contexts at run-time. Hence, it significantly reduces the overhead of workload migration by reducing the amount of program states being migrated. The offloading engine has been implemented and integrated with the Android OS kernel, and can operate over the intact mobile application binaries without requiring programmers' efforts on software redevelopment.

Selected publications:

  1. Code Offload with Least Context Migration in the Mobile Cloud [pdf][slides]
    Yong Li and Wei Gao, in Proceedings of the 34th IEEE Conference on Computer Communications (INFOCOM), 2015.
    (Acceptance Ratio: 316/1640=19%)
  2. A Computation Offloading Framework For Soft Real-time Embedded Systems [pdf]
    Yuchuan Liu, Cong Liu, Xia Zhang, Wei Gao, Liang He, and Yu Gu, in Proceedings of the 27th Euromicro Conference on Real-Time Systems (ECRTS), 2015.

  3. On Exploiting Dynamic Execution Patterns for Workload Offloading in Mobile Cloud Applications [pdf][slides]
    Wei Gao, Yong Li, Haoyang Lu, Ting Wang, and Cong Liu, in Proceedings of the 22nd IEEE Int'l Conference on Network Protocols (ICNP), 2014.
    (Acceptance Ratio: 32/160=20%)

 

Network-Centric Mobile Cloud Computing

We consider the special characteristics of wireless networks that may impact the energy efficiency of MCC in two aspects: i) long-tail problem at the wireless interface, i.e., the cellular radio interface stays in the high-power state for some time after each data transmission, and ii) quality of the wireless link, which may be highly dynamic due to various environmental factors. My work incorporates both aspects to ensure that each program state is transmitted to the cloud in the most energy-efficient manner.

First, my team developed efficient techniques and distributed algorithms to reduce the energy consumed during tail times with respect to the performance requirements of mobile applications. Existing work reduces the tail energy by deferring transmissions of program states and sending them as bundles, but greatly increases the response time of mobile applications.To address this problem, we first propose to decide whether a mobile program should be executed locally or remotely, to minimize the energy consumption without deferring the program execution. Such decision is made according to the amount of tail energy incurred by the transmission of program states [ICNP15]. Afterwards, based on these decisions of remote program execution, we further reduce the tail energy by deferring the execution of a mobile application within its delay constraint and scheduling the transmissions of program states accordingly. Such scheduling can be done by either an offline dynamic programming algorithm that ensures the global optimality, or an online probabilistic algorithm based on predictions of program executions [INFOCOM16].

Second, our research aims to mitigate the impact of wireless link quality on both energy and performance in MCC. When the wireless link quality degrades, the amount of data being transmitted via wireless links will be limited to save energy. In this case, we preserve the mobile application performance by only transmitting the most important program states and maximizing the amount of mobile programs being executed at the remote cloud. Being different from existing work which determines the importance of a program state solely from the program's computational complexity, we will develop fine-grained program parsing techniques to evaluate the importance
of each memory field in a program state to executing other programs. Application partitioning strategy will then be developed based on the importance of program states.

Selected publications:

  1. Interconnecting Heterogeneous Devices in the Personal Mobile Cloud [pdf]
    Yong Li and Wei Gao, in Proceedings of the 36th IEEE Conference on Computer Communications (INFOCOM), 2017.
    (Acceptance Ratio: 292/1395=20.9%)

  2. Application-Aware Traffic Scheduling for Workload Offloading in Mobile Clouds [pdf][slides]
    Liang Tong and Wei Gao, in Proceedings of the 35th IEEE Conference on Computer Communications (INFOCOM), 2016.
    (Acceptance Ratio: 300/1644=18.25%)

  3. Energy-Efficient Computation Offloading in Cellular Networks [pdf]
    Yeli Geng, Wenjie Hu, Yi Yang, Wei Gao and Guohong Cao, in Proceedings of the 23rd IEEE International Conference on Network Protocols (ICNP), 2015.
    (Acceptance Ratio: 38/187=20.3%)


Acknowledgement

This project is supported in part by the U.S. National Science Foundation (NSF) under the grants CNS-1456656 (project website) and CNS-1526769 (project website). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.