Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Offloading in Mobile Cloud
Computing
Prepared by
Saif Salah Abood
Supervisor by
Assist. Prof. Dr. Karim Q. Hussein
ch4
1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Types of Offloading
17
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
  • 31. 31