Download presentation
Presentation is loading. Please wait.
Published bysaif salah Modified over 5 years ago
1
ch4 Offloading in Mobile Cloud Computing Prepared by Saif Salah Abood
Supervisor by Assist. Prof. Dr. Karim Q. Hussein ch4
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.
3
Cloud Computing Forms Advantages Infrastructure as a Service (IaaS)
Platform as a Service (PaaS) Software as a Service (SaaS) Advantages Reduced cost Easy Maintenance Automatic Scaling
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
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.
6
Table 4.1. The parameters used in performance measurement and energy calculation:
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
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:
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:
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 𝑆𝑠 − 𝑑𝑖 𝐵
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
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.
12
Table 4.2. The parameters Ranges
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 Server Power (Pi) 1 KW/s – 1 MW/s 103 – 106
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) Sm 1 GHz 109 Tm w/Sm 10s Ss 1 P/s 1015 Ts (w/Ss) s W 10G 1010 Tt (di/B) 1s di 5MB 5×106 T=Tm - (Ts+Tc ) 9s B Em Pm(w/Sm) 300W Pm 30W/s 30 Es Pi(w/Ss) 1W Pi 100KW/s 105 Et Pc(di/B) Pc 0.8W/s 0.8 E=Em - (Es+Ec ) 298W
14
Offloading Decision Never offload computation
Offloading decision depends on bandwidth, and communication Never offload computation Always offload computation Amount of data offload Amount of computation Figure 4.2 Decision of offloading based on the amount of data and computation.
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.
16
Types of Offloading Depending on Material Being Offloaded
Data offloading: Computational offloading: 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
17
Types of Offloading
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
19
Offloading in MCC deals with moving devices
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
20
Adaptive Computation Offloading from Mobile Devices
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.
21
Adaptive Computation Offloading from Mobile Devices
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.
22
Adaptive Computation Offloading from Mobile Devices
Mobile Augmentation Cloud Services (MACS) 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
23
Adaptive Computation Offloading from Mobile Devices
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.
24
Adaptive Computation Offloading from Mobile Devices
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.
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,
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.
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.
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. 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.
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.
31
Thank you for listening
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.