Beruflich Dokumente
Kultur Dokumente
Nowadays people are spending more time on smart mobile devices such as smartphones and
tablets when compared to desktop, ubiquity of mobile devices with computational capabilities
comparable to many personal computers, set the trend in developing rich mobile applications.
Various Statistics shows that there is an exponential growth in number of mobile applications in the
market. However mobile devices are limited in battery lifetime, memory, storage and processing
capabilities. These constraints prevent mobile devices from widely running all kinds of rich mobile
applications. While at the same time, with the availability of mature and advanced wireless
technologies, motivates researchers to make use of available cloud computing platform for
leveraging the computations on more capable remote computing resources or the cloud. There by
computation offloading is believed to be a potential solution to the hardware limitations of mobile
devices for higher performance and/or energy savings. There are many issues associated with
computation offloading such as network bandwidth, intermittent connectivity, the transmission
delays, the distance of remote computing resources from primary computing resource. This paper
reviews a wide variety of different kinds of computation offloading strategies developed to
overcome these challanges. Methodologies include cloud path selection, different architectures for
Mobile Device Clouds, algortithms that decides where and what type of tasks to be offloaded.
Scaling of applications over Mobile device clouds.
Chapter 1
1.1) Introduction
According to various statistical report the combined sales of smartphones and tablets has
already surpassed sales of Desktops. Mobile digital media time in the US is now significantly
higher at 51% compared to desktop 42% and is still growing with increasing number of mobile
applications. IDC Prediction report 2015 says Mobile app downloads already hit 150 billion and
statistics from smartinsights shows total number of mobile applications available in leading app
store has crossed 3.6 million. There are more energy hungry applications, for example, face
recognition, speech and object recognition, natural language processing, audio/video encoders and
decoders, computer vision and graphics, and mobile augmented reality. Mobile devices, including
smart phones, tablets and netbooks, are also constrained with small battery size, CPU, and storage.
At the same time, current battery technology is also a bottleneck in mobile devices and this results
in a growing gap between the demand of energy and the capacity of the resources of mobile
devices. Various Surveys show that short battery life was the most disliked feature for many mobile
devices.
With the rapid adoption of cloud computing concepts and the explosive growth in the usage of
mobile devices, Mobile Cloud Computing (MCC) has been introduced as a potential technology for
mobile services. MCC simply is: The availability of cloud computing services in a mobile
ecosystem.
Mobile Clients can then offload predefined codes to nominated server(s)(Cloud/Cloudlets)
according to other offloading policies that target reducing execution time and/or battery use.
The Mobile Clients may offload some tasks to remote server through task initiator called as an
offloader and the cloud/cloudlet server that exucutes the task called as an offloadee.
Although there was a great enhancement in mobile device's capabilities, they still suffer from their
limited resources such as CPUs, memory, and battery. To cope with these limitations, Mobile Cloud
Computing was introduced to mitigate mobile devices resource constraints.
But there are a large number of clouds appearing in sky with different charging and condition, and
offloading the same program to different clouds may perform different amounts of computing
within the same duration due to the clouds speeds, and may cost different communication time due
to bandwidth and clouds availability. Therefore, an optimal cloud-path selection method is needed
when choosing the best cloud.
Clouds could add significant enhancements to mobile services, however this type of task offloading
is costly due to high energy costs and high latency introduced by wireless intermittent
communication between mobile devices and distant clouds. It is critical for MCC servers to shorten
the transmission time. An effective solution is needed to optimize the allocation of services.
1.2) Innovative Ideas Proposed For Offloading Strategies in Mobile Cloud Computing
1.2.1) Task Replication
Mobile offloading can be defined as migrating data and/or computation to a more suitable
computation machine (peer). Basically some sub tasks of an application are offloaded to computing
machined.
Without task replication, the connection between the two nodes can potentially fail because of
intermittent connectivity, node failure, network failure and this may cause restablishing connections
several times. There by causing a huge delay and therefore considerable degradation in offloading
performance.
The innovative approach is that implement a replication technique that consists of replicating the
subtasks that exist in the offloaders pool. Once a subtask terminates, all replicas in the pool are
removed. Since by creating task replicas, there is a backup for tasks therefore if one taks fail
another task may be run successfully. There by significant performance speed up can be acheived.
1.2.2) Using social based information for sellection of offloadee
Identifying stable and durable connections to other devices based on social information is
yet another innovative approach. Leveraging social information such as friendship and common
interests in order to identify and therefore select the most suitable neighboring offloadee nodes.
Thereby there is an expectation that constraints such as node failures or intermittent connectivity
can be avoided.
1.2.3) Ant Colony Optimization for efficiently monitoring the network
In practice, cloud servers are located in one or several places. Long distance data
transmission will generate longer latency. And also longer time means risk of failure. Otherwise, the
unreliable wireless will consume huge communication resource wasting on confirming the SMD
states, especially for long distance data transmission. So, it is critical for MCC servers to shorten the
transmission time. An effective solution is to optimize the allocation of services.
In MCC, employing the method of monitoring the network is an available solution. But, it will
cause huge burden, which presents inefficient, and the allocation
of the scheduler is also a challenge.
To deal with this kind of challenge, an Ant Colony Optimization -based method is yet annother
innovative approach to monitor the network. ACO method aims to search for an optimal path in a
graph, based on the behavior of ants seeking a path between their colony and a source of food.
On the condition of many Smart Mobile Devices requesting for services at the same time or nearly
the same time, the method treats each SMD as a ant colony.
language, regardless of what source language they are written in. An executable for the CLR
contains CIL instructions, and the CIL is dynamically compiled at execution time. Thus, by
leveraging the CLRs capabilities, MAUI obtained independence from differences in the instruction
set architecture between todays smartphones and todays desktop and server machines.
Server Profiler:
A module running on a mobile device to monitor its resources and according to a predefined
policy, it can nominate the device to act as a server. If such a device is nominated to act as a server,
the Server Profiler broadcasts the availability of a server along with its major resources indices. If
that server moves outside the range of its clients, they wont receive its broadcasted signal and after
a specific timeout, it will be removed from their lists of nominated servers.
Monitored resources include:
CPU load and its maximum speed.
Available memory.
Wi-Fi availability along with its average round trip latency to the nearest access point.
Battery level and whether it is charging or not along with the percentage of energy
consumed in idle mode.
Offloading Agent:
This module runs on clients device and manages offloading from running applications to
available servers. When an application needs to offload some partition, it takes over the following
procedures:
5
Firstly, it finds a server with more resources than its client according to offloading policies.
If a server is found, Offloading Agent registers its client with the found server which in its
role, stops accepting any other client until its Server Profiler recalculates the remaining of its
resources after offloading starts.
Afterwards, Offloading Agent manages communication between its client application and
the Class Loader module of the server.
In case of not finding any suitable server, it resumes execution of that partition locally.
Class Loader:
This module runs on the server and its major role is to receive classes and data sent to it from
Offloading Agent of the client then deliver them to the host OS to execute; and finally it sends the
results back to the Offloading Agent.
Customized Server:
Both client and server should have same software packages installed on them prior to
starting the session. In this case, when an application on the clients device
asks its Offloading Agent to offload a certain task, the Offloading Agent checks if there is an
available server; if found, the Offloading Agent asks the server to execute the task on it after
passing the required parameters. While the server has the same software package installed, it starts
executing the same task with the given parameters and when finishing, it sends the results back to
the Offloading Agent. This offloading
strategy is suitable for private/trusted environments.
General Server:
Server is not pre-installed with clients software packages and offers general processing for
its clients. In this case, the Offloading Agent does the same role as in the previous case except that
instead of asking the server to execute the same task, it uploads the tasks class along with its
parameters. Using reflection feature of Androids Java Dalvik Machine, the servers Class Loader
can inspect the uploaded class and then execute it. Finally, Class Loader sends the results back to
the Offloading Agent. This offloading strategy is suitable for public/untrusted environments.
Methodology
Advantages
Disadvantages
A Comparative
Evaluation of
Computation
Offloading for
Mobile
Applications
Comparison of
Offloading
computaitons to
near by PC using
Bluetooth and
RemoteServer
using WiFi
Determinination of
Threshold in terms
of Computation
load and Data size.
Adaptive
Algorithm Based
on these thresholds
a) Performance of
Data intensive
application on
different resources
b) Compared
Bluetooth
transmission delay
vs WiFi
transmission delay
a) EC was given
more priority than
RT in Adaptive
Algorithm
b) Only Android
Platform used, EC
varies with H/w
c) Security issues
were not discussed
Collaborative
Mobile-ToMobile
Computation
Offloading
Computation
offloading is done
among
collaborative
Mobile Device
a) Development of
Architecture
b) Experimental
Approach
c) Data driven
approach using
One Simulator
d) Computation
diveded into n
subtasks, offloaded
on many devices
a) Significance of
dividing a task
into subtasks and
impact of task
replication
a) Only Android
platform were taken
in consideration
DroidCloudlet:
Towards
Cloudlet-based
Computing
using Mobile
Devices
Proposes Cloudlet
architecture: Any
device can
participate as a
server.
a) application run
on Droid cloudlet
architecture
a) Gives the
developer ability
to specify which
part of application
be made
remotable and
parallelizable
1) arcitecture
devloped is for only
android devices.
Offloading is
carried out
dynamically at
runtime according
to specific policies
b) customized
server and
genaralised server
b)Performance gain
is insignificant
b)Identifying
when offloading is
stable and durable based on social info
connection to
other devices
c) overall energy
based on social
consumption for
info
both offloader and
offlodee is more
than that of local
execution
b) dynamic
offloading at
runtime
2) Response time
not considered
3) security issues
not taken in
consideration
Methods of
Cloud-path
Selection for
Offloading in
Mobile Cloud
Computing
Systems
Cloud path
selection.
Find an optimal
cloud among
different classes of
cloud based on
multiple criteria
using AHP and
TOPSIS method
Cloud path
Shows relative
Only remote servers
selection based on importance of
were taken in
single criteria
criteria Bw, Price, consideration
Speed, Security
Cloud path
and availibilty.
selection based on
importance of
relative criteria
Bandwidth, Price,
Speed, Securitiy,
Availability
AHP Obtain wts
of criteria
Fuzzy TOPSIS
determine
priorities of
alternative clouds
ACO-Based
Solution For
Computation
Offloading In
Mobile Cloud
Computing
ACO Based
solution to the
computation
offloading
problem
Develops an ACO
Algorithm
Determine the
optimized path
based on ACO
Algorithm for
clients need to
select for
determining
apprpriate server
for computation
offloading
Proposes global
optimization
required for
service
No mobile or
remote Pcs were
considered as an
alternative to cloud.
Analyses
Transmission
delay in network
interms of Bw and
latency
Energy analysis for computation offloading Various cost/benefit studies focus on whether to offload
computation to a server.
The following example provides a simple analysis for this decision.
Suppose the computation requires C instructions. Let S and M be the speeds, in instructions per
second, of the cloud server and the mobile system, respectively. The same task thus takes C/S
seconds on the server and C/M seconds on the mobile system. If the server and mobile system
exchange D bytes of data and B is the network bandwidth, it takes D/B seconds to transmit and
receive data. The mobile system consumes, in watts, Pc for computing, Pi while being idle, and Ptr
for sending and receiving data. (Transmission power is generally higher than reception power, but
for the purpose of this analysis, they are identical.) If the mobile system performs the computation,
the energy consumption is P c (C/M).
If the server performs the computation, the energy consumption is [P i (C/S)] + [P tr (D/B)].
The amount of energy saved is
[Pc (C/M) ] [Pi (C/S)] [Ptr (C/D)] - (1)
From eqn 1 it is found that
B = k D/C
If (D/C) is low, then offloading can save energy. Thus it shows, offloading is beneficial when large
amounts of computation C are needed with relatively small amounts of communication D
10
11
12
13
14
15
16
4.1.2) Cloudlets:
17
b
d
a
c
Figure 4.1.3 Mobile Device Cloud
An environment in which computational offloading is made among collaborative mobile
devices is called an environment a mobile device cloud (MDC). At an instance, any mobile device
which may having lesser battery or having lesser computation capability may decide to offload
some of application tasks to near by mobile devices having more computation and resource
capabilities. In the figure f is the proximty of mobile device b, so b is offloading some of tasks to
mobile device a and d, which are having more computation and resource capabilities.
18
19
20
PowerLevel <
x% and
noCharging
NO
YES
Tasks offloaded to
remote computing
resource
If Bluetooth is
available
and Em > Ei + EBT
YES
Task executed on
remote PC vi Bluetooth
NO
If WiFi is available
And Em > Ei + EWiFi
NO
YES
21
The energy consumption of the mobile device using Bluetooth offloading computation to a nearby
PC is less than that of using Wi-Fi offloading computation to a remote cloud server.
Response Time for 60 MFLOP
23
Figure 4.4.4 Impact of task replication on execution time using the Cambridge trace with
Offloading delay ( TC = 1000)
For task offloaded with no replicas
It can be inferred that when the task requires execution time increases the probability to
loose connectivity between the two encountered nodes increases which introduces additional
waiting delay
Impact Of Task Replication on Execution Time:
A replication technique that consists of replicating the subtasks that exist in the offloaders
pool is implemented. Once a subtask terminates, all replicas in the pool are removes. Fig. 6 shows
the impact of the replication on the execution time for TC = 1000s. From the graph it can be inferred
that replication improves performance considerably with up to 4 speedup. This means that 2
replicas and number of 3 subtasks works at its best and that increasing the number of subtasks or the
replication factor has no additional evident effect.
24
Figure 4.4.5 Energy consumption (TC = 50) using the Cambridge trace
The energy consumed is measured at the offloader node which consists mainly of data
transmission, local task execution and Bluetooth scanning power consumption. Fig. 4.4.5 shows the
energy consumption for the case of TC = 50s. From the graph it can be inferred that offloading helps
reducing the energy consumption by up to 50% compared to local execution. Only the offloader
energy consumption is considered to migrate tasks in order to save energy and increase a lifetime of
a particular node. Overall energy consumption measured for both offloader and offloadees is higher
that local execution.
25
References
[1] Kelie Zhan, Chung-Horng Lung, Srivastava, P.A Comparative Evaluation of Computation
Offloading for Mobile Applications 2014 IEEE International Conference on Internet of Things
(iThings 2014), Green Computing and Communications (GreenCom 2014), and Cyber-PhysicalSocial Computing (CPSCom 2014), pp 518-525, 2014.
[2] Abderrahmen Mtibaa, Mohammad Abu Snober, Antonio Carelli, Roberto Beraldi, Hussein
Alnuweiri. Collaborative Mobile-To-Mobile Computation Offloading 10th IEEE International
Conference on Collaborative Computing: Networking, Applications and Worksharing
(CollaborateCom 2014), pp 460-465,2014
[3] El-Derini, M.N; Aly, H.H.;El-Barbary, A.E.-H.G.;El-Sayed, L.A.A.DroidCloudlet: Towards
cloudlet-based computing using mobile devices Information and Communication Systems
(ICICS), 2014 5th International Conference on pp 1-6. April 2014
[4] Huaming Wu, Qiushi Wang and Katinka Wolter, Methods of Cloud-path Selection for
Offloading in Mobile Cloud Computing Systems 2012 IEEE 4th International Conference on
Cloud Computing Technology and Science, pp 443-448, 2012
[5] Weidong Bao,Haoran Ji , Xiaomin Zhu, Ji Wang Wenhua Xiao and Jianhong Wu, ACOBASED SOLUTION FOR COMPUTATION OFFLOADING IN MOBILE CLOUD
COMPUTING, Big Data and Information Analytics c American Institute of Mathematical Sciences
Volume 1, Number 1, pp 1-13,January 2016
[6] Chen, E. Y., and Itoh, M., Virtual smartphone over IP, In Proceedings of the 2010 IEEE
International Symposium on A World of Wireless, Mobile and Multimedia Networks
(WoWMoM10), pp.1-6, June 2010.
[7] Chun, B. G.; Ihm, S.; Maniatis, P.; Naik, M.; and Patti, A., Clonecloud: elastic execution
between mobile device and cloud, In Proceedings of the sixth conference on Computer systems,
ACM, pp.301-314, April 2011.
[8] Satyanarayanan, M.; Bahl, P.; Caceres, R.; and Davies, N., The case for vm-based cloudlets in
mobile computing, Pervasive Computing, IEEE, vol.8, no.4, pp.14-23, 2009
[9] Verbelen, T.; Simoens, P.; De Turck, F.; and Dhoedt, B., Cloudlets: Bringing the cloud to the
mobile user, In Proceedings of the third ACM workshop on Mobile cloud computing and services,
pp.29-36, June 2012.
[10] Kemp, R.; Palmer, N.; Kielmann, T.; and Bal, H., Cuckoo: a computation offloading
framework for smartphones, In Mobile Computing, Applications, and Services, Springer Berlin
Heidelberg, pp.59-79, 2012
[11] Cuervo, E.; Balasubramanian, A.; Cho, D. K.; Wolman, A.; Saroiu, S.; Chandra, R.; and Bahl,
P., MAUI: making smartphones last longer with code offload, In Proceedings of the 8th
international conference on Mobile systems, applications, and services, ACM, pp.49-62, June 2010.
26