Add Journal to My Library
The Computer Journal
, Volume Advance Article (6) – Nov 21, 2017

15 pages

/lp/ou_press/energy-efficient-vm-placement-for-effective-resource-utilization-using-lufuRj66h7

- Publisher
- Oxford University Press
- Copyright
- © The British Computer Society 2017. All rights reserved. For permissions, please email: journals.permissions@oup.com
- ISSN
- 0010-4620
- eISSN
- 1460-2067
- D.O.I.
- 10.1093/comjnl/bxx096
- Publisher site
- See Article on Publisher Site

Abstract In Virtualized data center for implementing cloud, mapping of virtual machines (VM) on to physical machines aims to efficiently utilize the resources of the physical machines in order to earn better profit for the cloud provider. Energy is an important parameter for the huge virtualized data center and is to be minimized as much as possible while VM placement. The proposed work addresses two important Cloud aspects: efficient energy usage and effective resource utilization. For this, modified binary particle swarm optimization is proposed and applied for the VM placement problem. The simulation experiments, carried out to evaluate the performance of the proposed model, prove that the proposed approach results in reduced energy consumption with least resource wastage compared with some other contemporary methods proposed in the literature. 1. INTRODUCTION Cloud computing is an evolving concept where users avail various types of services from the number of service providers. These services include computational power, memory, storage, network bandwidth and many more. Cloud is a utility-based model i.e. users have to pay only for the resources they actually use. The Cloud services have been categorized in three types: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) [1, 2]. To enhance the utilization of the cloud infrastructure services, the offers are made in terms of virtual machines (VMs). Various cloud providers such as Google, Microsoft, Amazon and IBM provide physical machines for hosting the VMs. The cloud service providers often aim to maximize their profit by minimizing the operational costs. A good number of factors such as computing power amount of storage, bandwidth requirement and energy consumption affect the operational cost of cloud computing services. Among these, energy is an important factor that affects not only the operational cost but also a concern to the green environment. Thus, energy efficient usage of cloud resources is becoming a major concern in the cloud computing environment. Virtualization is an important technique often applied in Cloud Computing for its better utilization. It allows sharing of physical resources conceptualizing them virtually, which are then offered to the clients in the form of VMs through hypervisor. In the IaaS model, VM placement is the most vital issue that deals with the mapping of VMs on a set of physical machines. A good VM placement method results in the best resource utilization with least power consumption. Recent studies on VM placement are often confined to the constraints on the resources of physical machines [3–7] such as memory, storage and CPU. Better resource usage with minimal energy consumption is least focused. Some work in the past [8–10] assumes ample resources availability while placing a VM on a physical server. They ignore energy consumption of the physical server. Being an NP-hard problem [11, 12], VM placement problem is a non-trivial research area in cloud computing. As there are various objectives/issues associated with this problem, the proposed work considers it as a multi-objective optimization problem with better power consumption and resource usage. A variant of Binary Particle Swarm Optimization (BPSO) is used to solve this problem. To the best of authors’ knowledge, the proposed VM placement method with multi-objectives using modified BPSO is a novel technique, although some nature-inspired algorithms e.g. ant colony optimization (ACO) and biogeography-based optimization (BBO) have been applied earlier. The motivation to use modified BPSO than its counterparts is its fast convergence rate for the VM placement problem. Modified BPSO also has fewer primitive mathematical operators which gives it an edge compared with others and it makes the proposed model less dependent on fine parameter tuning. The reason for selecting the binary version of PSO is that it will easily correlate the particle to VM mapping. Since the problem in this work is modeled in binary search space, binary PSO is most suited. In the proposed method, the modifications like particle initialization, position update and selection of personal best solution and global best solution ensures the suitability of binary PSO for the VM placement problem. The outline of this paper is as follows. In Section 2, some state of the art on VM placement problem is mentioned. In Section 3, a pre-requisite to understand the VM placement problem is briefed through an example. The mathematical formulation of VM placement problem is given in Section 4. The proposed VM placement methodology, using modified BPSO (VMPBPSO), is discussed in Section 5. The experimental analysis is performed in Section 6 concluding the work in Section 7. 2. STATE OF THE ART VM placement is one of the most important research areas in the field of cloud computing. A good amount of work has been done in this area. In this section, some state of the art is highlighted. 2.1. Based on Vector Bin Packing A good number of studies have considered VM placement as a vector bin packing problem which is also NP hard [13]. First fit decreasing (FFD) and best fit decreasing (BFD) [14, 15] techniques have been used to solve this problem. Bobroff et al. [16] proposed a dynamic mechanism of VM placement which considers the rate of service level agreement violation. Verma et al. [3] proposed a method for the application consolidation which minimizes the power consumption but provide guaranteed performance. All these mentioned works have been modeled with a single objective. 2.2. Based on Linear Programming VM placement problem has also been formulated using a traditional approach i.e. linear programming problem. Chaisiri et al. [17] proposed an optimal virtual machine placement (OVMP) algorithm which is based on linear programming as well as quadratic programming. The objective of the proposed work is to minimize the cost of VM placement among multiple cloud providers. This work mainly focuses on the two payment plans namely reservation based and on-demand base. Authors’ sole objective was to minimize the cost in each of these plans. Linear programming formulation is also used by Lin et al. [18] in proposing a quality of service aware resource provisioning for delay-sensitive applications. In their work, focus is on resource utilization, QoS requirement of users and VM interference due to sharing of non-sliceable resources. Thus, the applicability of this model is narrowed down only for a particular kind of applications. Tseng et al. [19] proposed the first service-oriented VM placement strategy in which the problem is modeled on the basis of integer linear programming and is solved with the help of tree and forest algorithms. This method improves energy consumption as this incurs very less communication cost; however, overall energy consumption is not improved significantly as these algorithms require a bit extra power because of service-oriented VM placement. 2.3. Based on Constraint Programming A lot of work has been done, for the stated problem, using constraint programming model. Van et al. [20] proposed a framework that combines utility-based dynamic VM provisioning manager and a dynamic VM placement manager as constraint satisfaction problem. Hermenier et al. [21] proposed a dynamic VM consolidation mechanism based on entropy which not only allocates the VM to physical server but takes migration overhead also into consideration. 2.4. Based on Evolutionary Techniques Numerous nature-inspired algorithms have also been applied to solve VM placement problem which is also known as VM consolidation problem. Feller et al. [22] proposed a technique based on the foraging behavior of ants. This algorithm gives better results than various other greedy techniques. Genetic algorithm (GA) has also been applied to solve similar problem with optimum number of physical machines to be turned on during VM placement. The approach is named as GA-Based Approach (GABA) [23]. GABA reallocates the VMs in data center of huge physical machines with online self-reconfiguration approach. Zheng et al. [11] and Gao et al. [12] both had modeled this problem as multi-objective optimization problem and proposed a solution based on nature-inspired algorithms. While Zheng et al. used the biogeography-based optimization technique, Gao et al. tried to find set of non-dominated solution using ant colony optimization. Tang and Pan [24] proposed a method for energy efficient VM placement using hybrid GA that considers the energy consumption in both physical machines and in communication network. An approach for the VM placement problem using improved GA with fuzzy multi-objective optimization is proposed in Xu and Fortes [25]. This work deals with the situation where the solution space is very large i.e. when the data center is very large. In this work, authors modeled the VM placement problem as multi-objective optimization problem considering resource wastage, power consumption and thermal dissipation costs. Amol et al. [26] used non-dominated sorted GA and framed VM placement problem as constrained multi-objective optimization problem considering profit, load balancing as well as the resource wastage. Few more works have been carried out which are not directly related with VM placement problem but provides a quiet efficient approach to solve-related problems. An energy aware application controller for optimizing renewable energy consumption in data centers is proposed in Dupont et al. [27] proposed Energy Adaptive Software Controller (EASC) which is an interface to help developers to make their application compatible to renewable energy resources. Forestiero [28] proposed a hierarchical method to manage the workload in the data center that caters to the workload migration as well. Grandinetti et al. [29] and Sheikhalishahi et al. [30] have proposed a model to solve job scheduling problem. This has quite interesting and efficient formulation of problem that helps the authors to frame the VM placement problem. Most of the works, proposed in the literature, mainly focused on the VM placement problem considering a single objective only. In reality, this problem is to be addressed as a multi-objective optimization problem as it involves various objectives such as resource wastage, power consumption and thermal dissipation. Therefore, in the proposed work, the VM placement is modeled as a multi-objective optimization problem with the resource wastage and power consumption as two conflicting objectives. In recent, these two objectives are the prime concern of a data center. A binary version of PSO with some modifications has been applied to solve this problem. Proposed modification in the PSO produces good-quality solutions. 3. BACKGROUND To better understand the VM placement problem, an example has been cited here. 3.1. VM Placement: An Example A VM placement scenario is shown in Fig. 1 that considers seven physical servers, each running one VM. Each server has four cores so it can host four VMs. It is assumed that initially when only one VM is running on a single physical server, the resource utilizations for seven servers are 60%, 35%, 25%, 30%, 35%, 40% and 15%. If we assume the maximum capacity to be utilized (assume resource utilization threshold is 95%), then we can run VM1, VM2 on Server1, VM3, VM4, VM6 on Server2 and VM5, VM7 on Server3. The resource utilization threshold is considered as 95% as 100% resource utilization may result in performance degradation. This is because if computational resources of the physical machine is 100% utilized and a VM migration is needed at this instance, it cannot be performed as VM migration would also require some resources for computation. Thus, instead of using seven servers, it is possible to place these seven VMs on three servers. With this placement, it is possible to maximize the resource utilization by minimizing the resource wastage. It is also to be noted that this placement will also result in minimum power consumption. Figure 1. View largeDownload slide An example of VM placement [12]. Figure 1. View largeDownload slide An example of VM placement [12]. 3.2. Multi-objective Optimization A multi-objective optimization problem is formally defined as follows: Minimize/Maximizef→(x→)=[f1(x→),f2(x→),…,fm(x→)];Subjecttogj(x→)≥0,j=1,2,…,J;hk(x→)=0,k=1,2,…,K. Here x→=[x1,x2,…,xn]∈D is a solution which consists of n decision variables of the decision variable search space D. For feasible solutions, x→ should satisfy J inequality and K equality constraints. In case of binary search space, all decision variables will take only binary values. Therefore, x→∈D={B(1)×B(2),⋯,×B(n)}whereB={0,1}. Since the objective functions are conflicting, a single solution which will optimize all the objectives simultaneously is not possible. Therefore, the concept of scalar optimality is not applicable here. In multi-objectives, a set of solutions known as Pareto-optimal solution is generated. Before Pareto optimality, an important term ‘dominance’ needs elaboration. The relationship of dominance is represented by ≺̲ symbol. A solution x→(1) is said to dominate the solution x→(2) i.e. x→(1)≺̲x→(2), if both the following conditions hold: x→(1) is no worse than x→(2) for all the objectives. x→(1) is strictly better than x→(2) for at least one objective. Among the solutions of the entire search space D, the non-dominated set of solutions P are those that are not dominated by any member of D. This non-dominated set P is known as Pareto-optimal set. 4. PROBLEM FORMULATION Cloud normally houses pool of physical servers on which various applications are deployed using virtualization. Resources are virtualized and offered to the user in form of VMs. The problem of VM mapping over the physical server is similar to multi-dimensional vector packing problem where dimensions resemble resource utilizations. In the proposed work, the only consideration to the resource dimensions is CPU and memory utilization because of simplicity, although it can be extended even further. If more than one VMs are running on the same server, then for a specific dimension, the resource utilization of the server is the sum of resource utilization of those VMs in the respective dimension. For example, if two VMs have CPU and memory request as (30%, 25%) and (45%, 15%) respectively, then on the server that accommodates these two VMs, the resource utilizations are (75%, 40%) for CPU and memory request. As the utilization of the resources at the server would never reach 100%, some threshold value should be used in order to fix the upper bound on the resource utilization. The reason behind this is to prevent the performance degradation due to 100% utilization. 4.1. Resource Wastage Modeling A number of VM placement algorithms aim for optimal resource wastage on the servers. For the efficient utilization of the resources, these algorithms balance the residual resources. Figure 2 illustrates the problem of residual resource wastage. The resource wastage at physical server j can be modeled as the following equation [11]: Wj=|Tjc−Tjm|+εUjc+Ujm (1)where Wj is the resource wastage, Tjc and Tjm are remaining CPU and memory wastage, respectively, in the normalized form and Ujc and Ujm are CPU and memory resource usage, respectively, in the normalized form. ε is very small positive real number which is set as 0.0001. Figure 2. View largeDownload slide An example of three VMs placed on a single server [25]. Figure 2. View largeDownload slide An example of three VMs placed on a single server [25]. 4.2. Power Consumption Modeling Various works have been done to analyze the factors that influence the power consumption of the physical servers [24, 31–33]. An experiment has been performed by Zheng et al. [11] to show how power consumption varies with CPU usage, memory usage, data store I/O (which is related to repositories to store data) and network usage. Results obtained are shown in Table 1. Table 1. Correlation between power consumption and other resource usage. Variable X Variable Y Correlation coefficient (X,Y) Power consumption CPU usage 0.990667 Memory usage 0.681875 Data store I/O 0.253151 Network usage −0.12116 Variable X Variable Y Correlation coefficient (X,Y) Power consumption CPU usage 0.990667 Memory usage 0.681875 Data store I/O 0.253151 Network usage −0.12116 Table 1. Correlation between power consumption and other resource usage. Variable X Variable Y Correlation coefficient (X,Y) Power consumption CPU usage 0.990667 Memory usage 0.681875 Data store I/O 0.253151 Network usage −0.12116 Variable X Variable Y Correlation coefficient (X,Y) Power consumption CPU usage 0.990667 Memory usage 0.681875 Data store I/O 0.253151 Network usage −0.12116 Table 1 shows the strong-positive correlation between the CPU usage and power consumption. This linear correlation is also confirmed in the experiments conducted on SUN FIRE X4470 Server for this problem. Using the above information, the power consumption at jth physical server can be formulated as in the following equation: Pj={(Pjbusy−Pjidle)×Ujc+Pjidle,ifUjc>00otherwise (2)where Pjbusy and Pjidle are the consumed power values when the jth physical server is fully loaded and idle, respectively. Based on the observations, obtained from the experimental work, these parameters, in our experiment, are fixed to 215 and 162 W, respectively. 4.2.1. Notation Some of the notations, used in this work, are given in Table 2. Table 2. Notation. Notation Meaning Wj Resource wastage at jth physical server Tjc, Tjm Remaining CPU and remaining memory wastage at jth physical server Ujc, Ujm Normalized usage of CPU and memory Pjbusy, Pjidle Power consumption at jth physical server when jth server is fully loaded and idle I={1,2,…,n} Set of ‘n’ VMs J={1,2,…,m} Set of ‘m’ physical servers ρci, ρmi CPU and memory requirement of VM i xij A variable that indicates whether the ith VM is assigned to jth physical server or not yj A variable that indicates whether the jth physical server is in use or not Rcj, Rmj Thresholds of CPU utilization and memory utilization corresponding to jth physical machine Pknown Evaluated Pareto front Notation Meaning Wj Resource wastage at jth physical server Tjc, Tjm Remaining CPU and remaining memory wastage at jth physical server Ujc, Ujm Normalized usage of CPU and memory Pjbusy, Pjidle Power consumption at jth physical server when jth server is fully loaded and idle I={1,2,…,n} Set of ‘n’ VMs J={1,2,…,m} Set of ‘m’ physical servers ρci, ρmi CPU and memory requirement of VM i xij A variable that indicates whether the ith VM is assigned to jth physical server or not yj A variable that indicates whether the jth physical server is in use or not Rcj, Rmj Thresholds of CPU utilization and memory utilization corresponding to jth physical machine Pknown Evaluated Pareto front Table 2. Notation. Notation Meaning Wj Resource wastage at jth physical server Tjc, Tjm Remaining CPU and remaining memory wastage at jth physical server Ujc, Ujm Normalized usage of CPU and memory Pjbusy, Pjidle Power consumption at jth physical server when jth server is fully loaded and idle I={1,2,…,n} Set of ‘n’ VMs J={1,2,…,m} Set of ‘m’ physical servers ρci, ρmi CPU and memory requirement of VM i xij A variable that indicates whether the ith VM is assigned to jth physical server or not yj A variable that indicates whether the jth physical server is in use or not Rcj, Rmj Thresholds of CPU utilization and memory utilization corresponding to jth physical machine Pknown Evaluated Pareto front Notation Meaning Wj Resource wastage at jth physical server Tjc, Tjm Remaining CPU and remaining memory wastage at jth physical server Ujc, Ujm Normalized usage of CPU and memory Pjbusy, Pjidle Power consumption at jth physical server when jth server is fully loaded and idle I={1,2,…,n} Set of ‘n’ VMs J={1,2,…,m} Set of ‘m’ physical servers ρci, ρmi CPU and memory requirement of VM i xij A variable that indicates whether the ith VM is assigned to jth physical server or not yj A variable that indicates whether the jth physical server is in use or not Rcj, Rmj Thresholds of CPU utilization and memory utilization corresponding to jth physical machine Pknown Evaluated Pareto front 4.3. Mathematical Formulation Consider n VMs to be placed on m physical servers. These VMs can be assigned in (m+1)n possible ways including the case where a VM is not assigned to any physical server. The objective is to find an allocation which maximizes resource wastage and power consumption. Let I be the set of VMs and J be the set of physical servers. It has been assumed than none of the VMs requests are outside the initial capacity of any server. Let ρci and ρmi be the CPU and memory requirement, respectively, of each VM i ϵ I and Rcj and Rmj be the threshold of CPU utilization and memory utilization, respectively, of each physical server j ϵ J. For simplicity, it has been kept equal for all the servers. Let xij and yj be two binary variables as follows. xij={1iftheVMi∈Iisassignedtophysicalserverj∈J0otherwiseyj={1iftheserverj∈Jisinuse0otherwise The objective is to minimize the resource wastage and power consumption simultaneously. So the problem can be formulated as given in the following equations: f1=Minimize∑j=1mWj=∑j=1m[yj×|(Rcj−∑i=1n(xij⋅ρci))−(Rmj−∑i=1n(xij⋅ρmi))|+ε∑i=1n(xij⋅ρci)+∑i=1n(xij⋅ρmi)] (3) f2=Minimize∑j=1mPj=∑j=1m[yj×((Pjbusy−Pjidle)×∑i=1n(xij⋅ρci)+Pjidle)] (4) Subject to: ∑j=1mxij=1∀i∈I (5) ∑i=1nρci⋅xij≤Rcj⋅yj∀j∈J (6) ∑i=1nρmi⋅xij≤Rmj⋅yj∀j∈J (7) The objective function in equation (3) is formulated to minimize the resource wastage of all the physical servers whereas equation (4) is formulated to minimize the power consumption of all the servers for a particular VM assignment. The constraint in equation (5) ensures that VM i is assigned to one and only one physical server whereas constraints in equations (6) and (7) ensure that allocated resources of each server cannot exceed their capacity. To minimize the resource wastage, the load on a server is increased but at the same time, excessive computation load on a physical server results in increased power consumption of that resource. Thus, the objective functions of the formulated problem are conflicting in nature and warrants to be modeled as a multi-objective optimization problem. The aim is to find the set of non-dominated solutions instead of a single solution. In the above formulation, the search space is binary search space with multiple dimensions and number of decision variables. It is needed to find the appropriate placement i.e. a mapping which will satisfy the aforementioned constraints and optimize the objectives effectively. A Binary PSO with some modifications has been used to solve this problem. 5. THE PROPOSED VM PLACEMENT METHOD In this section, a method for VM placement is proposed that uses BPSO and is named as VM Placement using BPSO (VMPBPSO). BPSO for multi-objective optimization problem (MOOP) is also discussed. The modifications made to BPSO for VM placement problem are also discussed in this section. 5.1. BPSO: A Brief Overview Particle swarm optimization is a meta-heuristic based on the swarm intelligence. The technique was first discovered by Kennedy and Eberhart in 1995 for continuous search space [34]. Later, it was modified for the discrete search space resulting in binary PSO (BPSO) in 1997 [35]. BPSO works on discrete binary variables and is capable in solving combinatorial optimization problems. PSO is inspired by the social behavior of the swarm of flocking birds and fishing school. The principle being with the help of socially shared information by the members of the group, more evolutionary advantages can be explored. When a flock of birds forages, then searching the surrounding area of the nearest bird is the simplest and effective way. Binary PSO has been successfully applied for various problems including job scheduling [36], tuning the structure and parameters of the neural network [37], feature selection [38], gene selection and classification [39], etc. The procedure of BPSO is similar to PSO. Given a function f(X→) with decision variable X→, the objective is to search X→⁎ which will optimize f with evolving iterations. An individual particle, in the swarm, is represented by a set of three vectors ⟨X→i,P→i,V→i⟩ each of which is a d dimensional vector, where d is the cardinality of the search space dimension. The vector X→i=(xi1,xi2,…,xid) represents current position, P→i represents the previous best position of the particle and V→i=(vi1,vi2,…,vid) represents the velocity of the particle. The current position X→i resembles a point or a solution in the search space, sometimes referred as a bird. In a binary search space, the particle will move within the hypercube [35] by flipping various bits. Thus, the velocity of a particle can be considered as number of bits changed per iteration. A particle is stationary if zero bits are changed and will move farthest if all the bits are reversed. Each particle remembers its position i.e. the corresponding solution and the velocity. There are two PSO variants: global PSO and local PSO. In global PSO, the particle memorizes its previous best position pbest→i and global best position gbest→. After finding these two values the velocity of particle is updated after kth iteration as in the following equation: vidk+1=w⋅vidk+c1⋅φ1(pbest→idk−xidk)+c2⋅φ2(gbest→dk−xidk) (8) In local PSO, the gbest→dk is replaced by lbest→idk which represents the position component of the best particle lbest→i in the neighborhood. c1 and c2 are the cognition learning and the social learning rate, respectively. These learning rates decide the maximum step size towards the personal best solution and global best solution. w is the inertia weight controlling the velocity. φ1 and φ2 are real random numbers in the range [0, 1]. Based on this velocity, the position of the particle is updated as in the following equation: xidk+1={1if(φ<S(vidk+1))0otherwise (9) Here S is a sigmoid function and φ is quasi-random real number distributed uniformly in [0, 1] as defined in the following equation: S(vidk+1)=1(1+exp(−vidk+1)) (10) It is important to note that xid,pbest→idk and gbest→dk are binary numbers. 5.2. Solution Representation In BPSO, each xij is a decision variable which represents whether ith VM is assigned to physical server j or not. Each solution or particle in the VM allocation problem is represented by a binary matrix as in Fig. 3, with the condition that row sum should be equal to one. Figure 3. View largeDownload slide A solution representation. Figure 3. View largeDownload slide A solution representation. 5.3. Modifications in BPSO for the VM placement To solve multi-objective VM allocation problem, the following modifications in BPSO are done. 5.3.1. Particle Initialization Since the initial population in the binary search space is generated randomly, therefore, it is not necessary that the particle will satisfy the constraints as given in equation (5). Therefore, a generator function is to be used. At the beginning, each of the VM is assigned to any of the physical server with the probability 1/m. To assign a VM i to the physical server j, the value of j is generated randomly between [1, m]. The value of xij is set to 1 according to the value of j. With the help of this generator function, all the generated particles will satisfy the constraints in equation (5). The pseudo-code for the function is as below. Algorithm 1 Generator(n, m) 1. x = zeros(n,m); // Generates a matrix of n × m 2. j = randi([1 m],1,n); // Generates a vector of n × 1 that has all values randomly between [1, m] 3. for i = 1:n x(i, j(i)) = 1; // Assigning a particular VM to a physical machine 4. end 1. x = zeros(n,m); // Generates a matrix of n × m 2. j = randi([1 m],1,n); // Generates a vector of n × 1 that has all values randomly between [1, m] 3. for i = 1:n x(i, j(i)) = 1; // Assigning a particular VM to a physical machine 4. end Algorithm 1 Generator(n, m) 1. x = zeros(n,m); // Generates a matrix of n × m 2. j = randi([1 m],1,n); // Generates a vector of n × 1 that has all values randomly between [1, m] 3. for i = 1:n x(i, j(i)) = 1; // Assigning a particular VM to a physical machine 4. end 1. x = zeros(n,m); // Generates a matrix of n × m 2. j = randi([1 m],1,n); // Generates a vector of n × 1 that has all values randomly between [1, m] 3. for i = 1:n x(i, j(i)) = 1; // Assigning a particular VM to a physical machine 4. end 5.3.2. Position Update of Particles Each particle updates its position using equations (8) and (9). It is possible that the updated particles do not satisfy the constraints as in equation (5). Therefore, corrective measures should be taken according to the given problem. An array named memory_array is used in order to keep track of elements of ith row which has value 1 so far in a particular solution. At the beginning of each iteration, value of memory_array is initialized to zero. When each particle updates its position by setting the value of xij = 1 then the memory_array[i] will be searched. If it already contains some value, it means that the VM has already been assigned to some physical servers from xi1 to xij−1 which is indicated by memory_array[i]. The value of xij will not be updated then. If the memory_array[i] has zero and φ<S(vidk+1) then the value of xij is set to 1. In other words, if these two conditions are not met simultaneously, then the value of xij is set to zero. With the introduction of memory_array the effectiveness of the algorithm is significantly improved which has been observed by the experiment in Section 6. 5.3.3. Selection of pbesti and gbest In a multi-objective search space, due to point centered characteristic of global and local optimum, it is not possible to find both of these. Therefore, it is not possible to use BPSO directly to solve multi-objective problem. In 2002, Hu and Eberhart [40] proposed an algorithm based on dynamic neighborhood PSO to solve multi-objective optimization problem. In the proposed VMPBPSO method, for the selection of pbest and gbest, the idea of dynamic neighborhood is adopted. In every generation, each particle will compute its distance from other particles to find its new neighbors. In the objective space of two objectives, the Pareto front is the boundary of the fitness value region that consists of continuous or discontinuous lines and/or points. If both the objectives of the problem have to be minimized then boundary will be located at the left lower half as shown in Fig. 4, where Pareto front is shown using solid lines. Figure 4. View largeDownload slide An example of objective space of two functions. Figure 4. View largeDownload slide An example of objective space of two functions. With the help of dynamic neighborhood concept, the pbesti and gbest are calculated as follows: Calculate the distance between current particle and the other particle in fitness value space of the first objective function (f1). Based on the above calculated distance find the nearest l particles as the neighbors of the current particle. Among these l+1 particles, the pbesti is calculated using the second fitness function (f2). When any of the two (f1 and f2) is lower than the current particle then update the location of pbesti. If both the f1 and f2 are lower than the current particle then the location of gbest is updated. 5.4. Pareto Set Calculation Procedure To find an approximation of Pareto optimal set, the concept of dominance is used [41]. The steps of this algorithm are as follows. Algorithm 2 Calcultate_Pareto(S’) Input: Set of solutions S’ Output: Set of approximate Pareto optimal solutions P 1. Start with i = 1. 2. Using the concept of dominance find j ≠ i, such that x→(j)≺̲x→(i). 3. If j is found then mark x→(i)as dominated solution and increment the value of i by one. Go to Step 2. 4. If all the solutions in the set have been considered (i.e. when i = N) then go to Step 5. Otherwise increment the value of i by one and go to Step 2. 5. Return the set of solutions which are unmarked as a non-dominated solution set or approximate Pareto optimal set P. Input: Set of solutions S’ Output: Set of approximate Pareto optimal solutions P 1. Start with i = 1. 2. Using the concept of dominance find j ≠ i, such that x→(j)≺̲x→(i). 3. If j is found then mark x→(i)as dominated solution and increment the value of i by one. Go to Step 2. 4. If all the solutions in the set have been considered (i.e. when i = N) then go to Step 5. Otherwise increment the value of i by one and go to Step 2. 5. Return the set of solutions which are unmarked as a non-dominated solution set or approximate Pareto optimal set P. Algorithm 2 Calcultate_Pareto(S’) Input: Set of solutions S’ Output: Set of approximate Pareto optimal solutions P 1. Start with i = 1. 2. Using the concept of dominance find j ≠ i, such that x→(j)≺̲x→(i). 3. If j is found then mark x→(i)as dominated solution and increment the value of i by one. Go to Step 2. 4. If all the solutions in the set have been considered (i.e. when i = N) then go to Step 5. Otherwise increment the value of i by one and go to Step 2. 5. Return the set of solutions which are unmarked as a non-dominated solution set or approximate Pareto optimal set P. Input: Set of solutions S’ Output: Set of approximate Pareto optimal solutions P 1. Start with i = 1. 2. Using the concept of dominance find j ≠ i, such that x→(j)≺̲x→(i). 3. If j is found then mark x→(i)as dominated solution and increment the value of i by one. Go to Step 2. 4. If all the solutions in the set have been considered (i.e. when i = N) then go to Step 5. Otherwise increment the value of i by one and go to Step 2. 5. Return the set of solutions which are unmarked as a non-dominated solution set or approximate Pareto optimal set P. With the above-proposed modifications, the performance of the BPSO is significantly improved for the VM allocation. 5.5. VMPBPSO Algorithm Algorithm 3 VMPBPSO Input: Set of VMs with their computing and memory demands, Set of physical servers with their capacity threshold and set of parameters. Output: An approximate Pareto optimal set P representing possible VM allocations. 1. Initialize the swarm of particles using generator function in the binary search space. 2. While stopping criteria is not met do 3. Compute the fitness of each particle using equations (3) and (4) and update the gbest and pbest. 4. For all particle do 5. Update the position and velocity using equations (9) and (8) respectively. 6. End for 7. End while 8. Calculate the approximate pareto-optimal set P from the obtained solution using Calcultate_Pareto(). Input: Set of VMs with their computing and memory demands, Set of physical servers with their capacity threshold and set of parameters. Output: An approximate Pareto optimal set P representing possible VM allocations. 1. Initialize the swarm of particles using generator function in the binary search space. 2. While stopping criteria is not met do 3. Compute the fitness of each particle using equations (3) and (4) and update the gbest and pbest. 4. For all particle do 5. Update the position and velocity using equations (9) and (8) respectively. 6. End for 7. End while 8. Calculate the approximate pareto-optimal set P from the obtained solution using Calcultate_Pareto(). Algorithm 3 VMPBPSO Input: Set of VMs with their computing and memory demands, Set of physical servers with their capacity threshold and set of parameters. Output: An approximate Pareto optimal set P representing possible VM allocations. 1. Initialize the swarm of particles using generator function in the binary search space. 2. While stopping criteria is not met do 3. Compute the fitness of each particle using equations (3) and (4) and update the gbest and pbest. 4. For all particle do 5. Update the position and velocity using equations (9) and (8) respectively. 6. End for 7. End while 8. Calculate the approximate pareto-optimal set P from the obtained solution using Calcultate_Pareto(). Input: Set of VMs with their computing and memory demands, Set of physical servers with their capacity threshold and set of parameters. Output: An approximate Pareto optimal set P representing possible VM allocations. 1. Initialize the swarm of particles using generator function in the binary search space. 2. While stopping criteria is not met do 3. Compute the fitness of each particle using equations (3) and (4) and update the gbest and pbest. 4. For all particle do 5. Update the position and velocity using equations (9) and (8) respectively. 6. End for 7. End while 8. Calculate the approximate pareto-optimal set P from the obtained solution using Calcultate_Pareto(). The flow chart for the proposed VMPBPSO is shown in Fig. 5. Figure 5. View largeDownload slide The flow chart of the proposed VMPBPSO. Figure 5. View largeDownload slide The flow chart of the proposed VMPBPSO. 6. EXPERIMENTAL ANALYSIS In this section, the performance of the proposed VMPBPSO method is done by its simulation. The performance of the proposed VMPBPSO method is also compared with few recent algorithms, such as multi-objective ant colony system algorithm for VM placement (VMPACS) [12], multi-objective grouping GA (MGGA)-based VM placement [25], single objective ant colony optimization based VM placement algorithm (SACO) [22] and single objective first fit decreasing algorithms [42]. The code for VMPBPSO, VMPACS, MGGA and SACO algorithms are written using CloudSim toolkit [43]. The values of various parameters affect and determine the performance of the algorithm so the appropriate parameter values are determined by some preliminary experiments while some other are as in [44]. In the proposed VMBPSO, the value of neighborhood l is set to 2. The proposed method maintains a large population which is set to 40 and maximum number of iteration is set to 50 throughout the experiment. Cognition learning rate c1 and social learning rate c2 are to be tuned so that the result is not trapped into local optimum. Both c1 and c2 are tuned for better performance through experimentation and are set to 1.49745. The inertia weight w is chosen randomly between 0.5 and 1. The value of vidk is limited between (−0.4 to +0.4), so that sigmoid function cannot reach to saturation. The 200 VM instances, consisting of CPU and memory, are generated. The server instances also consist of the same dimensions and in order to fix the worst case scenario when every VM is assigned to a distinct single server, the cardinality of the servers is taken equal to the cardinality of VMs. For the sake of simplicity, the servers are considered to be homogeneous, though heterogeneous configuration can also be simulated. The VM placement algorithm results in the set of non-dominated solutions. Experiments are repeated 20 times and for each test set, average of independent results are noted. Among the VMs, a linear correlations between CPU and memory is introduced as in [42]. Requirements of CPU and memory in the VMs are generated randomly with the specific correlation as follows. For i = 1 to n do 1. ρci=rand(2ρ̅c); 2. ρmi=rand(ρ̅m); 3. r=rand(1.0); 4. if (r<P˄ρci≥ρ̅c)˅(r≥P˄ρci<ρ̅c)then ρmi=ρmi+ρ̅m End for For i = 1 to n do 1. ρci=rand(2ρ̅c); 2. ρmi=rand(ρ̅m); 3. r=rand(1.0); 4. if (r<P˄ρci≥ρ̅c)˅(r≥P˄ρci<ρ̅c)then ρmi=ρmi+ρ̅m End for For i = 1 to n do 1. ρci=rand(2ρ̅c); 2. ρmi=rand(ρ̅m); 3. r=rand(1.0); 4. if (r<P˄ρci≥ρ̅c)˅(r≥P˄ρci<ρ̅c)then ρmi=ρmi+ρ̅m End for For i = 1 to n do 1. ρci=rand(2ρ̅c); 2. ρmi=rand(ρ̅m); 3. r=rand(1.0); 4. if (r<P˄ρci≥ρ̅c)˅(r≥P˄ρci<ρ̅c)then ρmi=ρmi+ρ̅m End for In the above, rand(a) function returns a uniformly distributed real random number in the range [0, a), ρ̅c represents the reference CPU requirement and the ρ̅m represents the reference memory requirements. P is the probability which is a reference value used to control the correlation between CPU and memory utilizations. The experiment is divided in two sets. One for ρ̅c=ρ̅m=25% and other for ρ̅c=ρ̅m=45% of the server resources. Hence, when ρ̅c=ρ̅m=25%, the distributions of the CPU and memory are in the range of [0, 50%) and when ρ̅c=ρ̅m=45%, the distributions of the CPU and memory are in the range of [0, 90%). For the first class of set where ρ̅c=ρ̅m=25%, we set the probability P to 0.00, 0.25, 0.50, 0.75, and 1.0, so the corresponding average correlation coefficients obtained are −0.754, −0.348, −0.072, 0.371 and 0.755. We can classify these correlation coefficients into strong-negative, weak-negative, zero, weak-positive and strong-positive correlations. Similarly, for second class of set where ρ̅c=ρ̅m=45%, for same probabilities we obtained the correlation coefficients as −0.755, −0.374, −0.052, 0.398 and 0.751. The thresholds for the utilization of each server are set to Rc=Rm=90% in all the experiments. 6.1. Comparison of VMPBPSO with VMPACS and MGGA To evaluate the performance of VMPBPSO, VMPACS and MGGA, two metrics named as Overall Non-Dominated Vector Generation (ONVG) and Spacing are used. ONVG and Spacing are the performance metrics that are used to evaluate the performance of multi-objective evolutionary algorithms in terms of diversity among obtained non dominated solution. The ONVG is defined as in the following equation: ONVG=|Pknown|c (11)where |Pknown|c represents the cardinality of evaluated Pareto front. The large value of ONVG indicates better understanding of Pareto front details. Spacing of a Pareto set P is defined as in the following equation: Spacing=1|Pknown|c−1∑i=1|Pknown|(di−d¯)2 (12)where di=mink∈Pknown∧k≠i∑j=1m|fji−fjk|, d¯ is the mean value of di and is calculated as in the following equation: d¯=∑i=1|Pknown|cdi|Pknown|c (13) A set of good solutions must have Spacing value close to zero. Table 3 shows the comparison of MGGA and VMPACS with VMPBPSO based on ONVG and Spacing. Table 3. Comparison among MGGA, VMPACS and VMPBPSO with respect to ONVG and spacing. Reference value Correlation coefficient Algorithm ONVG Spacing ρ̅c=ρ̅m=25% −0.754 MGGA 16.02 0.59 VMPACS 21.24 0.21 VMPBPSO 24.32 0.18 −0.348 MGGA 17.08 0.52 VMPACS 23.42 0.19 VMPBPSO 25.11 0.15 −0.072 MGGA 15.74 0.46 VMPACS 18.65 0.15 VMPBPSO 22.21 0.12 0.371 MGGA 14.24 0.32 VMPACS 19.14 0.14 VMPBPSO 25.74 0.09 0.755 MGGA 15.06 0.21 VMPACS 24.27 0.12 VMPBPSO 25.67 0.07 ρ̅c=ρ̅m=45% −0.755 MGGA 16.38 0.22 VMPACS 21.56 0.17 VMPBPSO 23.51 0.15 −0.374 MGGA 14.23 0.20 VMPACS 22.40 0.16 VMPBPSO 24.20 0.13 −0.052 MGGA 13.45 0.19 VMPACS 21.17 0.14 VMPBPSO 25.47 0.10 0.398 MGGA 11.98 0.16 VMPACS 20.45 0.11 VMPBPSO 27.84 0.08 0.751 MGGA 10.54 0.13 VMPACS 18.64 0.08 VMPBPSO 29.36 0.04 Reference value Correlation coefficient Algorithm ONVG Spacing ρ̅c=ρ̅m=25% −0.754 MGGA 16.02 0.59 VMPACS 21.24 0.21 VMPBPSO 24.32 0.18 −0.348 MGGA 17.08 0.52 VMPACS 23.42 0.19 VMPBPSO 25.11 0.15 −0.072 MGGA 15.74 0.46 VMPACS 18.65 0.15 VMPBPSO 22.21 0.12 0.371 MGGA 14.24 0.32 VMPACS 19.14 0.14 VMPBPSO 25.74 0.09 0.755 MGGA 15.06 0.21 VMPACS 24.27 0.12 VMPBPSO 25.67 0.07 ρ̅c=ρ̅m=45% −0.755 MGGA 16.38 0.22 VMPACS 21.56 0.17 VMPBPSO 23.51 0.15 −0.374 MGGA 14.23 0.20 VMPACS 22.40 0.16 VMPBPSO 24.20 0.13 −0.052 MGGA 13.45 0.19 VMPACS 21.17 0.14 VMPBPSO 25.47 0.10 0.398 MGGA 11.98 0.16 VMPACS 20.45 0.11 VMPBPSO 27.84 0.08 0.751 MGGA 10.54 0.13 VMPACS 18.64 0.08 VMPBPSO 29.36 0.04 Table 3. Comparison among MGGA, VMPACS and VMPBPSO with respect to ONVG and spacing. Reference value Correlation coefficient Algorithm ONVG Spacing ρ̅c=ρ̅m=25% −0.754 MGGA 16.02 0.59 VMPACS 21.24 0.21 VMPBPSO 24.32 0.18 −0.348 MGGA 17.08 0.52 VMPACS 23.42 0.19 VMPBPSO 25.11 0.15 −0.072 MGGA 15.74 0.46 VMPACS 18.65 0.15 VMPBPSO 22.21 0.12 0.371 MGGA 14.24 0.32 VMPACS 19.14 0.14 VMPBPSO 25.74 0.09 0.755 MGGA 15.06 0.21 VMPACS 24.27 0.12 VMPBPSO 25.67 0.07 ρ̅c=ρ̅m=45% −0.755 MGGA 16.38 0.22 VMPACS 21.56 0.17 VMPBPSO 23.51 0.15 −0.374 MGGA 14.23 0.20 VMPACS 22.40 0.16 VMPBPSO 24.20 0.13 −0.052 MGGA 13.45 0.19 VMPACS 21.17 0.14 VMPBPSO 25.47 0.10 0.398 MGGA 11.98 0.16 VMPACS 20.45 0.11 VMPBPSO 27.84 0.08 0.751 MGGA 10.54 0.13 VMPACS 18.64 0.08 VMPBPSO 29.36 0.04 Reference value Correlation coefficient Algorithm ONVG Spacing ρ̅c=ρ̅m=25% −0.754 MGGA 16.02 0.59 VMPACS 21.24 0.21 VMPBPSO 24.32 0.18 −0.348 MGGA 17.08 0.52 VMPACS 23.42 0.19 VMPBPSO 25.11 0.15 −0.072 MGGA 15.74 0.46 VMPACS 18.65 0.15 VMPBPSO 22.21 0.12 0.371 MGGA 14.24 0.32 VMPACS 19.14 0.14 VMPBPSO 25.74 0.09 0.755 MGGA 15.06 0.21 VMPACS 24.27 0.12 VMPBPSO 25.67 0.07 ρ̅c=ρ̅m=45% −0.755 MGGA 16.38 0.22 VMPACS 21.56 0.17 VMPBPSO 23.51 0.15 −0.374 MGGA 14.23 0.20 VMPACS 22.40 0.16 VMPBPSO 24.20 0.13 −0.052 MGGA 13.45 0.19 VMPACS 21.17 0.14 VMPBPSO 25.47 0.10 0.398 MGGA 11.98 0.16 VMPACS 20.45 0.11 VMPBPSO 27.84 0.08 0.751 MGGA 10.54 0.13 VMPACS 18.64 0.08 VMPBPSO 29.36 0.04 In Fig. 6, total power consumption and resource wastage for both the test sets are shown. From these results, it can be derived that VMPBPSO is performing better than MGGA and VMPACS. In MGGA, the chromosomes share information with each other, so the whole population moves towards the optimum like a group but in case of VMPBPSO only gbest→ shares the information with other particles. This results in quick convergence towards the optimum solution. Since the BPSO respond to the quality and diversity of the solution, the proposed algorithm gives more number of non-dominated solutions with better spacing. Figure 6. View largeDownload slide Comparison with VMPACS and MGGA for power consumption and resource wastage. Figure 6. View largeDownload slide Comparison with VMPACS and MGGA for power consumption and resource wastage. 6.2. Comparison of VMPBPSO with FFD and SACO The performance of the proposed algorithm is also compared with the two single objective algorithms; FFD and SACO. Figure 7 shows that the power consumption in FFD is very high as compared to SACO and VMPBPSO. This is because FFD uses more number of physical servers as compared to other two algorithms. VMPBPSO explores the search space more efficiently and converges fast (shown in next experiment) as towards the optimality during the position updation phase, use of memory_array discards the possibility of infeasible solutions. At each iteration while updating the position i.e. during the assignment of VM to a physical server a sigmoid function is used as in equation (9). It gives the probabilistic choice not to assign a VM to a physical server even though it is free. Also the modification of dynamic neighborhood favors the assignment of VM to an already used server rather than opting a new one. Therefore, it results in lesser power consumption and least resource wastage when compared with FFD and SACO. SACO performs intermediary in both the metrics because it uses more physical server as compared to VMPBPSO and less than FFD because in VMPBPSO during position updation phase the concept of dynamic neighborhood is applied which favors the assignment of new VM to previously assigned machine rather than new one. Figure 7. View largeDownload slide Comparison with FFD and SACO for power consumption and resource wastage. Figure 7. View largeDownload slide Comparison with FFD and SACO for power consumption and resource wastage. 6.3. Convergence of VMBPSO The convergence of the proposed method VMPBPSO is discussed and compared with the VMPACS through the result obtained by the experiment. In this experiment, the number of VM requests are varied from 100 to 1000 and P = 0.5. The time required to place the VMs over the physical server is computed for both the algorithms and is shown in Fig. 8. It is obvious that the proposed method outperforms VMPACS. VMPACS gives the guarantee of convergence but the convergence time is uncertain due to sequence of random decisions. Since in VMPBPSO the most optimist particle can only transmit the information, therefore it converges very fast. Figure 8. View largeDownload slide Convergence of VMPBPSO. Figure 8. View largeDownload slide Convergence of VMPBPSO. 6.4. Power Consumption and Resource Wastage for Various VMs In this section, the experiments are conducted to observe how power consumption and resource wastage varies for various VMs. The experiment is carried out keeping the number of servers fixed to 200. VMs vary from 200 to 250 and 300. A very large number of VMs are not considered to avoid the under provisioning of resources where the existing resources are less than the requested ones. Other parameters such as case ρ̅c=ρ̅m=25% are kept same. The obtained results are shown in Fig. 9. It can be clearly observed that energy consumption increases when the number of VMs are increased. It is because these additional VMs will take more resources. Further, it is observed that the resource wastage decreases when the number of VMs are increased. This is because more VMs are mapped to a physical server. Figure 9. View largeDownload slide Power consumption and resource wastage for various VMs. Figure 9. View largeDownload slide Power consumption and resource wastage for various VMs. 6.5. Performance on Large Number of VMs The performance of the VMPBPSO is also compared with the VMPACS for large number of VMs to check the relative robustness of the proposed algorithm. This is shown in Figs 10 and 11. During assignment of a VM to a physical server, the concept of dynamic neighborhood favors the previously assigned physical machine as compared to a new one. Therefore, VMPBPSO outperforms VMPACS for both the metrics i.e. power consumption and resource wastage. Figure 10. View largeDownload slide Power consumption for large number of VMs. Figure 10. View largeDownload slide Power consumption for large number of VMs. Figure 11. View largeDownload slide Resource wastage for large number of VMs. Figure 11. View largeDownload slide Resource wastage for large number of VMs. 7. CONCLUSION With the advancement in Cloud technology, big business organizations, educational institutes, individual users, etc. are joining the cloud bandwagon with less worry about the management and maintenance of the infrastructures. From the service provider perspective, Virtual Machine Placement i.e. mapping of VMs to physical server is a big challenge as there are more than one objectives involved. As mentioned in the state of the art, attempts have been made to frame the VM placement problem but they lack in dealing one or the other objectives. The work in this paper focuses on optimizing two main objectives in the VM placement problem: power consumption and resource wastage. The proposed VMPBPSO algorithm performs better on these two objectives as compared to contemporary algorithms VMPACS, MGGA, SACO and FFD for the same problem. VMPBPSO employs less physical servers for the placement of virtual machines and also explore the search space efficiently resulting in better performance. The obtained results establishes that the concept of dynamic neighborhood favors less number of physical servers, therefore, overall performance of the proposed method is improved. The limitation of the proposed method is that this work does not consider the dynamic nature of the VM placement. Since meta-heuristic techniques require some time to find the near optimal solution therefore this technique cannot be used for each new VM request. The future work will establish to formulate hybrid meta-heuristic techniques implied to solve the VM placement problem for better possible solutions. It is also possible to consider the network resources such as network bandwidth for VM placement in addition to computation and memory resources. REFERENCES 1 Special Publication 800-145 ( 2011) The NIST definition of cloud computing . National Institute of Standards and Technology, Gaithersburg, MD. 2 Voorsluys, W., Broberg, J. and Buyya, R. ( 2011) Introduction to Cloud Computing. Cloud Computing: Principles and Paradigms . Wiley. 3 Verma, A., Ahuja, P. and Neogi, A. ( 2008) pMapper: Power and Migration Cost Aware Application Placement in Virtualized Systems. In Proc. 9th ACM/IFIP/USENIX Int. Conf. Middleware, Leuven, Belgium, December 01–05, pp. 243–264. Springer, New York. 4 Bobroff, N., Kochut, A. and Beaty, K. ( 2007, May) Dynamic Placement of Virtual Machines for Managing SLA Violations. In Proc. 10th IFIP/IEEE Int. Symp. Integrated Network Management, Munich, Germany, May 21–25, pp. 119–128. IEEE. 5 Cardosa, M., Korupolu, M.R. and Singh, A. ( 2009) Shares and Utilities Based Power Consolidation in Virtualized Server Environments. In Proc. IFIP/IEEE Int. Symp. Integrated Network Management, Hofstra University New York, USA, June 01–05, pp. 327–334. IEEE. 6 Wang, M., Meng, X. and Zhang, L. ( 2011) Consolidating Virtual Machines with Dynamic Bandwidth Demand in Data Centers. In Proc. IEEE INFOCOM, Shanghai, China, April 10–15, pp. 71–75. IEEE. 7 Masdari, M., Nabavi, S.S. and Ahmadi, V. ( 2016) An overview of virtual machine placement schemes in cloud computing. J. Netw. Comput. Appl. , 66, 106– 127. Google Scholar CrossRef Search ADS 8 Meng, X., Pappas, V. and Zhang, L. ( 2010) Improving the Scalability of Data Center Networks with Traffic-Aware Virtual Machine Placement. In Proc. IEEE INFOCOM, San Diego, USA, March 15–19, pp. 1–9. IEEE. 9 Mann, V., Kumar, A., Dutta, P. and Kalyanaraman, S. ( 2011) VMFlow: Leveraging VM Mobility to Reduce Network Power Costs in Data Centers. In Proc. NETWORKING 2011, Valencia, Spain, May 09–13, pp. 198–211. Springer. 10 Biran, O., Corradi, A., Fanelli, M., Foschini, L., Nus, A., Raz, D. and Silvera, E. ( 2012, May) A Stable Network-Aware VM Placement for Cloud Systems. In 12th IEEE/ACM Int. Symp. Cluster, Cloud and Grid Computing (CCGrid), Ottawa, Canada, May 13–16, pp. 498–506. IEEE/ACM. 11 Zheng, Q., Li, R., Li, X., Shah, N., Zhang, J., Tian, F. and Li, J. ( 2016) Virtual machine consolidated placement based on multi-objective biogeography-based optimization. Future Gener. Comput. Syst. , 54, 95– 122. Google Scholar CrossRef Search ADS 12 Gao, Y., Guan, H., Qi, Z., Hou, Y. and Liu, L. ( 2013) A multi-objective ant colony system algorithm for virtual machine placement in cloud computing. J. Comput. Syst. Sci. , 79, 1230– 1242. Google Scholar CrossRef Search ADS 13 Békési, J., Galambos, G. and Kellerer, H. ( 2000) A 5/4 linear time bin packing algorithm. J. Comput. Syst. Sci. , 60, 145– 160. Google Scholar CrossRef Search ADS 14 Speitkamp, B. and Bichler, M. ( 2010) A mathematical programming approach for server consolidation problems in virtualized data centers. IEEE Trans. Serv. Comput. , 3, 266– 278. Google Scholar CrossRef Search ADS 15 Bichler, M., Setzer, T. and Speitkamp, B. ( 2006) Capacity planning for virtualized servers. Presented at Workshop on Information Technologies and Systems (WITS), Milwaukee, Wisconsin. 16 Bobroff, N., Kochut, A. and Beaty, K. ( 2007, May) Dynamic Placement of Virtual Machines for Managing SLA Violations. In Proc. 10th IEEE Symp. Integrated Management (IM), Munich, Germany, May 21–25, pp. 119–128. IEEE. 17 Chaisiri, S., Lee, B.S. and Niyato, D. ( 2009) Optimal Virtual Machine Placement Across Multiple Cloud Providers. In Proc. Asia-Pacific Services Computing Conference, Singapore, December 07–11, pp. 103–110. IEEE. 18 Lin, J.W., Chen, C.H. and Lin, C.Y. ( 2014) Integrating QoS awareness with virtualization in cloud computing systems for delay-sensitive applications. Future Gener. Comput. Syst. , 37, 478– 487. Google Scholar CrossRef Search ADS 19 Tseng, F.H., Chen, C.Y., Chao, H.C. and Niu, J.W. ( 2015) Service-oriented virtual machine placement optimization for green data center. Mob. Netw. Appl. , 20, 556– 566. Google Scholar CrossRef Search ADS 20 Van, H.N., Tran, F.D. and Menaud, J.M. ( 2010) Performance and Power Management for Cloud Infrastructures. In Proc. 3rd Int. Conf. Cloud Computing (CLOUD), Miami, FL, USA, July 05–10, pp. 329–336. IEEE. 21 Hermenier, F., Lorca, X., Menaud, J.M., Muller, G. and Lawall, J. ( 2009) Entropy: A Consolidation Manager for Clusters. In Proc. ACM SIGPLAN/SIGOPS Int. Conf. Virtual Execution Environments, Washington, DC, USA, March 11–13, pp. 41–50. ACM. 22 Feller, E., Rilling, L. and Morin, C. ( 2011) Energy-Aware Ant Colony Based Workload Placement in Clouds. In Proc. IEEE/ACM 12th Int. Conf. Grid Computing, Lyon, France, September 21–23, pp. 26–33. IEEE Computer Society. 23 Mi, H., Wang, H., Yin, G., Zhou, Y., Shi, D. and Yuan, L. ( 2010) Online Self-Reconfiguration with Performance Guarantee for Energy-Efficient Large-Scale Cloud Computing Data Centers. In Proc. IEEE Int. Conf. Services Computing (SCC), Miami, FL, USA, July 05–10, pp. 514–521. IEEE. 24 Tang, M. and Pan, S. ( 2015) A hybrid genetic algorithm for the energy-efficient virtual machine placement problem in data centers. Neural Process. Lett. , 41, 211– 221. Google Scholar CrossRef Search ADS 25 Xu, J. and Fortes, J.A. ( 2010) Multi-objective Virtual Machine Placement in Virtualized Data Center Environments. In Proc. IEEE/ACM Int. Conf. Green Computing and Communications & International Conference on Cyber, Physical and Social Computing, Hangzhou, China, December 18–20, pp. 179–188. IEEE Computer Society. 26 Adamuthe, A.C., Pandharpatte, R.M. and Thampi, G.T. ( 2013) Multiobjective Virtual Machine Placement in Cloud Environment. In Proc. Int. Conf. Cloud & Ubiquitous Computing & Emerging Technologies (CUBE), Pune, India, November 15–16, pp. 8–13. IEEE. 27 Dupont, C., Sheikhalishahi, M., Facca, F.M. and Hermenier, F. ( 2015) An Energy Aware Application Controller for Optimizing Renewable Energy Consumption in Cloud Computing Data Centres. In 8th IEEE/ACM Int. Conf. on Utility and Cloud Computing, Limassol, Cyprus, December 07–10. IEEE. 28 Forestiero, A., Mastroianni, C., Meo, M., Papuzzo, G. and Sheikhalishahi, M. ( 2017) Hierarchical approach for efficient workload management in geo-distributed data centers. IEEE Trans. Green Commun. Netw. , 1, 97– 111. Google Scholar CrossRef Search ADS 29 Grandinetti, L., Guerriero, F., Pugliese, L.D.P. and Sheikhalishahi, M. ( 2015) Heuristics for the local grid scheduling problem with processing time constraints. J. Heuristics , 21, 523– 547. Google Scholar CrossRef Search ADS 30 Sheikhalishahi, M., Wallace, R.M., Grandinetti, L., Vazquez-Poletti, J.L. and Guerriero, F. ( 2016) A multi-dimensional job scheduling. Future Gener. Comput. Syst. , 54, 123– 131. Google Scholar CrossRef Search ADS 31 Elnozahy, E.N., Kistler, M. and Rajamony, R. ( 2002) Energy-Efficient Server Clusters. In Proc. Int. Workshop on Power-Aware Computer Systems, Cambridge, MA, USA, February 02, pp. 179–196. Springer. 32 Fan, X., Weber, W.D. and Barroso, L.A. ( 2007) Power Provisioning for a Warehouse-Sized Computer. In Proc. 34th Ann. Int. Symp. Computer architecture, San Diego, CA, USA, June 09–11, pp. 13–23. ACM. 33 Lien, C.H., Bai, Y.W. and Lin, M.B. ( 2007) Estimation by software for the power consumption of streaming-media servers. IEEE Trans. Instrum. Meas. , 56, 1859– 1870. Google Scholar CrossRef Search ADS 34 Kennedy, J. and Eberhart, R. ( 1995) Particle Swarm Optimization. In Neural Networks, 1995. In Proc. IEEE Int. Conf. Neural Networks, Perth, Australia, November 27–December 01, pp. 1942–1948. IEEE. 35 Kennedy, J. and Eberhart, R.C. ( 1997) A Discrete Binary Version of the Particle Swarm Algorithm. In Proc. IEEE Int. Conf. Systems, Man, and Cybernetics, 1997. Computational Cybernetics and Simulation, Orlando, FL, USA, October 12–15, pp. 4104–4108. IEEE. 36 Fan, K., Zhang, R.Q. and Xia, G. ( 2007) An Improved Particle Swarm Optimization Algorithm and Its Application to a Class of JSP Problem. In IEEE Int. Conf. Grey Systems and Intelligent Services, Nanjing, China, November 18–20, pp. 1628–1633. IEEE. 37 Zhao, L. and Qian, F. ( 2011) Tuning the structure and parameters of a neural network using cooperative binary-real particle swarm optimization. Exp. Syst. Appl. , 38, 4972– 4977. Google Scholar CrossRef Search ADS 38 Chuang, L.Y., Yang, C.H. and Li, J.C. ( 2011) Chaotic maps based on binary particle swarm optimization for feature selection. Appl. Soft Comput. , 11, 239– 248. Google Scholar CrossRef Search ADS 39 Chuang, L.Y., Yang, C.S., Wu, K.C. and Yang, C.H. ( 2011) Gene selection and classification using Taguchi chaotic binary particle swarm optimization. Exp. Syst. Appl. , 38, 13367– 13377. Google Scholar CrossRef Search ADS 40 Hu, X. and Eberhart, R. ( 2002). Multiobjective Optimization Using Dynamic Neighborhood Particle Swarm Optimization. In Proc. 2002 Congress on Evolutionary Computation, Honolulu, HI, USA, May 12–17, pp. 1677–1681. IEEE. 41 Deb, K. ( 1999) Multi-objective genetic algorithms: problem difficulties and construction of test problems. Evol. Comput. , 7, 205– 230. Google Scholar CrossRef Search ADS PubMed 42 Ajiro, Y. and Tanaka, A. ( 2007) Improving Packing Algorithms for Server Consolidation. In Proc. Int. Conf. Computer Measurement Group (CMG), pp. 399–406. Computer Measurement Group. 43 Calheiros, R.N., Ranjan, R., Beloglazov, A., De Rose, C.A. and Buyya, R. ( 2011) CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw. Pract. Exp. , 41, 23– 50. Google Scholar CrossRef Search ADS 44 Wei, Y. and Qiqiang, L. ( 2004) Survey on Particle Swarm Optimization Algorithm. Eng. Sci. , 5, 87– 94. Author notes Handling editor: Kathleen Steinhofel © The British Computer Society 2017. All rights reserved. For permissions, please email: journals.permissions@oup.com This article is published and distributed under the terms of the Oxford University Press, Standard Journals Publication Model (https://academic.oup.com/journals/pages/about_us/legal/notices)

The Computer Journal – Oxford University Press

**Published: ** Nov 21, 2017

Loading...

personal research library

It’s your single place to instantly

**discover** and **read** the research

that matters to you.

Enjoy **affordable access** to

over 18 million articles from more than

**15,000 peer-reviewed journals**.

All for just $49/month

Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly

Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place.

Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals.

Read from thousands of the leading scholarly journals from *SpringerNature*, *Elsevier*, *Wiley-Blackwell*, *Oxford University Press* and more.

All the latest content is available, no embargo periods.

## “Hi guys, I cannot tell you how much I love this resource. Incredible. I really believe you've hit the nail on the head with this site in regards to solving the research-purchase issue.”

Daniel C.

## “Whoa! It’s like Spotify but for academic articles.”

@Phil_Robichaud

## “I must say, @deepdyve is a fabulous solution to the independent researcher's problem of #access to #information.”

@deepthiw

## “My last article couldn't be possible without the platform @deepdyve that makes journal papers cheaper.”

@JoseServera

DeepDyve ## Freelancer | DeepDyve ## Pro | |
---|---|---|

Price | FREE | $49/month |

Save searches from | ||

Create lists to | ||

Export lists, citations | ||

Read DeepDyve articles | Abstract access only | Unlimited access to over |

20 pages / month | ||

PDF Discount | 20% off | |

Read and print from thousands of top scholarly journals.

System error. Please try again!

or

By signing up, you agree to DeepDyve’s Terms of Service and Privacy Policy.

Already have an account? Log in

Bookmark this article. You can see your Bookmarks on your DeepDyve Library.

To save an article, **log in** first, or **sign up** for a DeepDyve account if you don’t already have one.