Despite the advances mobile devices have endured, they still remain resource-restricted computing devices, so there is a need for a technology that supports these devices. An emerging technology that supports such resource-constrained devices is called fog computing. End devices can offload the task to close-by fog nodes to improve the quality of service and experience. Since computation offloading is a multiobjective problem, we need to consider many factors before taking offloading decisions, such as task length, remaining battery power, latency, communication cost, etc. This study uses the multiobjective grey wolf optimization (MOGWO) technique for optimizing offloading decisions. This is the first time MOGWO has been applied for computation offloading in fog computing. A gravity reference point method is also integrated with MOGWO to propose an enhanced multiobjective grey wolf optimization (E-MOGWO) algorithm. It finds the optimal offloading target by taking into account two parameters, i.e., energy consumption and computational time in a heterogeneous, scalable, multi-fog, multi-user environment. The proposed E-MOGWO is compared with MOGWO, non-dominated sorting genetic algorithm (NSGA-II) and accelerated particle swarm optimization (APSO). The results showed that the proposed algorithm achieved better results than existing approaches regarding energy consumption, computational time and the number of tasks successfully executed.
Today’s devices have an array of sensors embedded to continuously monitor their surroundings in real-time. The internet of things (IoT) devices generally has inadequate battery power, computational capability, and memory capacity, which leads to poor performance and reduces the quality of service (QoS) for computational-intensive applications [
The full potential of fog computing can be realized using the offloading technique. Moreover, the offloading problem is np hard, and its complexity increases with the number of tasks. In this article, we use the MOGWO technique for the CO problem. MOGWO is integrated with gravity reference points to enhance the performance further. The proposed strategy significantly contributes by identifying the best computing server for every task based on two QoS parameters, i.e., computational time and energy consumption.
The following is a summary of the paper’s main contribution: We investigate a multiobjective CO problem for a heterogeneous multi-user, multi-fog server and cloud environment. MOGWO algorithm is used to select the best offloading server on the basis of minimum energy consumption and computational time. A gravity reference point method is also integrated with MOGWO to improve its performance as it has a better solution spread set. Lastly, the simulation of the proposed model and comparison of results with two other multiobjective algorithms have been carried out in a three-layer architecture.
The rest of the article is as follows: Section 2 of this paper details the literature review related to CO using metaheuristic techniques. Section 3 goes over the system model in detail, including the computational and energy models and the problem definition. The proposed algorithm is described in Section 4. Section 5 describes the simulation’s findings, and Section 6 describes the paper’s conclusion.
Various studies have been conducted for CO problems in FC till now. Various authors published review papers [
Most of the problems were either single objectives or converted to a single objective by assigning weight to the parameters. As a multiobjective problem, literature has no sufficient discussion to solve the offloading problem. Also, offloading is a multiobjective problem and its complexity increase with the number of tasks. Thus, developing a multiobjective grey wolf to solve the CO problem is an open issue.
We propose a three-layer system model in our proposed work: IoT devices layer, fog server (FS) layer, and cloud server (CS) layer. The FS layer is at the network’s edge and connects end devices with the cloud server. Suppose there are X IoT users
This model is used to compute computational time, which is the time it takes to execute a task. It is determined by the computational capabilities of the remote server or local device and the communication medium’s latency. It is calculated using
Here
The latency between end device i and the remote computing server j is calculated on the basis of the network’s bandwidth and distance.
Here
Case1: Local Execution
Here the task is processed at the end device itself, so the computational time is calculated using
The task is processed locally, so the latency (
Case 2: Remote Execution
The computational task is forwarded to the fog or cloud layer depending on the task’s latency and resource sensitivity. The computational time required to execute an application on a remote server is calculated using
Two factors primarily determine the energy utilization: (i) computational energy, which is consumed when the device is busy in executing the task, while (ii) transmission energy is the energy consumed during to and fro transmission of the task to a remote computational server. The energy consumed during execution is calculated as follows:
Case1: Local Execution
The energy consumed when a task executes at a local device is calculated using
Case 2: Remote Execution
The energy consumed when a task executes at a remote device is calculated using
Subject to
Multiobjective optimization (MOO), which was introduced by Vilfredo Pareto, determines the best solution values for multiple goals [
GWO is a nature-inspired meta-heuristic approach motivated by the grey wolf’s hunting style and social hierarchy [
where
where
Position if we follow alpha, then
Position if we follow beta, then
Position if we follow delta, then
The final position of the wolf is calculated using
The final stage of attacking the prey has been formulated using the vector
The
The GWO approach was developed to tackle one optimization problem at a time. Because of this, it cannot be used to solve multiobjective problems directly. MOGWO was proposed in 2016 by Mirjalili et al. [
Here we assume that all IoT devices’ probable CO decisions create a single position for the grey wolf as follows:
Step 1: Randomly initialize the wolf population
Here n represents the number of wolves, and d represents the dimension
Step 2: Calculate the objective function value of the wolf population. For each wolf, there are two objective functions to evaluate, i.e.,
It can be clearly observed that
The crowding degree (CD) of all the non-dominated solutions is computed using
where
where
Since the solution set of the gravity reference point technique is more evenly distributed, integrating it with MOGWO can boost its performance even more. E-MOGWO is a new hybrid method that combines the gravity reference point technique with MOGWO as shown in
The weight coefficient increases when the gravity reference point is closer to the current solution. This work defines two functions of computational time and energy consumption usage. When
Calculate the energy consumption and computational time of the current solution, and then estimate the distance between
Compute the weight parameters
The current solution is updated using
This part presents a simulation scenario for evaluating the proposed algorithm’s performance. The simulation has been performed using a pure edge simulator. All experiments are run on a system with an intel i5 processor, 8 GB RAM, 1TB hard disk and windows 10 operating system. The proposed E-MOGWO is compared with two multiobjective metaheuristic algorithms APSO [
Algorithm | Parameters |
---|---|
E-MOGWO | Grid inflation parameter (GIP) |
MOGWO | Grid inflation parameter (GIP) |
APSO | w = 0.5 |
NSGA-II | Cross over rate (CR) = 0.5 |
The simulator has been designed to simulate a three-layer system, i.e., IoT devices, fog server and cloud server. In the first layer, three different types of IoT applications of health, intelligent transport systems and augmentation reality are deployed on IoT devices. Each device generates a task according to deployed application and task generation rate. The experimental setup of IoT devices, fog nodes and cloud are shown in
Parameters | Values |
---|---|
Minimum number of IoT nodes | 100 |
Maximum number of IoT nodes | 1000 |
WLAN bandwidth | 500 (Mbits/s) |
End device counterstep | 100 |
Task generation rate | 5 Task/Device/Minutes |
Propagation delay | 0.2(s) |
WAN bandwidth | 500 (Mbits/s) |
Request length (MI) | 50–2000 |
Request size (megabits) | 1–16 |
Processing power of IoT devices (MIPS) | 1000–2000 |
RAM memory size of IoT devices (MB) | 256–512 |
Processing power of fog nodes (MIPS) | 4000–8000 |
RAM memory size of fog nodes (MB) | 512–1024 |
Processing power of each cloud server (MIPS) | 12000–30000 |
RAM memory size of cloud server (MB) | 2048–4096 |
Comparison Analysis: To evaluate the proposed technique, We analyzed energy consumption, computational time, the overall percentage of successful tasks, and the number of tasks completed at each level (local, fog, cloud).
It is the time required to execute a task either on a local IoT device or a fog or cloud server. It is defined by both the time required to complete a task on the device and the time required to transmit the task to the remote server. A comparative analysis of computational time is represented using
E-MOGWO algorithm reduces computational time by 5.10% over MOGWO, 6.10% over APSO and 9.72% over NSGA-II, as presented in
Number of devices | E-MOGWO | MOGWO | APSO | NSGA-II | PIR (%) over MOGWO | PIR (%) over APSO | PIR (%) over NSGA-II |
---|---|---|---|---|---|---|---|
100 | 150.05 | 152.32 | 152.68 | 153.56 | 1.49028361 | 1.72255698 | 2.2857515 |
200 | 330.23 | 336.45 | 336.98 | 340.42 | 1.84871452 | 2.00308624 | 2.99336114 |
300 | 610.24 | 625.42 | 630.2 | 634.45 | 2.42716894 | 3.16724849 | 3.81590354 |
400 | 940.87 | 984.52 | 985.08 | 1008.36 | 4.43363263 | 4.48796037 | 6.69304613 |
500 | 1345.98 | 1412.44 | 1413.12 | 1488.66 | 4.70533262 | 4.75118886 | 9.58445851 |
600 | 1878.02 | 1988.22 | 1992.88 | 2128.48 | 5.54264619 | 5.76351812 | 11.7670826 |
700 | 2456.03 | 2638.42 | 2686.36 | 2812.14 | 6.91284936 | 8.5740556 | 12.6633098 |
800 | 2937.78 | 3164.3 | 3223.22 | 3422.22 | 7.15861328 | 8.85574053 | 14.1557235 |
900 | 3623.54 | 3922.42 | 4002.38 | 4286.36 | 7.61978574 | 9.46536811 | 15.4634702 |
1000 | 4261.35 | 4680.42 | 4854.32 | 5188.22 | 8.95368364 | 12.2153051 | 17.8648939 |
Mean % improvement | 5.10927105 | 6.10060284 | 9.72870008 |
The total amount of energy used is the sum of computational and transmission energy. Most tasks in the simulation are handled at the fog layer or local device rather than the cloud layer. The cloud is only used for the most resource-intensive tasks. As fog nodes are deployed close to the end device, they assist in reducing transmission energy and total energy usage.
The proposed E-MOGWO algorithm significantly improved energy consumption over MOGWO, APSO and NSGA-II Algorithms. This algorithm reduces energy usage by 15.10% over MOGWO, 17.29% over APSO, and 21.91% over NSGA-II, respectively, as presented in
Number of devices | E-MOGWO | MOGWO | APSO | NSGA-II | PIR (%) over MOGWO | PIR (%) over APSO | PIR (%) over NSGA-II |
---|---|---|---|---|---|---|---|
100 | 1.5 | 1.9 | 1.98 | 2.07 | 21.0526316 | 24.2424242 | 27.5362319 |
200 | 2.08 | 2.6 | 2.69 | 2.78 | 20 | 22.6765799 | 25.1798561 |
300 | 2.92 | 3.58 | 3.66 | 3.89 | 18.4357542 | 20.2185792 | 24.9357326 |
400 | 3.87 | 4.68 | 4.82 | 5.12 | 17.3076923 | 19.7095436 | 24.4140625 |
500 | 5.18 | 6.22 | 6.32 | 6.82 | 16.7202572 | 18.0379747 | 24.0469208 |
600 | 5.98 | 7.02 | 7.12 | 7.84 | 14.8148148 | 16.011236 | 23.7244898 |
700 | 7.89 | 9.12 | 9.38 | 9.97 | 13.4868421 | 15.8848614 | 20.8625878 |
800 | 9.54 | 10.66 | 10.98 | 11.68 | 10.5065666 | 13.1147541 | 18.3219178 |
900 | 11.23 | 12.54 | 12.89 | 13.54 | 10.446571 | 12.8782002 | 17.0605613 |
1000 | 13.89 | 15.13 | 15.46 | 15.96 | 8.19563781 | 10.1552393 | 12.9699248 |
Mean % improvement | 15.0966768 | 17.292939 | 21.9052285 |
The analysis of the percentage of the number of tasks successfully executed using the various algorithms is presented in
E-MOGWO provides good results than other algorithms. Because this algorithm has a good balance between exploration and exploitation, which allows the escape of local optima stagnation. This method also has fewer parameters than others, which is advantageous. Moreover, it has only one position vector compared to APSO, which has two vectors, i.e., velocity and position. Hence it requires less memory space. Moreover, when the total number of iterations is finished, the obtained solutions are stored as non-dominated solutions set. These are chosen from the less crowded region of the solution space using a leader selection algorithm. APSO and NSGA-II, on the other hand, save previously discovered solutions, resulting in solution duplication and premature convergence due to the rapid loss of diversity. This can be avoided with a grid mechanism that removes the current solution from the archive when it fills up and replaces it with a better one. The computational complexity of E-MOGWO is
A metaheuristic-based multiobjective offloading technique is proposed in this work. The optimal computing destination for each task is selected based on minimum energy consumption and minimum computational time. The E-MOGWO algorithm allocates delay-sensitive applications to local devices or fog nodes. In contrast, resource-sensitive applications are assigned to the fog or cloud layers. It decreases the energy consumption and processing time of offloaded applications, as specified in the results section. The simulation results showed that the proposed offloading approach reduces energy consumption by 15.10% over MOGWO, 17.29% over APSO, and 21.91% over NSGA-II, and reduces computational time by 5.10% over MOGWO, 6.10% over APSO and 9.72% over NSGA-II. In the future, we will be examining the alternative service level agreement constraints and other parameters to enhance the algorithm’s performance further.
Authors also acknowledge the CSE Department of Deenbandhu Chhotu Ram University of Science and Technology for providing various facilities in the research lab.