AIRCC PUBLISHING CORPORATION
ENERGY EFFICIENT COMPUTING FOR SMART PHONES IN CLOUD ASSISTED ENVIRONMENT
Nancy Arya1 Sunita Choudhary1 and S.Taruna2
1 Department of Computer Science, Banasthali Vidyapith, Rajasthan, India
2 Department of Computer Science, JK Lakshmipat University, Rajasthan, India
In recent years, the employment of smart mobile phones has increased enormously and are concerned as an area of human life. Smartphones are capable to support immense range of complicated and intensive applications results shortened power capability and fewer performance. Mobile cloud computing is the newly rising paradigm integrates the features of cloud computing and mobile computing to beat the constraints of mobile devices. Mobile cloud computing employs computational offloading that migrates the computations from mobile devices to remote servers. In this paper, a novel model is proposed for dynamic task offloading to attain the energy optimization and better performance for mobile applications in the cloud environment. The paper proposed an optimum offloading algorithm by introducing new criteria such as benchmarking for offloading decision making. It also supports the concept of partitioning to divide the computing problem into various sub-problems. These sub-problems can be executed parallelly on mobile device and cloud. Performance evaluation results proved that the proposed model can reduce around 20% to 53% energy for low complexity problems and up to 98% for high complexity problems.
Mobile Cloud Computing, Mobile Computing, Computational Offloading, Dynamic Task Offloading, Energy Optimization.
The revolution in technology has led to the number of individuals using smart mobile phones. These smartphones are not only used as a mode for communication but also provides support for complex applications that needs a high computational power. These applications can be offline or web-based. Power saving, high computation capability and storage capacity are the most desired features of a smartphone .
Mobile cloud computing provides a framework for portable applications where preparation and capacity of information are moved from mobile phones to remote servers. It is the technology that incorporates the concept of distributed computing with the high features to overcome the challenges related to mobile phones such as performance, environment and security . According to the report of Allied Business Intelligence (ABI), up to 240 million corporations utilized the services of cloud through smart phones in 2015 that push the business of smart
mobile phones to $5.2 billion. The constraints of mobile phones such as processing power, bandwidth, and limited storage can overcome with the usage of services of cloud computing. Now, smart phones are efficient to process a huge range of resource demanding applications which evacuate the power swiftly. According to Nokia survey report, the power capacity of smartphones is one of the primary concern for customers. It is the restricting factor in the development and deployment of portable applications. This also restricts the phones to process computational
applications.The hardware components such as bigger displays, CPU, Bluetooth, memory, GPS and network technologies such as 3G, 4G and Wi-Fi also need higher power. The energy consumption of any application is the sum of the consumed energy by several hardware components at the time of execution of the application.
To overcome these issues, computational offloading provides a better concept which transmitted the computational data to available cloud servers that have rich resources for computation and then process and return the results to the client ,. This approach can speed up the processing of computation as well as optimize the energy of power-limited devices. However, the migration of intensive tasks to the remote servers is a popular concept since the computer networks were developed.
The decision of computational offloading that which part requires to be offload based on certain parameters like network bandwidth, application type, size of application, architecture and storage limit etc. . Offloading can be of static type in which the parameters of decision are defined at the time of development as well as of dynamic type in which parameters are defined at run time. Mobile computation offloading comes from the area of networking technologies such as Wi-Fi, 3G and 4G. However, these technologies enable offloading but consumes lot of energy in
Several offloading techniques and models exist to enhance the execution capability and energy optimization in mobile cloud environment but each of these has their own advantages and limitations. Conventional offloading frameworks used adaptive algorithms that transfer serious computations to the remote servers. These frameworks employ different levels for offloading applications at runtime but it includes migration cost of the computational components of the mobile application. Many state-of-the-art frameworks employ profiling and partitioning method
that increases the overall execution time and energy consumption of local devices. Various frameworks do not focus on the additional overhead of partitioning and run time offloading. However, these frameworks emphasized on limiting the overheads of offloading and ensure to maintain the overall benefit of offloading.
The paper is emphasized on novel proposed framework for dynamic task offloading to achieve energy optimization and augment the performance. To achieve this, it proposed a suitable algorithm for optimum offloading by introducing new criteria and parameters in offloading decision making. It also introduces a partitioning concept to divide the computing problem into various subproblems. These subproblems can be executed parallelly on local mobile devices and cloud.
The main objective of this framework is to find the best optimum solution to offload intensive applications with proper utilization of assets so that the energy efficiency can be augmented. The proposed framework focuses on the decision that which parts of the application should offload, how they offloaded and where to offload. It also focused on to reduce the increased overhead of runtime component migration.
The experiment is performed in different phases: (I) Identification of problem and data generation. (II) Design and development of experiments for framework verification (III) Experiments will carried out. (IV) Validation and optimization of the framework. A set of experiments incudes two types of computational algorithms for different size of data to achievethe efficiency in the proposed framework. The selected algorithms are merge sort and quick sort
(sorting algorithms) as these are problem of low time complexity and matrix multiplication, the problem of high time complexity. However, in the case of merge sort and quick sort, the impact is small for small size data and is highly visible for a large size data. In the case of matrix multiplication, the impact is much visible even for the smaller size data. Analysis proved that the proposed framework achieved up to 20% energy efficiency for merge sort, around 53% energy efficiency for quicksort and up to 98% energy efficiency for high complexity problem such as
The paper is organized as follows – Section II describes the related work for offloading in mobile cloud computing. Section III discussed about the proposed framework, algorithm, its features and experimental setup. Section IV discussed about the results and performance evaluation and finally, Section V presents the conclusion and future scope.
2. RELATED WORK
Mobile cloud computing provides an infrastructure to extend the assets of the mobile devices over the network for mobile users and network operators . It is the integration of various technologies such as mobile computing, cloud computing and wireless networks. Author described in  the various advantages of combination of the mobile computing and the cloud technology. However, mobile devices have several benefits, but also have some constraints. related to resources such as power, hardware components such as memory and storage, security,
bandwidth and mobility . Resource poverty is a main reason behind the issues related to Quality of Service (QoS) in mobile networks. These issues related to low bandwidth, unrealistic communication, heterogeneity and computation capability . Mobile phones have limited battery capacity. The number of solutions has been proposed to optimize the energy by augmenting the efficiency of computation and proper management of the storage and the level of the display as described by , . But these changes require modifications in hardware which increase the cost.
Offloading is a technique that migrates the time-consuming complex computations from the local device to the cloud. This reduces the energy consumption on mobile devices. Several of offloading frameworks ,, have emphasized on the efficiency of the process of offloading by including one or more parameters related to optimization such as computation time, energy consumption. According to , it is possible to save energy by migrating computations to the cloud server. But it is not necessary that an application takes less energy when it is
migrated to the remote server. There are few other parameters that has to be consider while offloading the applications. These are energy overheads for reliability, security and data communications. An application should migrate only if the balance of energy is positive after considering all of these parameters. The Mathematical Arithmetic Unit and Interface (MAUI) architecture  has proposed for offloading to reduce the overall energy consumption for mobile gaming applications in cloud-based environment. This architecture reduces almost 27% of energy consumption on the mobile device. In , authors have proposed a dynamic algorithm based on lyapunov optimization for offloading computation to cloud. This algorithm decides which components of the software should be executed on cloud instead of local. This algorithm provides the low complexity for the solution of face recognition problems and saves 50% energy in simulation. Offloading also depends on the size of file. Authors have proposed an offloading algorithm  that depends on file sizes. The experiments of this work shown that there was no benefit in offloading of file size of up to 3 MB. However, for file sizes of 5 MB or more than 5MB, there was advantage seen in energy efficiency as well as execution time. This is very effective model for taking decision for the offloading. In , authors proposed a framework for mobile devices known as Think Air for dynamic resource allocation and code offloading to the cloud server. It provides method-level offloading for computation and supports parallel execution
of methods on different virtual machines. It also keeps track of energy for various hardware components. The model µcloud  is an energy saving model for mobile cloud computing. It is based on self-contained application components that are decoupled from each other. However, this model can execute only a single application partition at a time. In energy efficient multisite offloading algorithm , authors proposed a solution to visualize the range of tasks, tasks size, and dependency between these tasks of mobile application to increase the energy efficiency. Authors proposed  a framework for ultra-dense network environment to achieve the offloading for computational task. It is capable to reduce execution time by 20% and power consumption by 30%. Energy Efficient Computational Offloading Framework (EECOF)  proposed for the processing of complex mobile applications by using the cloud services with the migration of the minimum number of instances of application at runtime. The authors used bubble sort and matrix multiplication as an application to validate energy efficiency. This framework works on separate
upload and download manager to synchronize the transmission and conserve the energy. The framework has tested with state-of-the-art frameworks and the results shows it is capable to reduce the size of data transmission around 84 % and power consumption by 69%.”
MobiCloud  is a framework that supports Service-Oriented Architecture (SOA) for mobile adhoc networks. This framework considers every node as a service node in the network and creates replicas in the cloud. Authors proposed offloading  for mobile edge computing which is highly popular and useful concept for applications. In this concept, mobile devices can outsource their computations on the edges to save time and energy. It takes into account multiple tasks for each mobile client that is computation intensive. In , a framework has proposed for the
adaptive partitioning and selective dynamic offloading for the selection of right category of cloud (central clouds and cloudlets) for which mobile applications should offloaded. The framework also works to minimize the execution cost during the decision of offloading. Authors proposed an algorithm in  for offloading of tasks in a heterogeneous mobile cloud environment. The algorithm addressed the problem of task offloading and task scheduling as a heterogeneous problem in this work. It is proposed to resolve the issues of energy utilization, time failure and
execution cost for mobile devices. Compass-mobile framework  developed for highperformance applications in a distributed mobile cloud environment. The framework provides an energy-aware transparent model for developers to write code for regular android applications. These applications are then offloaded to the cloud as a computation. Authors have used merge sort as an application to validate the energy efficiency of the framework. Authors in  have proposed an algorithm that works for dynamic offloader to offload the computations from mobile to cloud environment. This offloader analyses the computations and migrates only intensive methods to the remote server to improve the energy efficiency. The algorithm has used applications such as quick sort and word count to validate the efficiency of the algorithm. They have used arrays of size from 100 to 100000 numbers and measured the computation time and power consumption for all these applications.
Authors proposed an offloading framework  for AHead-Of-Time (AHOT). This framework used the services of the cloud data centers to provide offloading as a service for mobile users. Experiments proved that this has been capable to reduce the execution time by 75% and energy consumption up to 76% for the number of applications. Authors used matrix multiplication of 1000×1000 for validating the criteria of an android-based offloading decision. In , the authorsproposed a mobile cloud environment offloading criteria depend on game theory which analyzes the effect of various parameters on offloading. The authors have focused on multisite risk offloading that takes the decision on the basis of risk evaluation. The decision criteria used matrix multiplication as an operation to decide the offloading.
3. PROPOSED FRAMEWORK
The research work is an attempt to proposed the framework to optimize the energy efficiency and execution time achieved during offloading by addressing new criteria in offloading decision making. Conventional frameworks processed cloud-based applications in three phases involving offloading initialization, computation offloading and application execution on cloud. In addition, the proposed framework also supported partitioning that divides the task equally on both mobile and cloud environments. As a result, overall energy consumption as well as execution time can be optimized. The main goal is the appropriate selection and offloading of computational tasks from
the mobile environment to the cloud on the basis of their estimated energy and time. The framework employs an IaaS model (Infrastructure-as-a-Service) with SaaS (Software-as-aService) to reduce the energy consumption.
The architecture of the proposed model consists of two components, mobile device environment, and cloud environment. The mobile device environment consists of any smart mobile device that can handle computing locally on the target operating system such as android, windows and iphones. These devices are portable and constrained devices with limitations on memory, bandwidth, storage, power etc. As shown in figure 1, it consists of various components:
Task Manager is responsible to handle the computing problems requested by the user and put them in a queue in First-In-First-Out (FIFO) order. It takes the decision for benchmarking that calculates the sample values used to estimate the time and energy required for a computation. Asset Handler handles the resources required for computation and offloading such as memory and network resources. Decision Making Engine is the main control system of this environmentwhich takes the decision for offloading based on the input parameters and algorithm used to decide the appropriate location of the computation whether it executes on mobile or offload to the cloud. It interacts with other subcomponents to take the proper offloading decision. Task Partitioning Manager is responsible to examine the input problem and identifies those problems that can be divided into multiple sub problems and can be distributed across the local and cloudbased environments. After taking appropriate decisions, the sub-problems are offloaded to the decided locations for computing. The results are then combined to present a single output to the end user. Energy Handler is responsible to estimate the value of energy consumption for a given partition of problem. It provides this information to the decision-making engine to take the decision on optimum partitioning. Task Handler manages multiple operations like read, write and network connect etc. It also provides synchronization between multiple activities performed by the mobile client. Connection Manager on the mobile environment is responsible to manage the network connections and it is the control part for cloud environment. The used cloud services for computation is actually transparent to the end mobile user and it is managed by this component.
Task Migration is the process that initiated after the decision of partitioning the problems into sub-problems. I/O Manager handles all the file and network input and output of mobile application.
On the other hand, the cloud environment, consists of remotely located computing resources. These resources are available on pay-as-you-go. The resources available on cloud are huge as it contains pool of large servers that can be allocated on demand. The cloud environment also consists of various subcomponents. Task Monitor is responsible to take care of all the process of problem migration across different locations and also handles the I/O functions. Asset Tracker is the module that is responsible to keep track of the resources required for various operations. Task Handler manages multiple tasks like read, write and network connect. It provides synchronization
between multiple activities done by the cloud. Task Queue is responsible for receiving the problems from the mobile and scheduled them for execution. Connection Manager on the cloud side manages the connections between distributed locations. All the network connectivity is managed by the connection manager and is transparent to the other task execution engines. Result Manager handles all the results generated on cloud during execution of the computation problem and return these results to the mobile user to combined with the mobile device results. I/O
manager is the important component of cloud that manages all the file and network input-output for the cloud application.
3.2 Proposed Algorithm
1. For a computational problem of size >10N, the benchmarking has done and average
values are calculated. Calculate the time of computation, transmission time, time for
reading and writing, energy consumption, energy for network transmission for unit
amount of data. The unit time for mobile and cloud is calculated relative to the measured
complexity of the algorithm. For example, if the complexity of the algorithm used during
benchmarking is O(nlogn) and the total time for n no. of elements is t, then the unit time
per element is t/nlogn. Benchmarking coefficients are also calculated for mobile and
cloud environment for taking the decision of execution either on local or offload it to
cloud completely or partially.