1. Introduction
Mobile cloud computing (MCC) is the integration of mobile computing and cloud computing, which aims to offload computing-intensive tasks from the mobile devices to the resource-rich cloud (such as Amazon Elastic Compute Cloud, Google App Engine [1]). It helps to save energy and improve the processing capability for mobile devices.
In the MCC environment, the complex tasks are able to be migrated from mobile devices to the remote cloud or cloudlet via wireless access (e.g. 3G/4G, Wi-Fi) [2]. However, the process of offloading through 3G/4G usually cause long delay and slow data transfers [3]. On the other hand, the cloudlet brings low communication latency connecting to the mobile devices with Wi-Fi networks, but the system scalability is poor when the number of mobile users increases fast [4]. It is quite significant to consider how to make offloading decisions while satisfying various requirement of multiple users.
To address the aforementioned challenges, we focus on how to make the computation of floading decisions for multi-user with the bandwidth limitation in the MCC environment. For a three-tier MCC architecture (the mobile users, nearby cloudlet and public cloud), the multi-objective optimization model is proposed to minimize the average energy consumption, time and cost of all users. Then, an improved multi-objective algorithm named is presented based on the NSGA-II algorithm. The main improvements of the proposed algorithm are as follows: Firstly, an adaptive Differential Evolution (DE) mutation operator and Normal Distribution Crossover (NDX) operator are applied to expand the searching space. Secondly, the Diversity Maintaining Strategy (DMS) is proposed to improve its diversity. Thirdly, the Elitist Learning Strategy (ELS) is designed to perform on the non-dominated solutions in each generation for better convergence.
To summarize, the major contributions of this paper are as follows:
1) The computation offloading decision making for multiple users in the MCC environment is modeled as a constrained multi-objective optimization problem, aiming to minimize the average energy consumption, time and cost;
2) During the process of mutation and crossover in the improved NSGA-II, an adaptive DEmutation operator and NDX operator are applied to expand the searching space;
3) In order to improve the diversity of Pareto solutions, the DMS is proposed according to the different state of the algorithm;
4) The ELS is designed to perform on the non-dominated solutions in each generation for better convergence;
5) Simulations show that the proposed algorithm behaves better than other compared algorithms in terms of energy, time and cost while meeting the constraint of bandwidth.
The remainder of the paper is organized as follows. Section 2 briefly reviews the related works of model and algorithm of computation offloading, followed by a description of the system and computation offloading model in Section 3. In section 4, an improved NSGA-II algorithm (D-NSGA-II-ELS) is presented in detail. Section 5 demonstrates the results and performance of the proposed algorithm. The conclusion is given in section 6.
2. Related Work
Usually, there are one or more optimization objectives for the offloading decisions under the MCC environment. However, most of the state-of-the-art researches focused on single-objective issues with different constraints. Rashidi et al. [5] proposed a queue model for their mobile cloud architecture and designed a hybrid heuristic algorithm to minimize mean completion time of all tasks. In [6], a dynamic algorithm based on Lyapunov optimization was proposed to save energy when meeting the time constraint. Taking the limitations of delay and energy into account, a new K-M-LARAC algorithm based on K-LARAC and M-LARACalgorithms was proposed by Haghighi et al. to minimize cost [7]. There are some researchers who have contributed to the study of multi-objective problems as well. In [8], Goudarzi et al. proposed a weighted cost model based on execution time and energy consumption to achieve a trade off between them for offloading. To solve this problem, a branch-and-bound algorithm with an optimal branching rule, a fast search strategy and an appropriate bounding function, was firstly designed for the small-scale applications, and then an improved Particle Swarm Optimization (PSO) algorithm was developed to achieve the best-possible offloading solution for the large-scale applications. In [9], aiming at minimizing energy consumption, delay and cost, a multi-objective optimization problem with a queuing model was formulated. This optimization problem was addressed by setting different weight values for various objectives, and the Interior Point Method was applied to achieve the optimal solution. In order tominimize both execution delay and energy consumption for computation offloading, two cases were taken into consideration [10]. For the special case of infinite energy capacity, polynomial-time optimal solution based on weighted bipartite matching problem was proposed. For the general case, an efficient heuristic algorithm was designed to obtain the trade off solution between execution delay and energy consumption.
In MCC environment, there are many previous works that have researched the single-user computation offloading problem. In [11], considering a heterogeneous environment with cloudlet and public clouds, an efficient multisite computation offloading algorithm is presented based on the Genetic Algorithm (GA) to minimize the cost of application execution. To minimize the weighted sum of energy, computation and delay, Chen et al. [12] formulated the offloading decision making as a non-convex constrained quadratic program and developed an efficient heuristic algorithm based on semi definite relaxation and a novel randomization mapping method. Meanwhile, a few works have focused on multiple mobile users. In [13], Cao et al. considered a multi-user multi-radio channel scenery and formulated this of floading decision making problem as a noncooperative game. Then, a distributed computation of floading algorithm, which introduced the machine learning technology, was proposed to solve this problem. In [14], a reverse auction-based offloading method was designed to make decisions for multiple users. This method aimed at minimizing average energy consumption while meeting the constraints of time and communication quality of the wireless channel. Kuang et al. [15] proposed a Dynamic Programming After Filtering algorithm for multi-user, which takes into account the bandwidth limitation of the Wi-Fi AP but only focuses on single-objective.
From the aforementioned related studies, most works concentrate on single-user multi-objective problem (e.g. [8]-[10]) or the multi-user single-objective optimization with constraints (e.g. [13]-[15]). There are few works that aim at multi-objective problem for multiple users. For example, in [16], an efficient three-step algorithm was proposed to minimize the cost of energy, computation, and delay for all users. Then, the multi-objective optimization problem was finally simplified as single-objective optimization problem with different weights for various objectives. However, it is difficult to assign the accurate weight values for all the users in terms of their preferences. Thus, in this paper, we study a multi-objective optimization problem with many constraints in a multi-user MCCenvironment. Moreover, an improved multi-objective optimization algorithm based on NSGA-II is proposed to solve this problem.
3. System Model and Problem Formulation
In this paper, we consider a three-tiered MCC environment consisting of mobile users, nearby cloudlet with limited resources, and remote rich-resource public cloud [4]. Under this environment, tasks can be executed either on the mobile devices or offloaded to the cloudlet through a Wi-Fi access point or the remote cloud through 3G/4G communication. The architecture is depicted as Fig. 1. Generally, not all tasks can be offloaded to the cloudlet for execution because there is limited bandwidth available at an access point. We assume that the bandwidth between mobile device and cloudlet is \(B_{C L}\) , and the bandwidth between mobile device and cloud is \(B_{C}\) . For most situations, \(B_{C L} \geq B_{C}\) [6].
In this section, inspired by Chen et al. [17], the computation offloading model will be presented, and the computation offloading problem is formulated as a constrained multi-objective optimization problem.
Fig. 1. The architecture of a mobile cloud offloading system
3.1 Offloading Decision
For each mobile user, we assume that there is only one task that needs to be executed locally or be offloaded. Meanwhile, an offloaded task may be processed on the cloudlet or be further forwarded to the remote cloud. Therefore, the offloading decisions could be expressed as follows:
\(x_{i}^{L}+x_{i}^{C L}+x_{i}^{C}=1\) (1)
Where \(x_i^L,x_i^CL,x_i^C\in \left\{0,1\right\}\) indicates whether the task of user i is executed locally, on the cloudlet, or on the cloud, respectively. And it is worth noting that only one location can be selected to perform the task for each user.
3.2 System Model
In this section, we mainly consider three performance metrics: execution energy consumption, execution time, execution cost. Details will be described as following. Table 1 shows the definitions of terms and concepts in this article.
Table 1. Notations
A. Local Processing
We assume the total number of mobile devices is n. Di represents the number of required CPU cycles to execute task i, and \(f_i^L\) indicates the computation capability of the mobile device i. Here we allow that different mobile devices may have different computation capability. When the task i is processed locally, the execution time \(T_i^L\) , the execution energy consumption \(E_i^L\) and the execution cost \(C_i^L\) are defined as follows, respectively:
\(T_{i}^{L}=\frac{D_{i}}{f_{i}^{L}}\) (2)
\(E_{i}^{L}=\frac{D_{i}}{f_{i}^{L}} P_{i}^{E}\) (3)
\(C_{i}^{L}=\frac{D_{i}}{f_{i}^{L}} C_{i}^{L_{-} c o m p u t t}\) (4)
Where \(P_i^E,C_i^{L\_comepute}\) respectively mean the execution power and the computing charge of per unit time of device i executed locally.
B. Cloudlet Processing
Since there are multiple tasks offloaded to the cloudlet for processing, it’s necessary to consider the computing and communication model at the same time [18]. Here, \(B_{i}\) denotes the size of computation input data and \(f^{CL}\) represents the cloudlet computation capability. Then, we can calculate the total time \(T_i^{CL}\), total energy \(E_i^{CL}\) and total cost \(C_i^{CL}\) of mobiledevice user i can be calculated as:
\(T_{i}^{C L}=\frac{D_{i}}{f^{C L}}+\frac{B_{i}}{W_{i}^{C L}}\) (5)
\(E_{i}^{C L}=\frac{D_{i}}{f^{C L}} P_{i}^{I}+\frac{B_{i}}{W_{i}^{C L}} P_{i}^{C L_{-} t r a n s}\) (6)
\(C_{i}^{C L}=\frac{D_{i}}{f^{C L}} C^{C L}+\frac{B_{i}}{W_{i}^{C L}} C^{C L_{-}-r w a r s}\) (7)
Where \(W_i^{CL}\) denotes the uplink bandwidth for computation offloading between the mobile device and cloudlet; \(P_i^{CL\_trans}\) denotes the transmitting power; the cost per unit time is represented as \(C^{CL\_trans}\) ; \(P_i^I\)means the idle power of device i and \(C^{CL}\) is the cost per unit time executed in the cloudlet.
C. Cloud Processing
If a task i is offloaded to the cloud for execution, its calculation process of time \(T_i^C\) , energy \(E_i^C\) and cost \(C_i^C\) is similar to that in the cloudlet. Therefore, those can be calculated as:
\(T_{i}^{C}=\frac{D_{i}}{f^{C}}+\frac{B_{i}}{W_{i}^{C}}\) (8)
\(E_{i}^{C}=\frac{D_{i}}{f^{C}} P_{i}^{I}+\frac{B_{i}}{W_{i}^{C}} P_{i}^{C_{-}-r a n s}\) (9)
\(C_{i}^{C}=\frac{D_{i}}{f^{C}} C^{C}+\frac{B_{i}}{W_{i}^{C}} C^{C_{-}t r a n s}\) (10)
Where\(f^C,C^C\) represents the computation capability and the cost of per unit time in the cloud separately. For the communication process of device i to cloud, \(W_i^C\)indicates the bandwidth, \(P_i^{C\_trans}\) is the transmitting power and \(C^{C\_trans}\) denotes the transmitting cost of per unit time.
Notice that, in this paper, the process of returning results from the cloudlet or cloud to the device is neglected, which is similar to existing work [15], [18] - [20]. The reason is that, in general, the computation outcome is much smaller for many applications when compared with the size of input data.
3.3 Problem Formulation
The computation offloading problem among multiple users aims at minimizing the average energy consumption \(E_{avg}\) , average time \(T_{avg}\)and average cost \(C_{avg}\) of all users. They could be calculated as follows:
\(E_{a v g}=\sum_{i=1}^{n}\left(E_{i}^{L} x_{i}^{L}+E_{i}^{C L} x_{i}^{C L}+E_{i}^{C} x_{i}^{C}\right) / n\) (11)
\(T_{avg}=\sum_{i=1}^{n}\left(T_{i}^{L} x_{i}^{L}+T_{i}^{C L} x_{i}^{C L}+T_{i}^{C} x_{i}^{C}\right) / n\) (12)
\(C_{a v g}=\sum_{i=1}^{n}\left(C_{i}^{L} x_{i}^{L}+C_{i}^{C L} x_{i}^{C L}+C_{i}^{C} x_{i}^{C}\right) / n\) (13)
Moreover, the maximum tolerated time Tmax , maximum tolerated energy E max and maximum tolerated cost Cmax need to be considered according to the expectations of mobile users and providers. Simultaneously, the available bandwidth at an access point is limited, denoted by Wmax . Thus, in this paper, the offloading problem under MCC environment is formulated as a constrained multi-objective optimization problem.
\(\text { Minimize: }\left\{E_{a v g}, T_{a v g}, C_{a v g}\right\}\) (14)
Subject to:
\(E_{a v g} \leq E_{\mathrm{max}}\) (15)
\(T_{a v g} \leq T_{\max }\) (16)
\(C_{a v g} \leq C_{\max }\) (17)
\(\sum_{i=1}^{n} W_{i}^{C L} x_{i}^{C L} \leq W_{\max }\) (18)
\(x_{i}^{L}+x_{i}^{C L}+x_{i}^{C}=1\) (19)
4. Computation Offloading Algorithm
The multi-objective optimization model for computation offloading under MCC environment is modeled as a nonlinear multi-objective optimization problem with many constraints and decision variables. The multi-objective evolutionary algorithm (MOEA) is an efficient method to deal with it. Among MOEAs, NSGA-II [21] is a widely adopted algorithm, which has low computational complexity and good convergence. There are three main features in NSGA-II, including the non-dominated sorting, crowding distance calculation and elitist strategy. In an evolutionary cycle of the algorithm, for parent population and offspring population, a rank is assigned to each solution based on the non-domination sorting between the solutions. Then, the whole population will be classified into various non-domination levels. After that, the crowding distance is employed to estimate the density of individuals for every solution in the same level. In the elite strategy, these better individuals, which have higher nondominated sets level and larger crowding distance, will be retained into the next generation.
However, in order to further improve the diversity and convergence of Pareto optimal solutions when solving the complicated and constrained optimization problems, an improved NSGA-II algorithm (D-NSGA-II-ELS) based on traditional NSGA-II is proposed in this paper. The key improved operations are presented as follows.
4.1 Generate the Offspring
Since the offspring are generated by the crossover and mutation from father chromosomes, the two operators play an important role in the algorithm, whose results have an impact on the direction and scope of the search. Thus in this paper, the DE mutation operator and the ND Xoperator is applied to replace the original ones.
A. Mutation operator
Due to multiple mutation strategies of DE algorithm, the adaptive mutation operator, which comprehensively considers the strong global search capability of DE/rand/1/bin in Eq. 20 and the fast convergence speed of DE/best/1/bin in Eq. 21, is adopted finally [22]. It can be expressed in Eq. 22.
\(\mathrm{DE} / \mathrm{rand} / 1 / \mathrm{bin}: v_{i, G}=x_{r 1, G}+F \cdot\left(x_{r 2, G}-x_{r 3, G}\right)\) (20)
\(\mathrm{DE} / \text { best/ } 1 / \mathrm{bin}: v_{i, G}=x_{\text {best.}, G}+F \cdot\left(x_{r 1, G}-x_{r 2, G}\right)\) (21)
\(v_{i, G}=\left(1-w_{G}\right) \cdot x_{r_{1}, G}+w_{G} \cdot x_{b e x, G}+F \cdot\left(x_{r 2, G}-x_{r 3, G}\right)\) (22)
Where G denotes the current generation; \(W_G=G/G_{max}\) is the weight factor in generation \(G;G_{max}\) represents the maximum number of generation; \(w_G\) is linearly increased from 0 to 1; \(x_{r1,G}\) accounts for a significant proportion in the early stage of evolution; \(x_{best,G}\) is more considered in later period, which improves the convergence speed of the algorithm.
We let \(F_{max}=0.9, F_{min}=0.4\) [23]. An adaptive mutation operator is shown as Eq. 23, which improves the diversity to avoid premature in the early iteration and accelerates convergence to optimal solution in the later stages.
\(F=F_{\max }-\left(F_{\max }-F_{\min }\right) \cdot G / G_{\max }\) (23)
B. Crossover operator
In order to enhance the search ability in the space, NDX is applied in the algorithm, which is described as follows [24]:
\(\left\{\begin{array}{l} {v_{i, j}=\left(x_{r 1, j}+x_{r 2, j}\right) / 2+1.481 \cdot|N(0,1)| \cdot\left(x_{r 1, j}-x_{r 2, j}\right) / 2, u \leq 0.5} \\ {v_{i, j}=\left(x_{r 1, j}+x_{r 2, j}\right) / 2-1.481 \cdot|N(0,1)| \cdot\left(x_{r 1, j}-x_{r 2, j}\right) / 2, u>0.5} \end{array}\right.\) (24)
Where \(v_{i,j}\) denotes the j-th variable of the offspring chromosome\(i;N(0,1)\) is a normal distribution random variable and u is a random number uniformly distributed from 0 to 1.
With the expansion of search capabilities, the problem of local optimization and unstable evolutionary processes is avoided. And as a result, the quality of the pareto solutions can be improved.
4.2 Diversity Maintaining Strategy
Based on the crowding distance (CD), the population diversity maintaining strategy of the original NSGA-II is that: we assume that the size of the population is N and the number of non-dominated solutions is M. When M>N, the M individuals are arranged in descending order according to their respective CD values. Then, we remove the last M-N solutions with the lower CD value from the population at one time.
The CD of individual i is calculated by Eq. 25. Where Qjmax and Qjmin are the max and min normalized values of the objective j respectively.
\(C D_{i}=\sqrt{\sum_{j=1}^{M}\left(\frac{Q_{j}^{i+1}-Q_{j}^{i-1}}{Q_{j}^{\max }-Q_{j}^{\min }}\right)^{2}}\) (25)
However, some issues may occur by using the above method. For example, in Fig. 2, solid black spots A~G represent non-dominated individuals, individual C, D and E are deleted from the non-dominated set for their small CD values, resulting that some parts of the set are too crowded and some parts are too sparse [25].
Fig. 2. The individual distribution of the population
Thus, in this paper, a dynamic method of deleting individuals one by one is introduced into the algorithm to improve the uniformity of non-dominated solutions. Furthermore, in this method, the Euclidean distance in Eq. 26 is utilized to evaluate the relationship between individual i and other individuals. Algorithm 1 shows the process in detail.
\(d=\sqrt{\sum_{j=1}^{M}\left(x_{j}-y_{j}\right)^{2}}\) (26)
4.3 Elitist Learning Strategy
In order to avoid falling into local optimum and achieve better converge for Pareto solutions, the Elitist Learning Strategy (ELS) is employed. Since the better individual means closer to the true pareto optimal boundary, it is more beneficial to select individuals in the non-dominated set to perform the ELS than other ones. And in order to reduce the computational burden, the learning strategy is only used in part of the non-dominated solutions in each iteration.
In the non-dominated set, the larger CD values of individuals indicates that other non-dominated solutions distributed around them are sparser, and learning them can effectively improve the uniformity of non-dominated solutions. Therefore, in ELS, the Binary Tournament Selection is adopted to choose solutions from the non-dominated set to perform neighborhood learning, which can increase the chances of individuals with larger CD values being selected. The elitist learning operation is as follows:
\(v_{i, j}=x_{i, j}+\left(x_{i, j}^{u b}-x_{i, j}^{l b}\right) \cdot Gaussian (\mu, \sigma)\) (27)
\(\sigma=\sigma_{\max }-\left(\sigma_{\max }-\sigma_{\min }\right) \cdot G / G_{\max }\) (28)
Where \(x_{i,j}^{ub},x_{i,j}^{lb}\) are the upper and lower bounds of the j-th variable for the individual irespectively. The elitist learning rate σ is linearly decreasing as the number of iterations increases. The upper bound and lower bound of it are set as \(\sigma_{max}=1.0,\sigma_{min}=0.1\) [26]. Gaussian \((\mu,\sigma)\) is a random number of a Gaussian distribution with mean µ and standard deviation σ.
4.4 The Process of D-NSGA-II-ELS
With above approaches, the D-NSGA-II-ELS algorithm can be summarized as follows:
Step 1: Set the relevant parameters and let the number of iterations be 1 t= ;
Step 2: Initialize a parent population \(pop_0\) and an elitist learning population \(epop_0\);
Step 3: Repeat the following steps, until the termination condition is satisfied.
Step 3.1: Generate a new offspring population \(opop_{G+1}\) through the selection, improved crossover and improved mutation operations in section 4.1 on the parent population of the last iteration \(pop_G\) ;
Step 3.2: Combine the population \(pop_G,opop_{G+1}\) and \(epop_G\) , calculate the fitness and then calculate the non-dominated rank and the crowding distance of each individual according to the fitness, next sort this population;
Step 3.3: If the number of non-dominated solutions (M) is larger than the capacity of the parent population (N), the improved diversity maintenance strategy in section 4.2 is adopted to choose N individuals to enter into the new parent population \(pop_{G+1}\) , otherwise the elite strategy in the traditional NSGA-II is adopted to select the top N individuals with low non-dominated levels and larger CD values;
Step 3.4: Perform the ELS in section 4.3 for non-dominated solutions in \(pop_{G+1}\) to obtain the population.
5. Example Analysis
In order to verify the performance of the proposed algorithm D-NSGA-II-ELS, we compare it with original NSGA-II algorithm [21] and another improved algorithm (LS-NSGA-II-DE)
[27]. The partial related parameters of the algorithms are set as follows: the size of the population is 50; the max generation is 200; and others are shown in Table 2. Each instance is independently run 30 times. All algorithms are written with Matlab and implemented in a PC with the Inter (R) Core (TM) CPU i5-8400 (2.81 GHz and 8G RAM).
Table 2. Algorithm parameters
5.1 Experiments on Multi-objective Benchmark Functions
1) Multi-Objective Benchmark Functions
Seven different widely used multi-objective Benchmark functions are adopted to evaluate the proposed algorithm with two other MOEAs, which include four unconstrained test instances (ZDT1-ZDT3, UF2) and three constrained problems (Binh2, Srinivas, CTP1) [28] [29] [30]. Among all of these 7 functions, UF2 and CTP1 have much more complicated search space. The details of these optimization problems are depicted in Table 3.
Table 3. Description of Benchmark Functions
2) Performance Metrics
In order to quantify the convergence and diversity of Pareto optimal front obtained by the proposed algorithm (D-NSGA-II-ELS) and other comparison algorithms, the inverted generational distance (IGD) [31] and Spread [32] are used to evaluate the performance of the algorithm.
IGD: This value reflects the convergence of the solutions, and it can be obtained by Eq. 29 for a uniformly distributed along the true Pareto fronts and the obtained solution points.
\(I G D=\frac{\sqrt{\sum_{i=1}^{n} d_{i}^{2}}}{n}\) (29)
Where n is the number of the obtained solutions and id is the Euclidean distance between the obtained solution i and the closest solution of the true Pareto front. The smaller value of IGD is, the better quality of the obtained solution is.
Spread: This metric measures the diversity of the non-dominated solutions along the obtained approximation Pareto front. The value can be calculated by Eq. 30.
\(\text { Spread }=\frac{d_{f}+d_{l}+\sum_{i=1}^{n}\left|d_{i}-\bar{d}\right|}{d_{f}+d_{l}+(n-1) \cdot \bar{d}}\) (30)
Where \(d_{i}\) and n are the same as in IGD. df , di represent the Euclidean distance of the two boundary points in the obtained Pareto front set respectively, and \(\bar{d}\) is the average of di . When the value is close to zero, the solutions we obtained distributes uniformly.
3) Experimental Results
Table 4. The IGD and Spread obtained by three different algorithms
Table 4 lists the mean IGD and Spread values of the 7 Benchmark functions generated by above three algorithms through 30 independent experiments. From Table 4, it can be seen that the D-NSGA-II-ELS obtains 5 best values of IGD and 6 best values of Spread, which means the Pareto fronts of the proposed algorithm is closer to the true Pareto fronts than other algorithms for these Benchmark functions. Especially, with the complexity of the search space on Benchmark functions, like UF2 and CTP1, the proposed algorithm still performs better in both the value of IGD and the value of Spread.
5.2 Experiments on multi-objective computation offloading
In order to evaluate the effectiveness of the proposed optimization algorithm for the constrained computation offloading problem in MCC environment, it is compared with the existing algorithms. The goal of this proposed algorithm is to achieve better of floading decision for multiple users with minimal mean execution energy, time and cost.
1) Simulation Settings
Various simulation parameters are set as follows. The number of mobile devices varies from 100 to 500. For each device, the CPU cycles are set from 1000 to 5000 Mega cycles and the size of computation input data is generated from 50 kB to 200 kB randomly. The CPU clock frequency is between 0.9 GHz and 1.1 GHz. The computation capability of the cloudlet and cloud server are set 3.0 GHz and 8.0 GHz respectively. When the device is idle, the power is set between 100 mW and 150 mW. Conversely, the processing power of the device is between 300 mW and 355 mW.
The WiFi radio power is generated from 155 mW to 205 mW, and 3G/4G radio power is from 200 mW to 255 mW. The corresponding cost per unit time is set 0.15 dollars and 0.25 dollars respectively. And we assume the cost per unit time is 0.25 dollars in cloudlet and 0.45 dollars in cloud respectively.
2) Experimental Results
In order to verify the practicality of the proposed algorithm, we compare it with other algorithms. The constraints are set as follows:\(W_{max}=7500, E_{max}=500, T_{max}=2500\) and\(C_{max}=32\) . Table 5 shows the average (Avg) values, Standard deviation (Sd) and 95% Confidence Interval (CI) of the energy consumption, time and cost under above constraints. Fig. 4 gives the box plots of the three indicators’ values obtained by all algorithms. The Pareto front obtained by three different algorithms is illustrated in Fig. 3.
Table 5. Comparison of energy, time and cost values obtained by the different
From Table 5, Fig. 3 and Fig. 4, it can be observed that the average energy and average time obtained by proposed D-NSGA-II-ELS is the lowest compared with other two algorithms, while NSGA-II is more prominent in the indicators of average cost. What’ s more, in terms of the standard deviation and Confidence interval, the proposed algorithm performs better than those obtained by other algorithms, which means that the D-NSGA-II-ELS is the most stable among these three algorithms.
Fig. 3. The Pareto front obtained by the different algorithms for computation offloading
Fig. 4. The values obtained by three the different algorithms
Furthermore, we will pay attention to the impact of bandwidth and the changes of the number of users on the simulation performance. Firstly, the bandwidth limitation is set as 1000kbps lower than the previous time, and the range of successive reductions is 15000 to 10000kbps. And in this simulation, the number of users is 200 and other constraints is same as before. Fig. 5 gives the figures of energy, time and cost. It can be seen that the proposed algorithm can maintain the optimal performance under three indexes (energy, time and cost) when the constraints become stricter. And although all three algorithms show a growing trend, the D-NSGA-II-ELS is relatively slow compared to the other two algorithms. This is because the more available bandwidth is not provided, the more tasks cannot be executed in cloudlet. In all the situations, the proposed algorithm is always able to give better solutions compared to other algorithms.
Then, in order to evaluate the performance when the number of users changes, some experimental parameters have been changed. In this simulation, each time 50 tasks are generated randomly based on last round offloading tasks. The number of offloading tasks varies from 100 to 500. Fig. 6 shows the trend graph of the three algorithms. Obviously, with the number of the tasks increasing, the energy and time obtained by D-NSGA-II-ELS are still the lowest. And from the perspective of cost, compared to other algorithms, the proposed algorithm is the lowest when the number of users is above 200. This means that D-NSGA-II-ELS still has excellent search capabilities even when the search space becomes larger.
Fig. 5. The comparisons of different bandwidths in multiple users
Fig. 6. The energy, time and cost under the conditions of different users
6. Conclusion
In this paper, a multi-objective optimization model for computation offloading is established to minimize the average energy consumption, average time and average cost of multiple users in the MCC environment. Furthermore, an improved algorithm D-NSGA-II-ELS is proposed to enhance the convergence and diversity of Pareto optimal solutions. The algorithm is based on NSGA-II algorithm, an adaptive DE mutation operator and NDX crossover operator are applied into this algorithm to expand the search space simultaneously. Then, an improved diversity maintaining strategy DMS is adopted to improve the uniformity of obtained Pare to optimal solution set. Finally, the elitist learning strategy ELS is performed on the non-dominated solutions in each generation, which avoids falling into local optimum and achieves better converge for Pareto solutions.
To demonstrate the advantages of the proposed algorithm, it is tested by several multi-objective benchmark functions and the computation offloading model. The results show that the D-NSGA-II-ELS has better performance in terms of optimization ability, convergence and diversity of the obtained Pareto optimal solutions compared to other algorithms. In addition, the proposed optimization method achieves better performance in the aspects of energy consumption, time and cost in computation offloading under MCC environment. In the future work, we will pay attention to the impact of users’ mobility on this problem.
Acknowledgment
This work is supported by the National Natural Science Foundation of China under Grants 61772068, 61370132 and 61472033.
참고문헌
- Z. Sanaei, S. Abolfazli, A. Gani, et al, "Heterogeneity in Mobile Cloud Computing: Taxonomy and Open Challenges," IEEE Communications Surveys and Tutorials, vol. 16, no. 1, pp. 369-392, May 2013. https://doi.org/10.1109/SURV.2013.050113.00090
- X. Chen, L. Jiao, W. Li, et al, "Efficient Multi-User Computation Offloading for Mobile-Edge Cloud Computing," IEEE.ACM Transactions on Networking, vol. 24, no. 5, pp. 2795-2808, October 2015.
- M. V. Barbera, S. Kosta, A. Mei, et al, "To Offload or Not to Offload? The Bandwidth and Energy Costs of Mobile Cloud Computing," in Proc. of 2013 Proceedings IEEE INFOCOM, July 2013.
- Q. Xia, W. Liang, Z. Xu, et al, "Online Algorithms for Location-Aware Task Offloading in Two-Tiered Mobile Cloud Environments," in Proc. of 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, February 2015.
- S. Rashidi, S. Sharifian, "A hybrid heuristic queue based algorithm for task assignment in mobile cloud," Future Generation Computer Systems, vol. 68, pp. 331-345, March 2017. https://doi.org/10.1016/j.future.2016.10.014
- H. Wu, y. Sun, K. Wolter, "Energy-Efficient Decision Making for Mobile Cloud Offloading," IEEE Transactions on Cloud Computing, January 2018.
- V. Haghighi, N. S. Moayedian, "An Offloading Strategy in Mobile Cloud Computing Considering Energy and Delay Constraints," IEEE Access, vol. 6, pp. 11849 - 11861, March 2018. https://doi.org/10.1109/ACCESS.2018.2808411
- M. Goudarzi, M. Zamani, A. T. Haghighat, "A fast hybrid multi-site computation offloading for mobile cloud computing," Journal of Network and Computer Applications, vol. 80, pp. 219-231, February 2017. https://doi.org/10.1016/j.jnca.2016.12.031
- L. Liu, Z. Chang, X. Guo, et al, "Multi-objective optimization for computation offloading in mobile-edge computing," in Proc. of 2017 IEEE Symposium on Computers and Communications (ISCC), September 2017.
- X. Wang, J. Wang, X. Wang, et al, "Energy and Delay Tradeoff for Application Offloading in Mobile Cloud Computing," IEEE Systems Journal, vol. 11, no. 2, pp. 858-867, August 2015, https://doi.org/10.1109/JSYST.2015.2466617
- M. Goudarzi, Z. Movahedi, M. Nazari, "Efficient Multisite Computation Offloading for Mobile Cloud Computing," in Proc. of 2016 Intl IEEE Conferences on Ubiquitous Intelligence and Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress, January 2017.
- M. H. Chen, B. Liang, M. Dong, "A semidefinite relaxation approach to mobile cloud offloading with computing access point," in Proc. of 2015 IEEE 16th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC), 2015.
- H. Cao, J. Cai, "Distributed Multi-User Computation Offloading for Cloudlet based Mobile Cloud Computing: A Game-Theoretic Machine Learning Approach," IEEE Transactions on Vehicular Technology, vol. 67, no. 1, pp. 752- 764, August 2017. https://doi.org/10.1109/tvt.2017.2740724
- L. Li, X. Zhang, K. Liu, et al, "An Energy-Aware Task Offloading Mechanism in Multiuser Mobile-Edge Cloud Computing," Mobile Information Systems, vol. 2018, pp. 1-12, April 2018.
- Z. Kuang, S. Guo, J. Liu, et al, "A quick-response framework for multi-user computation offloading in mobile cloud computing," Future Generation Computer Systems, vol. 81, pp. 166-176, April 2018. https://doi.org/10.1016/j.future.2017.10.034
- M. H. Chen, B. Liang, M. Dong, "Multi-user Multi-task Offloading and Resource Allocation in Mobile Cloud Systems," IEEE Transactions on Wireless Communications, vol. 17, no. 10, pp. 6790 - 6805, August 2018. https://doi.org/10.1109/TWC.2018.2864559
- M. H. Chen, M. Dong, B. Liang, "Multi-user Mobile Cloud Offloading Game with Computing Access Point," in Proc. of 2016 5th IEEE International Conference on Cloud Networking, vol. 4, pp. 64-69, December 2016.
- X. Chen, "Decentralized Computation Offloading Game For Mobile Cloud Computing," Parallel and Distributed Systems IEEE Transactions on, vol. 26, no. 4, pp. 974-983, April 2014. https://doi.org/10.1109/TPDS.2014.2316834
- K. Kumar, Y. H. Lu, "Cloud Computing for Mobile Users: Can Offloading Computation Save Energy?," Computer, vol. 43, no. 4, pp. 51-56, April 2010. https://doi.org/10.1109/MC.2010.98
- D. Huang, P. Wang, D. Niyato, "A dynamic offloading algorithm for mobile computing," IEEE Transactions on Wireless Communications, vol. 11, no. 6, pp. 1991-1995, 2012. https://doi.org/10.1109/TWC.2012.041912.110912
- K. Deb, A. Pratap, S. Agarwal, et al, "A fast and elitist multi-objective genetic algorithm: NSGA-II," IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182-197, August 2002. https://doi.org/10.1109/4235.996017
- S. Das, A. Abraham, et al, "Differential Evolution Using a Neighborhood-Based Mutation Operator," IEEE Transactions on Evolutionary Computation, vol. 13, no. 3, pp. 526-553, June 2009. https://doi.org/10.1109/TEVC.2008.2009457
- N. Noman, H. Iba, "Enhancing differential evolution performance with local search for high dimensional function optimization," in Proc. of Conference on Genetic and Evolutionary Computation. ACM, pp. 967-974, January 2005.
- X. Wang, Z Lv, Z. Tang, "Multi-objective dynamic optimal dispatching of grid-connected microgrid based on TOU power price mechanism," Power System Protection and Control, vol. 45, no. 4, pp. 9-18, February 2017.
- R. Huang, X. Luo, B. Ji, et al, "Multi-objective optimization of a mixed-flow pump impeller using modified NSGA-II algorithm," Science China Technological Sciences, vol. 58, no. 12, pp. 2122-2130, December 2015. https://doi.org/10.1007/s11431-015-5865-5
- S. Ding, C. Chen, B. Xin, et al, "A bi-objective load balancing model in a distributed simulation system using NSGA-II and MOPSO approaches," Applied Soft Computing, vol. 63, pp. 249-267, February 2018. https://doi.org/10.1016/j.asoc.2017.09.012
- L. Liu, S. Gu, D. Fu, M. Zhang and R. Buyya, "A New Multi-objective Evolutionary Algorithm for Inter-Cloud Service Composition," KSII Transactions on Internet and Information Systems, vol. 12, no. 1, pp. 1-20, January 2018. https://doi.org/10.3837/tiis.2018.01.001
- K. Deb, A. Sinha, S. Kukkonen, "Multi-objective test problems, linkages, and evolutionary methodologies," in Proc. of GECCO'06 Proceedings of the 8th annual conference on Genetic and evolutionary computation, pp.1141-1148, July 2006.
- E. Zitzler, K. Deb, L. Thiele, "Comparison of multi-objective evolutionary algorithms: empirical results," Evolutionary Computation, vol. 8, no. 2, pp. 173-195, February 2000. https://doi.org/10.1162/106365600568202
- Q. Zhang, A. Zhou, S. Zhao, et al, "Multi-objective optimization Test Instances for the CEC 2009 Special Session and Competition," Mechanical engineering, January 2008.
- E. Zitzler, L. Thiele, "Multi-objective evolutionary algorithms: a comparative case study and the strength Pareto approach," IEEE Transactions on Evolutionary Computation, vol. 3, no. 4, pp. 257-271, November 1999. https://doi.org/10.1109/4235.797969
- K. Deb, "Multi-objective Optimization Using Evolutionary Algorithms: An Introduction," Multi-objective Evolutionary Optimisation for Product Design and Manufacturing, vol. 2, no. 3, pp. 3-34, September 2011. https://doi.org/10.1007/978-0-85729-652-8_1
피인용 문헌
- An Intelligent Real-Time Traffic Control Based on Mobile Edge Computing for Individual Private Environment vol.2020, 2019, https://doi.org/10.1155/2020/8881640