Improved multiobjective salp swarm optimization for virtual machine placement in cloud computing
Abstract
In data center companies, cloud computing can host multiple types of heterogeneous virtual machines (VMs) and provide many features, including flexibility, security, support, and even better maintenance than traditional centers. However, some issues need to be considered, such as the optimization of energy usage, utilization of resources, reduction of time consumption, and optimization of virtual machine placement. Therefore, this paper proposes an alternative multiobjective optimization (MOP) approach that combines the salp swarm and sinecosine algorithms (MOSSASCA) to determine a suitable solution for virtual machine placement (VMP). The objectives of the proposed MOSSASCA are to maximize mean time before a host shutdown (MTBHS), to reduce power consumption, and to minimize service level agreement violations (SLAVs). The proposed method improves the salp swarm and the sinecosine algorithms using an MOP technique. The SCA works by using a local search approach to improve the performance of traditional SSA by avoiding trapping in a local optimal solution and by increasing convergence speed. To evaluate the quality of MOSSASCA, we perform a series of experiments using different numbers of VMs and physical machines. The results of MOSSASCA are compared with wellknown methods, including the nondominated sorting genetic algorithm (NSGAII), multiobjective particle swarm optimization (MOPSO), a multiobjective evolutionary algorithm with decomposition (MOEAD), and a multiobjective sinecosine algorithm (MOSCA). The results reveal that MOSSASCA outperforms the compared methods in terms of solving MOP problems and achieving the three objectives. Compared with the other methods, MOSSASCA exhibits a better ability to reduce power consumption and SLAVs while increasing MTBHS. The main differences in terms of power consumption between the MOSCA, MOPSO, MOEAD, and NSGAII and the MOSSASCA are 0.53, 1.31, 1.36, and 1.44, respectively. Additionally, the MOSSASCA has higher MTBHS value than MOSCA, MOPSO, MOEAD, and NSGAII by 362.49, 274.70, 585.73 and 672.94, respectively, and the proposed method has lower SLAV values than MOPSO, MOEAD, and NSGAII by 0.41, 0.28, and 1.27, respectively.
Keywords
Cloud computing Virtual machine placement Multiobjective optimization Salp swarm algorithm SineCosine algorithmIntroduction
Currently, the evolution and spread of technology double the quantity of data several times every minute; therefore, traditional data centers, which store these data locally, do not work as efficiently as before and have become unsuitable for many companies. Thus, traditional data centers should be improved to overcome several issues, including high maintenance costs, wasted floor space, high energy consumption, security, and high human resource costs. In addition, quality of service (QoS) requires companies to introduce highquality services for their clients, including sending tasks to resources, task scheduling, and output satisfying results in an appropriate amount of time [1]. These problems can be approached by cloud computing servers.
Cloud computing can help the owners of datacenters overcome several issues through its flexibility, security, high scalability, QoS, and improved maintenance and support [1]. Cloud computing has the ability to host multiple types of heterogeneous servers; these servers host thousands of virtual machines (VMs); and each machine is provided with suitable resources (e.g., CPU, RAM, and storage) to be able to run all processes. Some cloud computing servers hold only one VM, while most servers host multiple VMs. This structure may cause overloading problems in some servers, which can reduce the performance of the servers and consume a large amount of energy [2].
VMs have also different workload types and resource specifications; thus, this may result in an imbalance in resource usage and high energy consumption [1]. Therefore, many issues need to be considered, such as the utilization of all resources, reduction of time consumption, and optimization of energy usage. The consumption of energy leads to increases in operating costs and it is related to resource utilization in datacenters. In this context, the energy cost of Amazon’s datacenters consumed more than 40% of its total operating costs [3]. In addition, the increase in energy consumption causes an increase carbon dioxide emissions and ecological problems [3]. Therefore, if energy consumption is reduced, the operating costs of datacenters will be reduced. An effective technique to achieve this goal is to apply and optimize the VM placement (VMP) process [4].
VMP relates to the allocation of VMs to a relevant physical machine (PM). This process is considered to be an important problem in managing datacenter resources. It should be done in realtime without large time consumption. If this process consumes more time, it will reduce its main benefits of being applied in a real environment. This research topic has several optimization criteria that can be effective in achieving highly positive economic and ecological results. For this reason, resource allocation in cloud computing platforms has attracted increasing attention and has been widely studied by many researchers [5, 6, 7, 8].
The advantages of metaheuristic algorithms in solving many machine learning optimization issues has led several studies to successfully employ them in different fields, such as image processing, feature selection, classification, and prediction [9, 10, 11, 12]. In the same way, several metaheuristic methods have been introduced, such as thermal exchange optimization [13], that depend on Newton’s law of cooling. The law assumes there is a relationship between the rate of a body’s heat loss and the temperature difference between the body and its surroundings. This algorithm is used in some applications such as solving global optimization [13] and structural damage identification [14]. Selfish herd optimizer (SHO) [15] is another metaheuristic that emulates selfish herd behavior. The SHO is used to solve global optimization problems [15], and there is another version of SHO that depends on the oppositebased learning method and that applied this algorithm to an optimization function [16]. The treeseed algorithm (TSA) has been applied to address continuous optimization problems [17]. The TSA simulates the relationship between trees and their seeds. This algorithm has several applications: largescale binary optimization [18], optimal power flow problem [19], and similarity and logic gate binary optimization [20].
Therefore, we introduce an alternative method called MOSSASCA to find a suitable solution for the VMP problem. MOSSASCA is a multiobjective salp swarm algorithm (SSA) using sinecosine algorithms (SCAs) as local operators.
SSA is a recently developed optimization method that simulates the natural behavior of salp, barrelshaped plankton (family Salpidae) that are mostly water by weight. In addition, they move in the same way as jellyfish. SSA was proposed to solve different kinds of optimization issues [21]. SCA is an evolutionary method proposed to provide various solutions to different problems. It uses the mathematical model of sine and cosine functions and switches between them to obtain the optimal solution [22]. These methods were used in many previous studies and have shown good results [23, 24, 25].
The objectives of the proposed MOSSASCA are to maximize the mean time before a host shutdown, to reduce the power consumption and to minimize service level agreement violations (SLAVs). The proposed method starts by generating an integer population that represents solutions for the VMP and evaluates the quality of each solution by computing the objective functions. Then, the nondominated (ND) solutions are determined and saved in the archive. The next step uses the leader selection method to choose the best solution from the archive that is applied to update other solutions. Thereafter, the solutions in the current population are updated using the modified version of SSA, based on SCA. In MOSSASCA, the operators of SCA are used as local operators to improve the solutions of SSA and preventing them from becoming stuck at a local optimal point. All solutions updated by MOSSASCA are added to the archive. ND solutions are found and then are updated based on the size of the archive. The previous steps are executed until reaching stop conditions.
The rest of this study is organized as follows. “Related work” section lists the related works and problem formulation. “Background” secion describes the background of the methods used in this study. “Proposed MOSSASCA for VMP method” section explains the proposed method. The experiments and results are explained in “Results and discussion” section. The conclusion and future work are illustrated.
Related work
The massive numbers of data centers consume a substantial amount of power resources; this situation negatively affects the stability and extension of these centers. Therefore, this issue should be considered when designing cloud computing platforms [3, 26, 27]. In this context, various studies have been performed to overcome the problems of VMP such as power consumption, network traffic minimization, resource utilization, and performance maximization [28, 29, 30, 31, 32].
The techniques that can be applied to solve the problem of VMP resource allocation can be defined as multiobjective (MO) or singleobjective. The process of finding the solution for more than one objective function simultaneously with different criteria is considered a multiobjective optimization problem (MOP).
Different types of metaheuristic (MH) techniques are applied to solve the problem of singleobjective VMPs. For example, Gabay et al. [33] applied firstfit decreasing, bestfit decreasing, and worstfit techniques to locate destination PM for placing VMs. The authors reported that their proposed method is flexible, fast, and appropriate to be applied to reallife problems.
The authors of [34, 35] introduced simulated annealing (SA) algorithmbased VM consolidation algorithm.
However, singleobjective methods are not suitable in the case of balancing between different objectives; therefore, multiobjective (MOP) methods are used to find solutions that balance between the objectives.
MOP methods have been applied to different applications, such as restructuring traffic networks [36], data mining methods for knowledge discovery [37], multiple sequence alignment [38], wind turbine blade geometry design [39] and others [40, 41].
Several MOP methods have been proposed, including in [42], a multiobjective method based on the grasshopper optimization algorithm (GOA). This algorithm simulates the navigation behavior of grasshoppers in nature. The authors of [43] proposed an MO version of the ant lion optimizer (ALO) and applied it to solve engineering design problems. In [44], the multiobjective flower pollination algorithm is proposed, which simulates the behavior of plant flowers’ proliferation role. For finding solutions for constrained MOP problems, a modified water cycle algorithm has been proposed [45].
With all of this attention on MOP methods, minimal efforts have been exerted toward the optimization of multiobjective VMP problems by MH and hybridheuristic algorithms. For example, the authors of [2] applied biogeographybased optimization (BBO) as an optimization method in order to determine a solution for the VMP problem considering server loads, interVMs, power consumption, resource wastage, and storage network traffic. In addition, the authors of [3] introduced a hybrid genetic algorithm (GA) to solve the VMP problem in a communication network and PMs in a data center. Gao et al. [46] proposed an MO ant colony optimization (ACO) algorithm to deal with VMP issues; it was applied to determine efficient ND solutions that minimize power consumption and resource usage. Other studies proposed intelligent models to decrease the power consumption in a cloud environment such as [47, 48, 49, 50, 51].
However, these models suffer from slow convergence and become stuck in local optima. In addition, the no free lunch (NFL) theorem [52] assumes that the optimization method does not have the ability to solve all problems with the same quality. Therefore, this consideration motivated us to propose an alternative multiobjective VMP method that can overcome the limitations of other methods.
The proposed MOP VNP method depends on improving the traditional SSAs using the operators of the SCA. The SSA has demonstrated its performance in several fields; for example, the SSA is used to determine the suitable parameters of the solar cell [53, 54] and parameters of PEM fuel cells [23]. In addition, SSA is applied to improve classification through selecting relevant features [24, 25, 55, 56, 57]. In [58], the authors presented a method based on SSA for practical considerations in radial distribution systems that determine optimal conductor and hosting capacity. For the fractional order proportionalintegralderivative (FOPID) controller problem, the SSA is used [59]. In [60], the authors presented an alternative job shop scheduling problem, whereas [61] presented training neural networks using SCA for improving pattern classification.

Proposing an alternative optimization approach that uses the multiobjective optimization concept to enhance the properties of SSA based on SCA as a local search.

Applying the MOSSASCA method to solve the problem of VMP and allocating resources in cloud computing platforms.
Background
Problem formulation of VMP
 1.
For each PM, calculate the requirement of the application’s resource through the statistics of the usage of the server’s resource in a period of time.
 2.
Select a proper PM with the comparable type of CPU, compatible software, storage, and similar network properties.
 3.
Assign \(VM_1\) to the \(PM_1\) in step 2, and assign \(VM_2\) to the \(PM_1\) if it has sufficient resources.
 4.
Repeat this mechanism until each VM is assigned to a suitable PM and, if required, add a new PM to build the structure of a server farm.
Physical machine
Virtual machine
Objective functions
 Energy consumption: The servers consume a large volume of power when they are in an idle state.where \(f^{Energy}\) represents the total power consumption of the PMs, while \(PM_{i}^{pmin}=PM_{i}^{pmax} \times 0.6\) [62, 63] defines the minimum power consumption of \(PM_{i}\). \(U_{CPU_{i}}(g)\) represents the utilization ratio of resource utilized by \(PM_i\) at instant t, while \(Y_i(g)\in [0,1]\) is equal to 1 if the \(PM_i\) is turned on; otherwise, \(Y_i(g)=0\).$$\begin{aligned} \begin{aligned} f^{Energy} =\sum _{i=1}^{N_V}((PM_{i}^{pmax}PM_{i}^{pmin}) \times U_{CPU_{i}}(g)+ PM_{i}^{pmin})\times Y_i(g), \end{aligned} \end{aligned}$$(5)
 SLAV: The infrastructure of cloud computing and hosts try to meet QoS requirements, which are modeled in the SLAV form to maximum response time or minimum throughput. SLAV can be caused by a host, as defined in the following equations.where SLAO represents the average ratio of the period in the case the host experiences CPU utilization of 100% and is defined as follows:$$\begin{aligned} f^{SLAV} = SLAO \times SLAM, \end{aligned}$$(6)where \(T_{ai}\) is the active time of ith host, and \(T_{si}\) represents the total time when the ith host experiences 100% SLAV utilization. Moreover, the SLAM represents the degradation in the performance due to the migration of VMs and is defined as follows:$$\begin{aligned} SLAO= \frac{1}{N_P}\sum \limits _{i=1}^{N_P}\frac{T_{si}}{T_{ai}}, \end{aligned}$$(7)where \(C_{rj}\) indicates the total CPU utilization needed by the \(VM_j\), and \(C_{dj}\) represents the degradation in the performance that results from VM migration.$$\begin{aligned} SLAM= \frac{1}{N_V}\sum \limits _{j=1}^{N_V}\frac{C_{dj}}{C_{rj}}, \end{aligned}$$(8)
 Mean time before a host shutdown (MTBHS): This time is measured in seconds, and the average is calculated as follows.where \(h_i\) represents the host shutdown time.$$\begin{aligned} \ f^{MTBHS}_{j} = \frac{1}{N_P}{\sum _{i=1 }^{N_P}{h}_{i}}, \end{aligned}$$(9)
Constraints:
Multiobjective optimization
Salp swarm algorithm
Sinecosine algorithm
The sinecosine algorithm (SCA), presented by [22], is based on the mathematical model of the sine and cosine functions to improve its population and obtain the solution for the problem. It switches between these models to achieve the best result.
The working mechanism of SCA begins by randomly producing an initial set of \(N_S\) solutions X with D dimensions. Afterward, for each solution, it calculates the fitness values. The solution with the best fitness value (\(f_b\)) is considered as the best solution (\(x_b\)). The \(x_b\) and the parameters \(\beta _i, i=1, 2, 3, 4\) are used to update the solutions as in Eq. (25). SCA repeats these steps until the stop condition is met, shown in Algorithm 2.
Proposed MOSSASCA for VMP method
The section discusses the main steps of the multiobjective VM placement method that combines the improvement of the behavior of the SSA using the SCA. Therefore, the proposed method is called MOSSASCA. The goal of the proposed method is to search for the optimal set of approximate Pareto front (PF), which represents the optimal solutions for minimizing SLAV, reducing power consumption and maximizing time before a host shutdown [as shown in Eqs. (5)–(9)].
In general, the proposed MOSSASCA begins by receiving the parameters (i.e., the number of VMs (\(N_V\)), the number of hosts (\(N_P\)), the number of solutions (\(N_S\)), and the max number of iterations. Afterwards, the next steps are to generate a random population that contains a set of solutions, each of which represents the index of VM. Subsequently, the performance of each solution is measured by computing objective functions, and the best solution is selected using concepts of dominance. Therefore, each solution is changed and updated by the SSASCA, where SCA is applied to improve the SSA by working as a local search technique. The nondominated (ND) solutions in the archive are updated by comparing them with the ND solutions from the updated population. This sequence is executed until reaching a maximum number of iterations.
The previously mentioned steps of the proposed MOSSASCA can be classified into three phases: (1) initialization, (2) updating the population using SSASCA, and (3) updating the archive of ND solutions. These phases are discussed in detail in the following subsections.
Initialization
Update the population using SSASCA
Update the archive
This stage begins by combining the current population with the archive AR, followed by the determination of ND solutions. This process is critical to improve convergence to the true PF and preserve the population’s diversity by using the density estimation information [67, 68, 69, 70].
In general, the archive AR is updated by comparing its ND solutions with each solution in the population (i.e., \(X_i\in X\)) using the Pareto dominance concepts. Here, the solution \(X_i\) will swap any solution \(X_A\) in AR when \(X_i\) dominates \(X_A\), and if there is a set of solutions in AR is dominated by \(X_i\), then this set will be removed from AR, and \(X_i\) will be added to AR. However, if \(X_i\) must be added to AR and the size of AR is full, then the crowded segment method is used. The segmentation of the objective space is rearranged by using the grid mechanism, and the most crowded segment is determined to delete the solution from AR. Thereafter, the \(X_i\) will be combined with the least crowded segment to improve the PF’s diversity. In addition, solution \(X_i\) is not appended to AR when any solution dominates it (i.e., \(X_i\)) [71]. The final step in this phase is to enhance the population X by selecting the best \(N_S\) solutions from AR.
Full description of MOSSASCA method
The remaining parts of the proposed MOSSASCA method for VMP are presented in Algorithm 6. Here, the current generation is represented by g and the maximum number of iterations is given by \(g_{max}\). The proposed MOSSASCA starts by determining the input to the initialization phase (as described in Algorithm 3) and receiving the output (i.e., population X and archive AR) from it. The next step is to update X based on the hybrid SSASCA algorithm (as described in 4). Then, Algorithm 5 is used to find the NDS and update AR. The steps of two algorithms (i.e., Algorithm 4, Algorithm 5) are repeated until the terminal conditions are satisfied.
Complexity of MOSSASCA method
Results and discussion
A set of experiments are performed to assess the performance of the MOSSASCA as a multiobjective VMP method to find the optimal solution to the VM allocation problem. In addition, the results of MOSSASCA are compared with those of other approaches, such as NSGAII [72], MOEAD [73], MOPSO [74], and MOSCA [75].
Environment description
The Parameters of VM simulation
Parameter  Value 

VM types  2, 4 
VM RAM  870, 1740 MB 
VM bandwidth  100 to 200 Mbit/s 
VM MIPS  2500, 100 
Number of VMs  50, 100, 150, 200 
VM PES  1,1 
Properties of the workload
Data  Standard deviation (SD) (%)  Mean (%)  The number of VMs 

03/03/2011  17.09  12.31  1052 
06/03/2011  16.83  11.44  898 
09/03/2011  15.57  10.70  1061 
22/03/2011  12.78  9.26  1516 
25/03/2011  14.14  10.56  1078 
03/04/2011  16.55  12.39  1463 
09/04/2011  15.09  11.12  1358 
11/04/2011  15.07  11.56  1233 
12/04/2011  15.15  11.54  1054 
20/04/2011  15.21  10.43  1033 
The performance of the MOSSASCA is compared with other algorithms, such as NSGAII, MOEAD, MOPSO, and MOSCA. To evaluate the performance of these methods, we use different numbers of VMs (25, 75, and 100) and hosts (50, 150, and 200), where 50 VMs are assigned to 25 hosts, 150 VMs are assigned to 75 hosts, and 200 VMs are assigned to 100 hosts.
All algorithms are implemented using jMetal java framework, which is installed on Windows 10 (64bit).
Performance measures
 1.HV: It is applied to evaluate the nearness and variety of PF by computing the area size dominated by its solutions. If the HV of \(X > B\), then X Pareto optimal converges to be greater than B.$$\begin{aligned} HV=volume \left( \bigcup _{i=1}^{PF} a_i\right) \end{aligned}$$(32)
 2.SP: It is used to evaluate the extent of spread achieved between the solutions and compute the nonuniformity in the distribution of solutions, and it is defined aswhere \(d_i\) represents the Euclidean distances between the set of solutions that have the mean value \(\bar{d}\), and where \(d_i^e\) represents the distance between the extreme solutions and \(PF^*\). M and Q are the total number of objective functions and the number of solutions in \(PF^*\), respectively. The smaller Spread value indicates that the algorithm is better than others.$$\begin{aligned} Spread= \frac{\sum _{i=1}^M d_i^e +\sum _{i=1}^{Q}d_i\bar{d}}{\sum _{i=1}^M d_i^E+Q\bar{d}}, \end{aligned}$$(33)
 3.GD: GD defines the average distance between the true Pareto front and the estimated front. Equation (34) defines this measure:In Eq. (34), \(n=fp\) defines the number of elements of the ND solutions, and \(d_i\) defines the Euclidean between the closest front’s solution of Pareto optimal in the objective space and reference solution (RP).$$\begin{aligned} GD(fp,fp^*)=\frac{\sqrt{\sum _{i=1}^{n}d_i^2}}{n}. \end{aligned}$$(34)
 4.IGD: It is applied to compute the nearness between the reference optimal solution (RP) and the archived Pareto solution. Equation (35) defines this measure:The smaller IGD value indicates better performance.$$\begin{aligned} IGD=\frac{{\sum _{r\in RP } d}}{RP},\quad d=ar_2, \forall a\in PF, r\forall RP. \end{aligned}$$(35)
 5.EPS: It is used to find the minimum value where the approximation PF is mapped to the objective space that dominates the true PF.where r and a are the solutions in the true PF and the approximate PF, respectively. The algorithm with the smallest EPS is considered to be the better one.$$\begin{aligned} EPS=\max _{r\in PF_t} \min _{a\in A} \max _{i=1,2,\ldots ,M} (a_ir_i), \end{aligned}$$(36)
Experimental results analysis
Comparison with other algorithms
In addition, the minimum value of SLAV is achieved using the proposed method and by using the MOSCA, MOPSOA, and MOEAD algorithms in problems VM50PM25 and VM150PM75, but the proposed method achieves the best value in the VM200PM100 problem. The proposed method has better maximum SLAV value than the other methods. However, the NSGAII algorithm has the best standard deviation in problem VM50PM25, and the MOSCA method has better value in problems VM150PM75 and VM200PM100.
The best maximum and minimum MTBHS values are achieved by the MOSSASCA in all the tested problems, but the best standard deviation is achieved by MOPSO in problems VM50PM25 and VM150PM75. Furthermore, the proposed method has the smaller standard deviation value in the VM200PM100 problem.
The comparison of results among the algorithms in each tested VMP problem
MOSSASCA  MOSCA  MOPSO  MOEAD  NSGAII  

Power consumption  
VM50PM25  
Min  4.22  4.24  4.77  4.77  4.41 
Max  6.25  8.25  6.78  6.78  7.68 
Std  0.55  0.97  0.62  0.66  0.73 
VM150PM75  
Min  11.06  11.98  14.25  13.27  12.20 
Max  17.73  14.25  23.85  24.58  19.91 
STD  1.75  0.66  1.96  2.93  2.46 
VM200PM100  
Min  13.03  14.24  14.78  15.77  13.37 
Max  18.92  19.77  22.04  19.77  19.49 
STD  1.73  1.99  2.26  1.35  1.82 
SLAV  
VM50PM25  
Min  10.00  10.00  10.00  10.00  10.30 
Max  14.94  16.10  18.50  17.00  14.90 
STD  1.63  1.75  2.58  2.24  1.50 
VM150PM75  
Min  9.67  9.67  9.67  9.67  10.21 
Max  13.29  14.16  14.07  14.07  13.62 
STD  1.60  0.97  1.76  1.98  1.25 
VM200PM100  
Min  9.60  10.00  10.00  10.00  10.00 
Max  12.13  13.33  14.00  14.00  15.00 
STD  1.15  1.00  1.72  1.45  1.96 
MTBHS  
VM50PM25  
Min  8845.46  7397.86  8538.01  8547.97  7942.10 
Max  10860.11  10773.76  8739.08  8724.04  8566.20 
STD  868.70  856.34  45.33  64.88  192.77 
VM150PM75  
Min  7630.12  7613.31  8513.32  7570.60  7524.73 
Max  9229.50  9165.59  8723.81  8441.30  8529.89 
STD  305.74  603.68  95.95  314.67  337.52 
VM200PM100  
Min  8236.32  7397.86  8111.96  7614.16  7516.34 
Max  8995.71  8773.76  8731.38  8715.56  8756.34 
STD  205.42  472.11  244.68  275.83  401.91 
Performance evaluation based on MOP indicators
To investigate the quality of PFs obtained by each method we evaluate a set of MOP indicators given in Table 4 for each tested problem. From this table, it can be noted that the MOSSASCA performs better than the other methods in approximating PFs. For example, in terms of EP, HV, and IGD, the MOSSASCA ranks first of in all tested problems. However, in terms of spread, MOSCA ranks first in testing problems in the VM50PM25 and VM150PM75, followed by the proposed MOSSASCA method, which has a smaller GD value in the third problem (i.e., VM200PM100). MOSSASCA has a smaller GD value only in problem VM50PM25, but MOPSO has a smaller GD value in two other problems. In addition, we can conclude from the table that MOEAD and NSGAII generally have the worst performance in the tested problems.
Comparison results based on MOP indicators
MOSSASCA  MOSCA  NSGAII  MOEAD  MOPSO  

VM50PM25  
EPS  1.54E−01  2.77E−01  7.14E−01  6.12E−1  6.12E−01 
2.2E−02  2.5E−02  2.3E−04  0.00  0.0E+00  
Spread  1.36E+00  4.10E−01  1.08E+00  1.30E+00  1.05E+00 
2.6E−02  1.3E−01  2.3E−04  6.0E−02  2.9E−03  
GD  4.29E−03  4.73E−02  1.58E−01  3.54E−02  3.48E−02 
1.4E−03  2.2E−02  7.1E−05  1.1E−04  1.1E−06  
HV  4.91E−01  4.16E−01  2.31E−01  3.36E−01  3.36E−01 
1.5E−02  1.9E−02  1.7E−04  1.3E−04  2.6E−08  
IGD  1.08E−03  2.77E−03  1.42E−02  1.33E−02  1.35E−02 
7.8E−05  4.6E−04  1.6E−06  1.6E−05  2.1E−05  
VM150PM75  
EPS  1.16E−01  1.95E−01  4.43E−01  3.40E−01  2.40E−01 
8.3E−02  5.1E−02  9.2E−05  2.2E−04  0.0E+00  
Spread  1.50E+00  7.79E−01  1.01E+00  1.27E+00  9.08E−01 
9.1E−02  8.2E−02  2.0E−02  5.7E−02  5.2E−02  
GD  1.93E−03  1.31E−02  1.22E−02  7.15E−03  9.99E−05 
3.1E−04  7.3E−03  1.9E−04  3.8E−04  1.4E−04  
HV  6.79E−01  6.15E−01  4.53E−01  5.40E−01  6.33E−01 
2.8E−03  4.8E−03  8.1E−05  9.9E−03  1.1E−07  
I GD  1.22E−03  2.46E−03  8.73E−03  7.44E−03  7.79E−03 
8.7E−04  7.2E−05  3.9E−05  1.6E−04  1.0E−04  
VM200PM100  
EPS  1.27E−01  4.58E−01  3.97E−01  3.46E−01  2.91E−01 
3.8E−03  5.8E−04  1.5E−04  9.4E−03  6.8E−02  
Spread  7.35E−01  1.17E+00  1.07E+00  1.16E+00  1.14E+00 
2.6E−02  1.2E−04  2.0E−02  9.9E−02  5.0E−03  
GD  3.90E−02  4.61E−02  6.65E−03  3.50E−03  1.08E−04 
2.8E−03  1.30E−03  3.6E−04  1.6E−03  9.8E−05  
HV  6.10E−01  6.68E−01  4.76E−01  5.34E−01  7.00E−01 
1.1E−03  8.1E−03  1.4E−04  1.7E−02  5.1E−02  
IGD  5.55E−03  7.1E−03  1.18E−02  1.10E−02  1.10E−02 
1.2E−04  2.1E−03  4.1E−05  1.90E−04  1.2E−04 
Influence the parameters of proposed method
Results of MOP indicators under different parameter values in the proposed method
\(a=1.5\)  \(a=0.5\)  

EPS  1.40E−01  1.6E−01  EPS  1.63E−01  1.2E−01 
Spread  8.79E−01  2.5E−03  Spread  9.51E−01  1.5E−01 
GD  4.79E−03  7.9E−03  GD  5.18E−03  5.9E−03 
HV  6.62E−01  3.0E−03  HV  6.16E−01  5.3E−03 
IGD  8.38E−03  4.7E−03  IGD  2.04E−02  2.3E−02 
\(N_S =200\)  \(N_S =50\)  

EPS  3.47E−02  2.9E−02  EPS  1.71E−01  7.1E−02 
Spread  7.89E−01  3.0E−02  Spread  9.37E−01  6.5E−02 
GD  1.32E−03  1.6E−03  GD  6.08E−03  8.6E−03 
HV  6.83E−01  2.3E−03  HV  6.04E−01  6.5E−02 
IGD  1.12E−03  4.2E−03  IGD  9.37E−03  2.9E−03 
g  \(max =50\)  g  \(max =200\)  

EPS  9.47E−01  5.7E−02  EPS  8.36E−02  5.6E−02 
Spread  9.14E−01  8.3E−02  Spread  8.44E−01  1.7E−02 
GD  1.54E−02  5.3E−03  GD  1.18E−03  4.7E−03 
HV  6.37E−01  7.3E−02  HV  7.45E−01  5.0E−03 
IGD  9.66E−03  5.7E−03  IGD  1.16E−03  4.5E−03 
Influences of VMs and PMs on the proposed method
Results of changing the number of VMs and PMs
Power consumption  SLVA  MTBHS  EPS  Spread  GD  HV  IGD  

VM500PM200  26.03  10.48  8371.35  7.43E−02  7.20E−01  3.01E−03  4.92E−01  2.61E−03 
VM600PM300  36.71  10.81  7318.01  4.56E−02  9.17E−01  4.85E−03  6.91E−01  1.39E−03 
VM1000PM400  59.24  11.44  6038.51  1.44E−01  7.23E−01  9.79E−03  2.17E−01  2.26E−03 
From all the previous experimental results, it can be noted that the performance of MOSSASCA is better than the other methods in terms of the three objectives functions and the performance measurements. This performance results from the high skill of the SSA in exploration of the search domain and in using the operators of the SCA algorithm to improve the exploitation ability of the SSA through working as a local search method. Additionally, this leads to finding the nondominated solution that best balances among the three objectives of solving the VMP problem in cloud computing. Moreover, it can be noted that the performance of the other multiobjective VMP methods was less than that of the proposed method in this study and that the quality of the algorithms was not fixed when changing the problems. This outcome is because each algorithm has a different ability regarding either the exploration or exploitation of the search domain. However, there are some limitations for MOSSASCA, such as the fact that its computational time will require additional improvement to make it more suitable for realtime VMP problems.
Conclusion
This paper proposes an alternative MOP method for finding the optimal solution to the VM consolidation problem. The main objectives of the proposed MOSSASCA are to maximize MTBHS, to reduce power consumption, and to minimize SLAV. MOSSASCA is proposed to find solutions that can minimize conflict between the three objectives. In MOSSASCA, the SCA is applied as a local search approach to enhance the performance of traditional SSAs by preventing them from getting stuck in a local optimal solution and increasing convergence speed. To assess the performance of the proposed method, we perform a set of experiments using different numbers of VMs and physical machines. The results of MOSSASCA are compared with that of wellknown MOP methods, including NSGAII, MOPSO, and MOSCA. The experimental results show that MOSSASCA is better than others on the basis of MOP indicators and in achieving the three objectives. Here, the proposed method achieves the best results in three MOP indicators, namely, EPS, HV, and IGD. The MOSCA and MOPSO methods are better according to the value of spread and GD, respectively. Compared with the other methods, MOSSASCA exhibits a better ability to reduce power consumption and SLAV while increasing MTBHS.
Given the superiority of the proposed MOSSASCA method, it can be extended to solve more than the three objectives in VM placement in cloud computing. It can also be applied to different fields, for example, feature selection, image segmentation and job scheduling.
Notes
Authors' contributions
All authors contributed equally to this study. SSA collected and prepared the data; MAE and AAE implemented the proposed method; and SL and the other three authors wrote the main text and discussed the results. All authors read and approved the final manuscript.
Acknowledgements
This work is supported by the Science and Technology Program of Shenzhen of China under Grant Nos. JCYJ20180306124612893, JCYJ20170818160208570 and JCYJ20170307160458368.
Competing interests
The authors declare that they have no competing interests.
Data availability statement
The data used to support the findings of this study are available from the corresponding author upon request.
Funding
Not applicable.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
References
 1.Xu M, Tian W, Buyya R (2017) A survey on load balancing algorithms for virtual machines placement in cloud computing. Concurrency Comput Pract Exp 29(12):e4123Google Scholar
 2.Zheng Q, Li Jia, Dong Bo, Li Rui, Shah Nazaraf, Tian Feng (2016) Multiobjective optimization algorithm based on bbo for virtual machine consolidation problem. In: IEEE international conference on parallel and distributed systems. Piscataway, IEEE, pp 414–421Google Scholar
 3.Tang M, Pan S (2015) A hybrid genetic algorithm for the energyefficient virtual machine placement problem in data centers. Neural Process Lett 41(2):211–221Google Scholar
 4.Fu X, Zhao Q, Wang J, Zhang L, Qiao L (2018) Energyaware vm initial placement strategy based on bpso in cloud computing. Sci Program 2018:9471356Google Scholar
 5.Bajo J, De la PF, Corchado JM, Rodríguez S (2016) A lowlevel resource allocation in an agentbased cloud computing platform. Appl Softw Comput 48:716–728Google Scholar
 6.Cao Z, Lin J, Wan C, Song Y, Zhang Y, Wang X (2017) Optimal cloud computing resource allocation for demand side management in smart grid. IEEE Trans Smart Grid 8(4):1943–1955Google Scholar
 7.Lin YK, Chong CS (2017) Fast gabased project scheduling for computing resources allocation in a cloud manufacturing system. J Intell Manuf 28(5):1189–1201Google Scholar
 8.LopezPires F, Baran B (2015) Virtual machine placement literature review. Comput SciGoogle Scholar
 9.El AM Abd, Ewees AA, Hassanien AE (2016) Hybrid swarms optimization based image segmentation. In: Hybrid soft computing for image segmentation, Springer, Berlin, pp 1–21Google Scholar
 10.Ewees AA, El Aziz MA, Hassanien AE (2017) Chaotic multiverse optimizerbased feature selection. Neur Comput Appl. https://doi.org/10.1007/s0052101731314 Google Scholar
 11.Ibrahim RA, Oliva D, Ewees AA, Lu S (2017) Feature selection based on improved runnerroot algorithm using chaotic singer map and oppositionbased learning. In: International conference on neural information processing, Springer, Berlin, pp 156–166Google Scholar
 12.Oliva D, Ewees AA, El Aziz MA, Hassanien AE, PerézCisneros M (2017) A chaotic improved artificial bee colony for parameter estimation of photovoltaic cells. Energies 10(7):865Google Scholar
 13.Kaveh A, Dadras A (2017) A novel metaheuristic optimization algorithm: thermal exchange optimization. Adv Eng Softw 110:69–84Google Scholar
 14.Kaveh A, Dadras A (2018) Structural damage identification using an enhanced thermal exchange optimization algorithm. Eng Optimization 50(3):430–451Google Scholar
 15.Fausto F, Cuevas E, Valdivia A, González A (2017) A global optimization algorithm inspired in the behavior of selfish herds. Biosystems 160:39–55Google Scholar
 16.Jiang S, Zhou Y, Wang D, Zhang S (2018) Elite oppositionbased selfish herd optimizer. In: International conference on intelligent information processing, Springer, Berlin, pp 89–98Google Scholar
 17.Kiran MS (2015) Tsa: TreE−seed algorithm for continuous optimization. Expert Syst Appl 42(19):6686–6698Google Scholar
 18.Cinar AC, Iscan H, Kiran MS (2018) Treeseed algorithm for largescale binary optimization. KnE Soc Sci 3(1):48–64Google Scholar
 19.ElFergany AA, Hasanien HM (2018) Treeseed algorithm for solving optimal power flow problem in largescale power systems incorporating validations and comparisons. Appl Softw Comput 64:307–316Google Scholar
 20.Cinar AC, Kiran MS (2018) Similarity and logic gatebased treeseed algorithms for binary optimization. Comput Ind Eng 115:631–646Google Scholar
 21.Mirjalili S, Gandomi AH, Mirjalili SZ, Saremi S, Faris H, Mirjalili SM (2017) Salpswarm algorithm: a bioinspired optimizer for engineering designproblems. Adv Eng Softw 114:163–191Google Scholar
 22.Mirjalili S (2016) Sca: a sine cosine algorithm for solving optimization problems. Knowl Based Syst 96:120–133Google Scholar
 23.ElFergany AA (2018) Extracting optimal parameters of pem fuel cells using salp swarm optimizer. Renew Energy 119:641–648Google Scholar
 24.Ibrahim RA, Ewees AA, Oliva D, Elaziz MA, Lu S (2018) Improved salp swarm algorithm based on particle swarm optimization for feature selection. J Ambient Intell Hum Comput. https://doi.org/10.1007/s1265201810319 Google Scholar
 25.Elaziz Mohamed EA, Ewees AA, Oliva D, Duan P, Xiong S (2017) A hybrid method of sine cosine algorithm and differential evolution for feature selection. In: International conference on neural information processing, Springer, Berlin, pp 145–155Google Scholar
 26.Teng F, Lei Y, Li T, Deng D, Magouls F (2017) Energy efficiency of vm consolidation in iaas clouds. J Supercomput 73(2):782–809Google Scholar
 27.Zheng Q, Li R, Li X, Shah N, Zhang J, Tian F, Chao KM, Li J (2016) Virtual machine consolidated placement based on multiobjective biogeographybased optimization. Future Gener Comput Syst 54:95–122Google Scholar
 28.Hosseinimotlagh S, Khunjush F, Samadzadeh R (2015) Seats: smart energyaware task scheduling in realtime cloud computing. J Supercomput 71(1):45–66Google Scholar
 29.Mann Z (2016) Multicoreaware virtual machine placement in cloud data centers. IEEE Trans Comput 65(11):3357–3369MathSciNetGoogle Scholar
 30.Lawey AQ, ElGorashi TEH, Elmirghani JMH (2014) Distributed energy efficient clouds over core networks. J Lightwave Technol 32(7):1261–1281Google Scholar
 31.Dong J, Jin X, Wang H, Li Y, Zhang P, Cheng S (2013) Energysaving virtual machine placement in cloud data centers. In IEEE/ACM international symposium on cluster, cloud and grid computing, IEEE, Piscataway, pp 618–624Google Scholar
 32.Grant W, Tang M, Tian YC, Li W (2012) Energyefficient virtual machine placement in data centers by genetic algorithm. Springer, Berlin HeidelbergGoogle Scholar
 33.Gabay M, Zaourar S (2016) Vector bin packing with heterogeneous bins: application to the machine reassignment problem. Ann Oper Res 242(1):161–194MathSciNetzbMATHGoogle Scholar
 34.Marotta A, Avallone S (2015) A simulated annealing based approach for power efficient virtual machines consolidation. In: 2015 IEEE 8th International conference on cloud computing (CLOUD), IEEE, Piscataway, pp 445–452Google Scholar
 35.Farahnakian F, Ashraf A, Pahikkala T, Liljeberg P, Plosila J, Porres I, Tenhunen H (2015) Using ant colony system to consolidate vms for green cloud computing. IEEE Trans Serv Comput 8(2):187–198Google Scholar
 36.Baquela EG, Olivera AC (2018) A multiobjective optimization via simulation framework for restructuring traffic networks subject to increases in population. In: Recent developments in metaheuristics, Springer, Berlin, pp 199–218Google Scholar
 37.Bandaru S, Ng AHC, Deb K (2017) Data mining methods for knowledge discovery in multiobjective optimization: part asurvey. Expert Syst Appl 70:139–159Google Scholar
 38.ZambranoVC, Nebro AJ, GarcíaNieto J, AldanaMontes JF (2017) A multiobjective optimization framework for multiple sequence alignment with metaheuristics. In: International conference on bioinformatics and biomedical engineering, Springer, Berlin, pp 245–256Google Scholar
 39.Neto JXV, Junior EJG, Moreno SR, Ayala HV H, Mariani VC, dos Santos CL (2018) Wind turbine blade geometry design based on multiobjective optimization using metaheuristics. Energy 162:645–658Google Scholar
 40.El Aziz MA, Ewees AA, Hassanien AE (2018) Multiobjective whale optimization algorithm for contentbased image retrieval. Multimedia Tools Appl 77:26135–26172Google Scholar
 41.El Aziz MA, Ewees A\A, Hassanien AE, Mudhsh M, Xiong S (2018) Multiobjective whale optimization algorithm for multilevel thresholding segmentation. In: Advances in soft computing and machine learning in image processing, Springer, Berlin, pp 23–39Google Scholar
 42.Mirjalili SZ, Mirjalili S, Saremi S, Faris H, Aljarah I (2018) Grasshopper optimization algorithm for multiobjective optimization problems. Appl Intell 48(4):805–820Google Scholar
 43.Mirjalili S, Jangir P, Saremi S (2017) Multiobjective ant lion optimizer: a multiobjective optimization algorithm for solving engineering problems. Appl Intell 46(1):79–95Google Scholar
 44.Yang XS, Karamanoglu M, He X (2014) Flower pollination algorithm: a novel approach for multiobjective optimization. Eng Optimization 46(9):1222–1237MathSciNetGoogle Scholar
 45.Sadollah A, Sadollah A, Eskandar H, Kim JH (2015) Water cycle algorithm for solving constrained multiobjective optimization problems. Appl Softw Comput 27:279–298Google Scholar
 46.Gao Y, Guan H, Qi Z, Hou Y, Liu L (2013) A multiobjective ant colony system algorithm for virtual machine placement in cloud computing. J Comput Syst Sci 79(8):1230–1242MathSciNetGoogle Scholar
 47.Sathish K, Reddy RM (2017) Workflow scheduling in grid computing environment using a hybrid gaaco approach. J Inst Eng 98(1):1–8Google Scholar
 48.Wang X, Wang Y, Cui Y (2014) A new multiobjective bilevel programming model for energy and locality aware multijob scheduling in cloud computing. Future Gener Comput Syst 36(7):91–101Google Scholar
 49.Zhang F, Cao J, Li K, Khan SU, Hwang K (2014) Multiobjective scheduling of many tasks in cloud platforms. Future Gener Comput Syst 37:309–320Google Scholar
 50.Shieh WY, Pong CC (2013) Energy and transitionaware runtime task scheduling for multicore processors. J Parallel Distributed Comput 73(9):1225–1238Google Scholar
 51.Ramezani F, Jie L, Hussain F (2013) Task scheduling optimization in coud computing applying multiobjective particle swarm optimization. Springer, Berlin HeidelbergGoogle Scholar
 52.Wolpert DH, Macready WG (1997) No free lunch theorems for optimization. IEEE Trans Evol Comput 1(1):67–82Google Scholar
 53.Ekinci S, Hekimoglu B (2018) Parameter optimization of power system stabilizer via salp swarm algorithm. In: 2018 5th International conference on electrical and electronic engineering (ICEEE), IEEE, Piscataway, pp 143–147Google Scholar
 54.Abbassi R, Abbassi R, Abbassi A, Heidari AA, Mirjalili S (2019) An efficient salp swarminspired algorithm for parameters identification of photovoltaic cell models. Energy Convers Manag 179:362–372Google Scholar
 55.Sayed GI, Khoriba G, Haggag MH (2018) A novel chaotic salp swarm algorithm for global optimization and feature selection. Appl Intell 48:3462–3481Google Scholar
 56.Faris H, Faris H, Mafarja MM, Heidari AA, Aljarah I, AlaM AZ, Mirjalili S, Fujita H (2018) An efficient binary salp swarm algorithm with crossover scheme for feature selection problems. Knowl Based Syst 154:43–67Google Scholar
 57.Aljarah I, Mafarja M, Heidari AA, Faris H, Zhang Y, Mirjalili S (2018) Asynchronous accelerating multileader salp chains for feature selection. Appl Softw Comput 71:964–979Google Scholar
 58.Ismael SM, Aleem SHE, Abdelaziz AY, Zobaa AF (2018) Practical considerations for optimal conductor reinforcement and hosting capacity enhancement in radial distribution systems. IEEE AccessGoogle Scholar
 59.Baygi SMH, KA (2018) A hybrid optimal pidlqr control of structural system: A case study of salp swarm optimization. In: 2018 3rd conference on swarm intelligence and evolutionary computation (CSIEC), IEEE, Piscataway, pp 1–6Google Scholar
 60.Sun ZX, HR, QB, LB, CGL (2018) Salp swarm algorithm based on blocks on critical path for reentrant job shop scheduling problems. In: International conference on intelligent computing, Springer, Berlin, pp 638–648Google Scholar
 61.Sahlol AT, Ewees AA, Hemdan AM, Hassanien AE (2016) Training feedforward neural networks using sinecosine algorithm to improve the prediction of liver enzymes on fish farmed on nanoselenite. In: Computer engineering conference (ICENCO), 2016 12th international, IEEE, Piscataway, pp 35–40Google Scholar
 62.Beloglazov A, Abawajy J, Buyya R (2012) Energyaware resource allocation heuristics for efficient management of data centers for cloud computing. Future Gener Comput Syst 28(5):755–768Google Scholar
 63.LópezPires F, Barán B (2017) Manyobjective virtual machine placement. J Grid Comput 15(2):161–176Google Scholar
 64.Zhang X, Tian Y, Cheng R, Jin Y (2015) An efficient approach to nondominated sorting for evolutionary multiobjective optimization. IEEE Trans Evol Comput 19(2):201–213Google Scholar
 65.Henschke N, Everett JD, Richardson AJ, Suthers IM (2016) Rethinking the role of salps in the ocean. Trends Ecol Evol 31(9):720–733Google Scholar
 66.Mirjalili SM, dos Coelho LS, Mirjalili S, Saremi S (2106) Multiobjective grey wolf optimizer: a novel algorithm for multicriterion optimization. Expert Syst Appl 47:106–119Google Scholar
 67.Deb K, Agrawal S, Pratap A, Meyarivan T (2000) A fast elitist nondominated sorting genetic algorithm for multiobjective optimization: NsgaII. In: International conference on parallel problem solving from nature, Springer, Berlin, pp 849–858Google Scholar
 68.Deb K, Beyer HG (2001) Selfadaptive genetic algorithms with simulated binary crossover. Evol Comput 9(2):197–221Google Scholar
 69.Zhang Q, Zhou A, Zhao S, Suganthan PN, Liu W, Tiwari S (2008) Multiobjective optimization test instances for the cec 2009 special session and competition. University of Essex, Colchester, UK and Nanyang technological University, Singapore, special session on performance assessment of multiobjective optimization algorithms, Technical Report, 264Google Scholar
 70.Bosman PAN, Thierens D (2003) The balance between proximity and diversity in multiobjective evolutionary algorithms. IEEE Trans Evol Comput 7(2):174–188Google Scholar
 71.Agarwal S, Deb K, Pratap A, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: Nsgaii. IEEE Trans Evol Comput 6(2):182–197Google Scholar
 72.Deb K, Pratap A, Agarwal S, Meyarivan TAMT (2002) A fast and elitist multiobjective genetic algorithm: NsgaII. IEEE Trans Evol Comput 6(2):182–197Google Scholar
 73.Zhang Q, Li H (2007) Moea/d: a multiobjective evolutionary algorithm based on decomposition. IEEE Trans Evol Comput 11(6):712–731Google Scholar
 74.Elsedimy EI, Rashad MZ, Darwish MG (2017) Multiobjective optimization approach for virtual machine placement based on particle swarm optimization in cloud data centers. J Comput Theor Nanosci 14(10):5145–5150Google Scholar
 75.Tawhid MA, Savsani V (2017) Multiobjective sinecosine algorithm (mosca) for multiobjective engineering design problems. Neur Comput Appl. https://doi.org/10.1007/s005210173049x Google Scholar
 76.Buyya R, Ranjan R, Calheiros RN (2009) Modeling and simulation of scalable cloud computing environments and the cloudsim toolkit: Challenges and opportunities. In: International conference on high Performance computing and simulation, IEEE, Piscataway, pp 1–11Google Scholar
 77.Beloglazov A, Buyya R (2012) Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers. Concurrency Comput Pract Exp 24(13):1397–1420Google Scholar
 78.Pai VS, Park KS (2006) Comon: a mostlyscalable monitoring system for planetlab. ACM SIGOPS Operating Syst Rev 40(1):65–74Google Scholar
 79.Ravber M, Mernik M, Črepinšek M (2017) The impact of quality indicators on the rating of multiobjective evolutionary algorithms. Appl Softw Comput 55:265–275Google Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.