The document discusses offloading in mobile cloud computing. It defines offloading as migrating data storage and computations from a mobile device to a remote cloud to improve performance and save energy. This is done to address limitations of mobile devices like poor battery life, limited storage, and resources. Offloading can take full or partial forms. Factors like bandwidth, amount of data, and computation are considered to determine if offloading improves performance or saves energy. Different types and topologies of offloading are also discussed.
1 of 31
More Related Content
Offloading in Mobile Cloud Computing
1. Offloading in Mobile Cloud
Computing
Prepared by
Saif Salah Abood
Supervisor by
Assist. Prof. Dr. Karim Q. Hussein
ch4
1
2. Introduction
Mobile devices suffer from poor
battery life, limited storage
capacity, and limited resource.
Offloading
refers to a mechanism where data
storage and computations are done
inside the remote cloud instead of
the mobile device.
2
3. Cloud Computing
Forms
• Infrastructure as a Service (IaaS)
• Platform as a Service (PaaS)
• Software as a Service (SaaS)
Advantages
• Reduced cost
• Easy Maintenance
• Automatic Scaling
3
4. What is the difference
Computation
Offloading
migrates programs to servers outside
the computing environment to
improving performance and saving
energy.
Traditional
Client–Server
client always migrates computation to a
server
Multiprocessor
Systems
process may be migrated for load
balancing within the same computing
environment
4
5. Improving Performance
The limited computing speeds of mobile systems can
be enhanced by offloading in many scenarios.
for example:
A navigating robot need to recognize an
object before hitting it.
Another application where multiple streams
of data from different sources such as GPS,
maps, accelerometers, and temperature
sensors need to be analyzed together in
order to obtain real-time information.
5
6. Table 4.1. The parameters used in performance
measurement and energy calculation:
Parameter Definition
Sm Speed of the mobile system
Ss Speed of the server
W Amount of computation for the second part
di Amount of data
B Bandwidth
Pm Power consumed by the mobile system per unit time
Pc
Power required to send data from the mobile system over
the network
Pi
Power consumed per unit time for executing instruction
inside the server
6
7. Improving Performance
If the complete data or computation is offloaded, it is the
case of Full Offloading else it is Partial Offloading.
In Partial Offloading the program divided into two parts:
The first part that must run on the mobile system,
that may include user interface and the code that
handles peripherals.
The second part that may be offloaded, and the time
to execute that part on the mobile system is
calculated as follows:
7
8. Improving Performance
The time to offload and execute the second part on the
server is given by:
Total time = Communication time + Computation time
Offloading will improve performance if the following
condition holds:
8
9. Improving Performance
This inequality shows :
If the computation (w) is small, then the effects of
server’s speed (Ss) is limited, even if it is infinitely fast.
Offloading cannot improve performance if data
exchange (di) is large and the bandwidth (B) is small.
Only tasks that require large computation (w) and small
data exchange (di) should be considered.
The performance gain of offloading is defined as :
𝑤
1
𝑆𝑚
−
1
𝑆𝑠
−
𝑑𝑖
𝐵
9
10. Saving Energy
Offloading can extend the battery life by transferring the
energy-intensive parts of the computation to the servers.
The power consumed to perform the task within the
mobile system is given by
The total power consumed considering the transmission
and computation is determined by
10
11. Saving Energy
Offloading saves power if the following condition holds:
Offloading will save power if heavy computation (large w)
and light communication (small di) are considered.
11
12. Table 4.2. The parameters Ranges
Parameter The Range
Mobile Speed (Sm) 16 MHz – 16 GHz 106 – 109
Server Speed(Ss) 10 T/s – 10 P/s 1013 – 1016
mobile Power (Pm) 10 mW/s – 10 W/s 10-2 – 10
Send Power (Pc) 10 mW/s – 10 W/s 10-2 – 10
Server Power (Pi) 1 KW/s – 1 MW/s 103 – 106
12
13. Example
Drones has a CPU speed of 1GHz (109) and consumes 30W/s and takes pictures in 5MP
(5×106) resolution, looking for an object using an algorithm that needs 10G (1010)
operations for each image, and has a Wi-Fi connection at a speed of 40Mbps = 5MB/s
(5×106) and consumes at the transmission 0.8W/s.
Find performance gain and energy savings of offloading? if the cloud has speed 1P/s
(1015) and consumed 100 KW/s (105)
13
Sm 1 GHz 109 Tm w/Sm 10s
Ss 1 P/s 1015 Ts (w/Ss) 0.00001s
W 10G 1010 Tt (di/B) 1s
di 5MB 5×106 T=Tm - (Ts+Tc ) 9s
B 5MB 5×106 Em Pm(w/Sm) 300W
Pm 30W/s 30 Es Pi(w/Ss) 1W
Pi 100KW/s 105 Et Pc(di/B) 1W
Pc 0.8W/s 0.8 E=Em - (Es+Ec ) 298W
14. Offloading Decision
Figure 4.2 Decision of offloading based on the amount of data and computation.
Offloading decision
depends on bandwidth,
and communication
Never offload
computation
Always offload computation
Amountofdataoffload
Amount of computation
14
15. Offloading Decision
Offloading is beneficial when large amounts of
computation C are needed with relatively small
amounts of communication D.
It is observed that in the area where computation is
high, full offloading should be used and where
moderate computation is required, partial offloading
can be done.
15
16. Types of Offloading
1. Depending on Material Being Offloaded
Data offloading:
Computational offloading:
2. Depending on Approaches to Time Reduction
Fine-Grained Offloading or Partial Offloading
offloading only the power-hungry parts of the application
Static partitioning offloading scheme:
Dynamic partitioning offloading scheme:
Coarse-Grained Offloading or Full Offloading
16
18. Topologies of Offloading
MCC offloading Star topology:
If the mobile device communicates
with different servers, then a lot of
time and energy are spent
MCC offloading Ring topology:
When failure occurs in the middle
of the nodes, then the program
cannot be successfully executed
18
19. Offloading in Cloud Computing and in Mobile Cloud
Computing: Similarities and Differences
cloud computing is a super set of mobile cloud computing,
The only difference is the mobility of the considered devices.
In the mobile cloud computing environment, the network they
access also may change with their movement.
Offloading in MCC deals with moving devices
19
20. Adaptive Computation Offloading from Mobile Devices
1. Mobile Augmentation Cloud Services (MACS)
It’s a middleware that enables adaptive extension or optimization, of Android
application execution from mobile client into the cloud.
The decision for partitioning is approached as an optimization problem
according to the input on the conditions of cloud side and mobile devices,
such as available memory, CPU load, and remaining
battery power of devices, bandwidth
between the cloud and mobile devices.
Finally, based on the solution to the
optimization problem, this middleware
offloads parts to the remote
clouds and returns the
corresponding results back.
Optimization problem in mobile augmentation cloud services.
20
21. Adaptive Computation Offloading from Mobile Devices
1. Mobile Augmentation Cloud Services (MACS)
The goal of MACS is to enable transparent computation
offloading for mobile applications.
MACS application consists of an application core that cannot be
offloaded.
Also consists of multiple services (Si) that usually resource
demanding components, which can be offloaded.
MACS monitors the execution of the services to allows dynamic
application partitioning at runtime
At the cloud side, the MACS middleware handles the offload
requests from the clients, installs and then initializes the
offloaded services, and invokes the methods.
21
22. Adaptive Computation Offloading from Mobile Devices
MACS middleware monitors
the resources on the mobile
execution environment and
available clouds.
It then forms the optimization
problem whose solution will
decide whether the service that
contains the called function
should be offloaded or not.
When the service is
determined to be offloaded to
the remote cloud, MACS tries
to execute the service remotely. Mobile augmentation cloud services architecture
1. Mobile Augmentation Cloud Services (MACS)
22
23. Adaptive Computation Offloading from Mobile Devices
2. Adaptive Computation Offloading
The whole task is divided into smaller units, and only the power-hungry
parts are sent to the cloud for offloading, depending on certain
conditions.
Suppose there are n modules that can be offloaded, A1, A2, …, An.
For a specific module i, let its memory cost be memi and code size be
codei.
Let us consider k number of related modules that can be offloaded.
For each of them, we denote the transfer size tr1, tr2, …, trk, send size
send1, send2, …, sendk, and receive size rec1, rec2, …, reck, where sendk
+ reck = trk.
We introduce xi for module i, which indicates whether the module i is
executed locally (xi = 0) or remotely (xi = 1).
The solution x1, x2, …, xn represents the required offloading
partitioning of the application.
23
24. Adaptive Computation Offloading from Mobile Devices
2. Adaptive Computation Offloading
The cost function is represented as follows:
Where
Wtr : the weights for lowest interaction latency
Wmem : the weights for lowest memory cost,
WCPU: the weights for lowest CPU load,
First part depicts the transfer cost for remote
execution of services, including the transfer cost of its related services.
The latter part of equation includes the dependency relationship between
modules, Cmemory denotes the memory cost of the mobile device,
Ccpu denotes the CPU cost on the mobile device, and α is the convert factor
mapping the relationship between code size and CPU instructions.
24
25. Adaptive Computation Offloading from Mobile Devices
Constraint 1—Minimized memory usage:
The memory cost of resident service should not be more than the
available memory of the mobile device, that is,
where f1 is the factor to determine the memory threshold to be used.
Constraint 2—Minimized energy usage:
For the offloaded services, the energy consumption of offloading
should not be greater than the case where offloading is not used
and local execution occurs, that is,
25
26. Adaptive Computation Offloading from Mobile Devices
Constraint 3—Minimized execution time:
This is enabled when the user prefers very fast execution, that is,
where
The local execution time tlocal is the ratio of CPU instructions to local
CPU frequency The remote execution time toffload consists of the time
consumed by CPU, file transmission, and the overhead of the
middleware
The solution of x1, x2, …, xn is the optimized partitioning
strategy.
Whenever the parameters in the model change, such as available
memory or network bandwidth, the partitioning is adapted by
solving the new optimization problem.
26
27. Cloud Path Selection for Offloading
As the data traffic on the mobile networks has increased
substantially, it is clear that there is an immediate need to
offload data traffic for the best performance of voice and
data services.
But a large number of clouds appear in the sky with
different charging and conditions, and offloading the same
program to different clouds may result in different amounts
of computing within the same duration due different cloud
speeds, and may cost different communication time due to
bandwidth and cloud availability.
Therefore, an optimal cloud path selection method is
needed when choosing the best cloud.
27
28. Cloud Path Selection for Offloading
The selection process can be a hard task since a variety of
data needs to be analyzed and many factors need to be
considered. AHP and fuzzy TOPSIS are ideal ways to do
multiple criteria decision making.
28
Cloud path selection.
29. Cloud Path Selection Methods
There are different ways to determine the optimal cloud path pair
when more than one such path exists. They can be summarized as
follows:
Random: Select the cloud path pair randomly.
Bandwidth dependent: Choose the cloud path pair with the
highest bandwidth.
Link failure rate dependent: Select the cloud path pair with the
lowest link failure rate.
Speedup factor dependent: Select the cloud path pair with the
highest speedup factor.
Cost dependent: Select the cloud path pair with the lowest
cost.
29
30. Cloud Path Selection Issues
The choice must be taken into consideration the understated issues:
Bandwidth: It depends on the wireless link between the mobile
devices and cloud.
Price: It denotes the cost for the same amount of computing and its
variation in different cloud services.
Speed: It presents how fast a server can compute on cloud (speedup
factor F).
Security: It is dangerous that security and privacy settings depend
on the cloud providers as the data are stored and managed inside
the cloud.
Availability: It is related to the link’s failure and cloud’s
unavailability during the whole offloading process.
30