Prof. K.P. (Suba) Subbalakshmi

Cognitive Mobile Cloud Offloading

With the advent of 5G technology, the expectation of the mobile users for anywhere, anytime, content rich experience will see a significant increase. Parallely, the mobile devices themselves are getting smaller and lighter, with the expectation that computationally intensive applications will be offloaded to a remote cloud. Offloading applications will also cause an increase in the load on the wireless backhaul. Given that mobile web traffic has increased significantly and is expected to continue to do so for the foreseeable future implies that computation offloading will add to the burden on the wireless networks. In order to allow these competing goals to meet in the middle and to meet the promise of 5G mobile computing, it is essential for mobile offloading to use the recent advances in cognitive radio networking. Cognitive radio network is seen as an integral part of the 5G promise. The future of mobile computing lies in a holistic approach to spectrum management and cloud offloading.

 

Cloud Offloading for Components with Pre-determined, Serial Component Dependency Graphs over Multi-Radio Enabled Mobile Devices

Recently we proposed a solution for complex multi-component applications that optimally decides which components of the application to offload and which to execute locally, while simultaneously optimizing the percentage of data (associated with this offloading) to be sent via each radio interface in a multi-RAT enabled mobile device.

 An example of application offloading to the cloud. In this figure, the dots represent components of the application. There are 6 components in this application. Components 1,2, 4, and 6 run on the device, whereas components 3 and 5 are executed in the cloud. Two radio links are available to the mobile device for offloading components to the cloud and the diagram shows the ratio of data that is sent via each radio interface. The terms active (idle) components refers to the components that are executed (or not) in that particular entity, mobile device or the cloud.    

 Fig1: An example of application offloading to the cloud. In this figure, the dots represent components of the application. There are 6 components in this application. Components 1,2, 4, and 6 run on the device, whereas components 3 and 5 are executed in the cloud. Two radio links are available to the mobile device for offloading components to the cloud and the diagram shows the ratio of data that is sent via each radio interface. The terms active (idle) components refers to the components that are executed (or not) in that particular entity, mobile device or the cloud.


We develop a comprehensive model for the energy consumed by the mobile device, including energy expended in communicating relevant data between the cloud and the device. We set up the computation offloading problem as a joint optimization to minimize the energy consumed on the device while at the same time maximizing the radio resources available to the device, under two constraints: (1) the total run time deadline of the application and (2) the maximum flow rate constraint on the radio resources. Since this optimization problem is non-linear and hence computationally intense, we also propose an iterative algorithm that converges to a local optimum. Simulations on an HTC phone, running a 14-component application and using the Amazon EC2 as the cloud, show that the solution obtained through the iterative algorithm consumes only 3% more energy than the optimal solution (obtained via exhaustive search). More details of this work can be accessed here.


Optimal Joint Scheduling and Cloud Offloading for Mobile Applications


In the previous section [1], we assumed that components of the applications are serially processed according to some compiler pre-determined order of traversal for multi-radio enabled mobile devices. In this part, we address the problem of cloud offloading for mobile applications with arbitrary  dependency graphs rather than sequential dependencies or compiler predetermined schedule order. To this end, we must consider wireless aware scheduling of the application components jointly with the offloading strategy. We maximize a net utility function, which trades-off the energy saved at the resource constrained device with the time and energy costs involved in offloading while meeting the precedence constraints and execution deadline of the application in single radio enabled mobile devices [2]. To the best of our knowledge, this is the first work that proposes joint scheduling–offloading for mobile applications. By optimizing the scheduling of the individual components along with cloud offloading decisions, taking into account the wireless parameters, allows for an overall better solution compared to optimizing only the offloading decisions using a pre-determined compiler-generated schedule order of execution for the individual components. Besides, using the general dependency graphs (without imposing a sequential ordering for processing) and an optimal joint scheduling–offloading (JSCO) scheme can potentially allow for parallel scheduling of components in the mobile and cloud at the same time, thus reducing time to completion for the application. Experiments using real data gathered from an HTC phone and Amazon EC2 cloud services over WiFi and LTE showed that the proposed JSCO solution costs  54%, 37%, 16%, 30%, and 11% less energy in comparison to local execution, remote execution and three comparable algorithms in the literature. More details of this work can be found in [2].


Time-Adaptive Heuristic for Cognitive Cloud Offloading in Multi-RAT Enabled Wireless Devices


While the previous approaches were not time adaptive, in this work, we propose a heuristic approach is time adaptive. This work differs from our previous work and other related work, in the following ways: (1) it is truly cognitive in the sense that the it uses all available interfaces of the multi-RAT devices; (2) it is a time-adaptive online offloading strategy while dynamics of wireless networks are taken into account; (3) this is for applications with general component dependencies and (4) hence it is the first joint scheduling-cognitive offloading scheme for multi-RAT devices. More details on the work, including performance improvements due to this scheme can be seen in [3]



References

[1] Syed Eman Mahmoodi, K.P. Subbalakshmi and Vidya Sagar, "Cloud Offloading for Multi-Radio Enabled Mobile Devices", IEEE International Conference on Communication, June 2015. 

[2] Syed Eman Mahmoodi, R.N. Uma and K.P. Subbalakshmi, "Optimal Joint Scheduling and Cloud Offloading for Mobile Applications", IEEE Transactions on Cloud Computing, April 2016, Online ISSN 2168-7161, Download
[3] Syed Eman Mahmoodi and K.P. Subbalakshmi, "A Time-Adaptive Heuristic for Cognitive Cloud Offloading in Mulit-RAT Enabled Wireless Devices", IEEE Transactions on Cognitive Communications and Networking, Vol.  2, Issue 2, pp.:194-207, June 2016. Download

[4] Syed Eman Mahmoodi, K.P. Subbalakshmi and R. N. Uma, "Harnessing Spectrum Awareness to Enhance Mobile Computing", ACM 22nd International Coneference on Mobile Computing and Networking (Mobicom) 2016. pp: 460-461. Download

[5] Syed Eman Mahmoodi and K.P. Subbalakshmi and R.N. Uma, "Spectrum Aware Mobile Computing using Cognitive Networks, Handbook of Cognitive Radio -- Section: Dynamic Spectrum Access and Sharing, Springer, Eds: Dusit Niyato and Ping Wang, EiC: Wei Zhang [invited]

[6] Syed Eman Mahmoodi, K.P. Subbalakshmi and R. N. Uma, "Spectrum-Awareness in Mobile Computing - Convergence of Cloud Computing and Cognitive Networking", Springer International Publishing.