1 Introduction

Cloud Computing is an interesting paradigm for remote access to a shared pool of configurable virtual resources and Amazon Web Services, Microsoft Azure, Dropbox, and Google Drive are some of the well-known realizations of this technology. Cloud Computing provides three types of services in the form of infrastructure, platform, and software as a service for cloud customers which are also known as IaaS, Paas, and SaaS, respectively. Virtualization is one of the cornerstones of cloud computing environments, in which the hardware resources of each host or physical machine (PM) are divided among several execution environments denoted as VMs. Generally, each VM is isolated from others and can operate as a complete system to run the user applications. VM monitor (VMM) or hypervisor, is a software layer in each PM that is responsible for managing the hosted VMs on each PM. XEN and KVM are well-known open-source hypervisor applied in the cloud computing DCs. Considering various virtual resources existing in the cloud DCs, efficient management of such resources is very essential for ensuring the QoS delivered to the customers, high PM utilization, return-on-investment, and energy efficiency. The main affecting factors, in the energy consumption of the cloud DCs, are presented in Fig. 1, in which PMs have allocated most of the power usage in the DCs for themselves [1,2,3].

Fig. 1
figure 1

Energy consumption Factors in cloud DCs

Thus, efficient VM management is of high importance in cloud DCs and can lead the CSP to satisfy their organization’s objectives. VM placement is proven to be an NP-hard problem and is solved by various heuristic and metaheuristic methods in the literature which the latter case is the focus of this paper. In general, all of these schemes try to put VMs on some PMs to optimize customers and CSP-related objectives. For instance, the VMP may intend to minimize energy consumption, resource wastage, and Service Level Agreement (SLA) violations, while increasing factors such as profit, performance, and QoS of cloud infrastructure. The VMP problem is widely studied in the cloud literature. For example, various articles such as [4] surveyed heuristic algorithms for the VMP problem in the cloud DCs [5, 6]. However, despite the various bio-inspired VMP approaches designed for various cloud environments, there is a lack of a survey article to study different aspects of them.

In this paper, a comprehensive review and taxonomy of the bio-inspired VMP schemes are presented. This paper study the different state of the art the VM assignment approaches which have been presented for the miscellaneous cloud computing environments and DCs. The presented models are classified according to the type of optimization algorithm applied in the VM placement process and their properties, advantages, and limitations are investigated in detail. Also, besides analyzing the objectives of each VMP scheme, we have compared different placement factors which have been utilized to realize each objective. Conducting this research is very important for understanding the current trends in the VMP methods and designing effective VMP for emerging issues of the cloud computing environment. To the best of our studies, this is the first article aimed to study the bio-inspired VMP schemes. Our major contributions in this study can be listed as follows:

  • Providing background knowledge and essential information and factors.

  • A taxonomy of the bio-inspired VMP approaches is provided regarding their applied metaheuristic algorithms and their main contributions, properties, and advantages are described.

  • Comparisons of the bio-inspired VMP schemes, regarding their applied factors in the VMP process, employed simulators, and evaluation factors for each category of the optimization algorithms are provided.

  • Future researches and trends in the VMP context are specified.

The paper is organized as follows: research methodology is presented in the second part. In the third part, the research background of the VMP concepts is addressed respectively. In the fourth section, the bio-inspired VMP schemes are discussed thoroughly. In the fifth-section, discussion and results are shown. In the sixth part of the paper, the conclusion of this research is presented. Abbreviations applied in this paper are presented in Table 1.

Table 1 Abbreviation and description

2 Research methodology

According to this research, we arrange and choose manuscripts based on the following protocols:

  • Some question is considered from our research area.

  • Keywords in our research are found based on these research questions.

  • Target paper is found based on these keywords from validated databases.

  • Final papers are selected according to some inclusion and exclusion criteria.

2.1 Research questions

The research question is presented in Table 2 as follow:

Table 2 Research questions

2.1.1 Paper selection process

We use the following libraries as sources to direct the search process:

We organize the researches in three phases. In each phase, we define search terms for finding systematic mapping and literature studies, regular surveys, and primary studies, respectively.

  • Phase 1. Finding Systematic Studies: We applied “*” to represent zero or more alphanumeric characters for the word “study” for finding its variants like “study” and “studies” and parentheses used if the word “systematic” is not in title but in abstract or keywords.

  • Phase 2. Finding Survey Studies: We first applied search string “Title: VMP AND (Title: survey OR Title: review).” However, since we wanted to exclude “systematic review” from our results, we used the “NOT” operator in the search string.

  • Phase 3. Finding Primary Studies: Since the mostly regarded implementation of VMP is Cloudsim, in order to have a holistic search, our search strings were made from the terms like “VMP” and “VM placement”. Figure 2 shows the number of articles per year. It is observed that the publication of papers in the field of VMP has an increasing trend.

    Fig. 2
    figure 2

    Publication date of the bio-inspired VMP schemes

3 Research background

For optimal VM placement on PMs on the cloud DC, some approaches are proposed. The classification of the VMP schemes is presented in Fig. 3.

Fig. 3
figure 3

Classification of the VMP scheme

The unbalanced use of multidimensional resources can reduce the use of resources, but triggers some abnormalities. The balancing of the use of multi-dimensional resources means that resources in any dimension are used in proportion to the total amount. If the infrastructure provider places VMs regardless of this characteristic, some resources may run out while others are idle. As shown in Fig. 4, different costs such as VMs cost, PM, cost, cooling cost, DC cost, and traffic cost can be considered in the placement decisions. In these cost factors, VMs cost tries to reduce the cloud users’ cost and other factors are aimed to reduce the CSPs costs.

Fig. 4
figure 4

Applied factors in the cost-aware VMP schemes

VMP is mapping VMs to appropriate PMs [7]. Metaheuristic algorithms are able to discover near-optimal solutions to NP-hard problems [8].

An important technology in cloud computing is virtualization. The process of mapping the VMs to the PMs is called the VMP problem and is known to be NP-hard. The extensive use of virtualization technology provides optimal resource management for DCs. Virtualization technology is used to increase resource utilization and reduce operating costs in cloud DC. Resources in cloud computing are demand-driven utilized in forms of VMs to facilitate the execution of complicated tasks. Also, some of the VMP schemes consider various cost parameters in placing VMs and try to produce a placement with the minimum cost.

Furthermore, the VMP schemes consider different virtual resources that are assigned to the VM or virtual DC. Figure 5 exhibits these resources. As shown in this figure, the first and main virtual resource of a VM is virtual CPU which can be considered as single-core and multi-core. Network bandwidth is the second important virtual resource in the disposal of VMs which an optimized placement scheme can save most of it for VMs application by placing interacting VMs near to each other as close as possible. Data in another important resource in which based on its size and security policy of the organization can be moveable, fix, or replicated.

Fig. 5
figure 5

Applied factors in the resource-aware VMP schemes

Considering the importance of the bandwidth in the performance and efficiency of this placement, many schemes consider traffic-related factors, as shown in Fig. 6. For example, traffic between VM and data repositories, traffic between interacting VMs, traffic between PMs are considered in most schemes. Also, in geographically distributed clouds and multi-site clouds, the location of DC can be considered with respect to other factors.

Fig. 6
figure 6

Factors considered in the traffic-aware VMP schemes

Figure 7 indicates the factors which may be considered in the power-aware VMP schemes. Generally, these schemes may consider factors such as power consumption of PMs, number of PM’s, number of switches, number of switches ports and etc. Each DC is designed based on some topology, in Fig. 8, the classification of topology for the DC is shown.

Fig. 7
figure 7

Factors considered in the power-aware VMP schemes

Fig. 8
figure 8

Classification of DCs

Figure 9 classifies the VMP schemes based on the number of sites and clouds in which VMs can be deployed on them. In both single cloud and multi-cloud schemes, the cloud can benefit from one or multiple sites to provide their services.

Fig. 9
figure 9

Classification of VMP based on the number of clouds and types

Figure 10 presents the classification of VMP approaches based on load-aware factors. By using load-aware factors, the VMP schemes try to predict.

Fig. 10
figure 10

Load-aware VMP schemes some of the VMP schemes try to predict

Data-aware VM placement schemes consider the behavior of data in cloud DC. Figure 11 shows the classification of a data-aware factor in cloud DC.

Fig. 11
figure 11

Data-aware VMP schemes some of the VMP schemes try to predict

VMP approaches can be divided into dynamic and static. Static VMP: the main factor in this method is the lifetime of VMs. The VMs are placed on PMs based on their lifetime and them not able to process for a long time. Dynamic VMP: in this method, the initial VM assignment on PMs in the cloud DC can change based on some factors in the system like load or etc. The dynamic VM assignment approaches can classify as reactive and proactive VMP. Reactive VMP: when the system reaches a certain undesired state then the initial placement is changing. The main factors that cause to change the initial placement are the performance, maintenance, power consumption, load balancing and, Service Level Agreement (SLA) violations. Proactive VMP: This changes the VM’s PM of an initial placement before the system reaches a certain condition or satisfies specific criteria. VM assignment approaches can be run in two types of clouds as follow:

  • VM assignment in a single cloud

  • VM assignment in federated clouds

Two types of traffic are considered in cloud DC, one of them is intra-DC traffic and the other is inter-DC traffic in the federated cloud. By optimal placement of VMs on PMs, these factors get improved. Also, the optimal VM assignment makes some other important results like improving load balancing, high performance, increasing accessibility, improving the reliability and availability, minimizing the SLA violation, preventing congestion in DC’s network, reducing cost in cloud DCs, reducing power consumption and, optimal usage of resource utilization.

Figure 12 exhibits various location witch communicating VMs may be located on PMs. As shown in this figure, the power consumption of networking switches and network bandwidth consumption increases when the communicating VMs are placed farther [9].

Fig. 12
figure 12

The location which communicating VMs may be located

4 Bio-inspired VMP schemes

The optimal placement of VMs on PMs in cloud DC is very important. By optimal placement, some factors like power consumption, resource wastage and, the other factors get improved. The optimization algorithms have an important role in the VM assignment. Figure 13 shows the bio-inspired VMP schemes.

Fig. 13
figure 13

Classification of the bio-inspired VMP scheme

4.1 The single-objective optimization algorithms

The VMP is an NP-hard problem, so it is a kind of optimization problem. The optimization algorithm and approaches are a proper solution for handling and solving this kind of problem. Many kinds of these algorithms are introduced. The optimization models can have divided into main categories.

  • The single-objective optimization algorithms.

  • The multi-objective optimization algorithms.

The single objective would be the opposite of multi-objective optimization. In other words, standard optimization with a single objective function. These algorithms focus on one object during their process.

4.1.1 ACO-based VMP schemes

In this section, the proposed schemes about ant colony optimization (ACO) algorithms are considered and their methods for VMP are. Numerous ACO-based VMP schemes such as [10,11,12] are provided in the literature, which this section addresses them.

Shabeera et al. [13] presented an ACO-based VMP solution to select conterminous PMs for locating data and VMs. A set of VMs is located on PMs in a cloud DC and process data stored in them. The PMs must support and give enough resourced the VMs for processing as a host of them. This algorithm selects PMs in close proximity and the jobs executed in the VMs allocated by this scheme outperforms other allocation schemes. The Clouds tool is used to simulate this environment and the result of simulation has shown in three clouds DCs as follows: Uniclouad, Multicloud, and Pre cloud. The gained results are better than other approaches.

The approach in [14], introduces an ACO-based VMP solution using artificial ants based on global search information. Coupled with order exchange and migration local search techniques. This algorithm has received global optimization by assignment of VMs on the minimum number of active PMs. This solution has used in many VMP problems with differing VM sizes in cloud environments of homogenous and heterogeneous. The main aim of this approach reduces power consumption and prevent resource wastage in cloud DC. They use C++ to handle this approach in the cloud DC hand has got more efficiently results than other VMP algorithm.

The work in [15], provided a VMP approach based on an improved ACOGACA-VMP. According to the pheromone analysis that produced by moving ants, defined in ant placement between VM pairs, then the proposed method calculates of pheromone in load balancing theory that is how they can choose the proper selection results. GACA-VMP can solve VMP more efficiently to select the opportune number of PMs, together with remarkable resource utilization.

The better solution will always have a less number, otherwise, a higher resource utilization one upon the same number of the solutions. In this proposed approach, the main goal is reducing the number of active PMs in the cloud DC. They use Cloudsim to run this solution and get the proper results from it when is compared with other algorithms.

Pan et al. [16], proposed an algorithm based on the Max–Min Ant System to solve the VMP problem and get better results from this improved algorithm. This algorithm has improved base on the new specific characteristics to improve its convergence. They embed the method of optimal iteration in MMAS to propose a better solution of the ant initial position selection problem in the next iteration, and in this way, the blindness of task and location selection can be avoided wail. They focus on the pheromone update based on the actual situation of VMPDN to guarantee the tradeoff of the convergence and exploration. OpenStack/Nebula is used to simulate this approach. In this method, some important factors like power consumption and resource wastage are reduced and minimized.

In [17], Seddigh et al. present VMDPS-ACO, by combining ACO and VM_DFS which is a VM dynamic prediction scheduling via ACO. It solves the VM scheduling problem and reduces resource wastage. According to an analysis of memory consumption in each PM, the rate of memory utilization by VMs on the PMs and proper allocation of VMs on the cloud computing is predicted. VM_DFS algorithm exploits the FFD scheme using corresponding types to schedule VMs and allocate them to proper PMs. In this approach, they use from Cloudsim tool to simulate and get a better result than other methods introduced. In this method, the performance of UACS on real workload is used to test the performances of this improved algorithm.

In [18], Hassan et al. present a VMP Algorithm based on the Recruitment process within Ant Colonies proposed that searches increase PM resource exploitation along with maximizing resources balance. By this new method, the VMP problem done as optimal and based on it, the power consumption and resource wastage are reduced and get balanced in the cloud DC. To reach these results, they are simulated the proposed solution by Cloudsim tools.

In the references [19], the author proposed a VMP method based on ACO to determine the PMs suitable for migrating VMs. The power consumption is reduced from idle resource waste of PMs. Based on the utilization factors of the VM, new models are proposed for idle resources and energy consumption. Multi-Objective optimization is one of the most important methods for VMP problems in the cloud center. Optimal placement of VMs scheme is determined based on feature metrics, multi-objective optimization, and the ACO. They use form OpenStack/Nebula tools to simulate this method and the reached result has compared with other approaches like meta-generalized gradient approximation.

In [20], Tawfeek et al. present a new method based on multi-objective optimization for optimizing total processing resource wastage and total memory resource wastage in the VMP problem. To simulate this model, java programming has used. The presented method has been compared with well-known.

Malekloo et al. [21] provided an ACO-based multi-objective VMP to minimize power consumption, resource wastage, and energy communication cost between network elements within a DC. The proposed approach is tested using Cloudsim tools. By using a new algorithm, on average, 39.19% of energy is conserved when compared with the FFD algorithm. However, FFD needs less execution time to compute the placement of VMs among other algorithms. The execution time of ACO and GA should be optimized to be more applicable to large-scale cloud computing environments. By using consolidation algorithms and a VM migration plan, they can increase the resource usages of PMs and can transit idle PMs into a low power state mode.

In the work [22], provided ACO-VMP, a new method based on ant colony optimization to manage the VMP problem, to reduce the PM’s number. At first, the number of PMs is the same as the number of VMs. Then the ACO tries to reduce the PM. They evaluate the performance of this ACO-VMP approach in solving VMP with the number of VMs being up to 600. In proposed algorithm is used from java programming to simulate the VMP problem in the cloud DC. The main goal of this algorithm is reducing the number of running PMs in the cloud DC.

Gao et al. [23] introduced a new approach based on a multi-objective ACO algorithm for optimal placement in the VMP problem, that aimed to obtain a set of non-dominated solutions to minimize total resource wastage and power consumption. The Cloudsim simulation tools are used in this approach and the gained results show that the proposed algorithm is more efficient and effective than the methods we compared it to.

In [24], Gao et al. focus on the traffic demands between VMs and formulate the VMP problem under both PM-constraints and Net-constraints to minimize reduce the energy cost. They proposed an ACO based approach to solve the problem and design the heuristic information associated with the network resource factor for the first time so that the ants can find the path satisfying the traffic demands. They use java programming to simulate this model in the cloud DC. The aim goal of the proposed algorithm is to reduce the running PMs in cloud DC and minimize power consumption.

Alharbi et al. [25] provided a VMP algorithm to mitigate the total energy consumption of a DC. They design the VMP as an optimization problem and have used ant colony optimization to solve it. The main aim of this approach is minimizing the energy consumption on PMs. In this method, they use C++ programming for simulating and the gained results are presented that this algorithm is worked properly than other compared VMP algorithms.

In [26], the author presented MACOLB, a multi-objective ACO based on load balance for the VMP problem. It is able to obtain a set of non-dominated solutions to mitigate total resource wastage and power consumption. In this scheme, the pheromone adjustment factor (PAF) is given based on a load of PM and the pheromone update rule is transformed based on the load condition of the PM, the PAF is proposed to improve the pheromone update rule and realize load balance. The simulation of this approach is done by the Cloudsim tools.

In the scheme [27], presented a new model, using an energy-aware method for solving the VMP problem based on CPS with network operations center architecture. In this model, they have made formulation the energy-aware on-chip VMP problem as an optimization problem and proposed a heuristic approach based on the ACO. They focus problems of slow convergence speed and easily falling into stagnation in ACO by employing a pheromone diffusion model that makes this scheme more efficient. The main aim of this model is to minimize the energy consumption generated by traffic communications among different VM. The results of this method are compared with GA results. They use from Amazon EC2 to simulation.

The author et al. [28] presents a novel method for reaching the optimal condition for VM placement problem in cloud DC. The proposed algorithm is based on a modified knowledge based ant colony algorithm. A new framework is introduced in the proposed algorithm. The main aim of the proposed algorithm is minimizing the CPU and memory utilization of PMs. The results are compared with another algorithm. The Matlab environment is used for the simulation of the proposed algorithm. In Table 3, the properties of ACO-based schemes are presented.

Table 3 Properties of the ACO-based VMP schemes

4.1.2 Crew search-based VMP schemes

In this section, some novel approaches are proposed for optimal VMP based on the crew search algorithm. The multi-objective strategy has used in these models to gain an optimal result.

In the approach [29], provided an optimal method to assign the VMs on PMs in cloud DCs. The VMP is the optimization problem and this approach is covered. In this model, they present a two-tier VMP algorithm. Firstly, we present a queuing infrastructure to handle and schedule a large group of VMs. Secondly, a multi-objective VMP algorithm called crow search based VMP is proposed to reduce the resources wastage and power consumption at the DCs. VM migration is an indispensable part of any cloud platform for activities like maintenance, load balancing, fault tolerance, etc. Three different migration strategies namely serial, parallel, improved serial have been tested and a comparative result has been produced. The Cloudsim toolkit is used in the proposed approach for simulation.

In [30], Satpathy et al. present a new resource-aware approach based on a meta-heuristic crow search algorithm. This approach makes an optimal consolidation of a large number of VMs on minimal DCs to reach the SLA and desired QoS with maximum DC utilization. They propose a greedy crow search, traveling salesman problem-based hybrid crow search, to meet this parameter. Java programming is used for simulation of the presented method. In this model, they used an improved to solve the optimization. The optimization problem was solved by parameters and operators of the improved crow search.

In the references [31], introduced an APA-VMP, an Adaptive Power-Aware VM Provisioned to schedule the load in such a way that the total incremental power drawn by the PM pool is minimum without compromising the performance parameters. This approach considers the processor transitions to various sleep states and their corresponding wake up latencies that are inherent in contemporary enterprise PMs. The factors of this meta-scheduler are to map a set of VM instances onto a set of PMs from a highly dynamic resource pool by fulfilling the resource requirements of a maximum number of loads. For the simulation of the presented algorithm, the Cloudsim toolkit is used. The achieved results from the proposed scheme are better than other results of other approaches in the VMP problem.

4.1.3 Cuckoo search-based VMP schemes

In this section, the proposed methods based on cuckoo search algorithms (CSO) to optimize the VMP are presented.

In the scheme [32], proposed a new approach based on the cuckoo search optimization algorithm to handle the VMP problem and has minimized the number of PMs in cloud DCs. The power consumption and resource wastage of the datacenter are main objects that have optimized by a multi-objective CSO algorithm.

When a group of VM requests is received by the DC, the CSO algorithm can be used to resolve the placement problem to discover a proper location for both the incoming and existing VMs. Cloud tools are used to run the proposed model. By considering this approach, it is presented that the proposed schemes work properly than other compared methods.

4.1.4 EA-based VMP schemes

In this chapter, an evolutionary algorithm (EA) is introduced to solving the VMP in virtualized DCs.

Liu et al. [33], presented a multi-objective VMP approach to reduce the number of PMs, reduce communication traffic and balance multi-dimensional resource use within DC. The new approach has improved and designed to solve this problem. This algorithm has sorted and made grouping genetic operators approach pareto-optimal front. Heterogeneous PMs are the main process factor in the proposed approach and the improved algorithm focus on them. This algorithm considers three components from each PM as follows: CPU cycles, storage space, and bandwidth. Cloudsim tools are used for simulation in a presented approach.

In [34], Xiao et al. present a new approach based on game theory algorithm for dynamic and optimal placement of VM on PM to reduce energy consumption. First, a new method of energy consumption is built for computing the amount of energy consumed during the complicated process of dynamic adjustment of VMs placement. The new method consists of three parts of energy consumption, some taken into account for the first time while building an energy model for VMs dynamic placement. Via making use of the initial state of VMs distribution, by the proposed algorithm based on the evolutionary game theory, it guarantees that there is an executable list of VM live migrations from the initial solution to the target solution. For the simulation of the proposed algorithm, Cloudsim tools are used. In the proposed algorithm, the results are better than other compared algorithms.

The author in [35], provided an EOVMPs, an evolutionary optimal VMP approach with a demand forecaster. First, a demand forecaster information the computing demand and EOVMP uses this predicted demand to allocate the VMs using a reservation and on-demand plans. The near EOVMP algorithm can provide the solution close to the optimal solution of stochastic integer programming and the prediction of the demand forecaster is of reasonable accuracy. The Amazon EC2 instance is used to simulate the proposed algorithm.

4.1.5 Firefly-based VMP schemes

There are some VMP algorithms for optimal placement in cloud DCs based on the firefly optimization algorithm. In this chapter, some of them are considered.

Li et al. [36], introduce a new optimization approach for VMP problems based on a discrete firefly algorithm to optimize and reduce energy consumption and resource wastage. It applies firefly’s location as the placement result, brightness as the objective value. In solution space, the movement strategy makes darker fireflies move to brighter fireflies. The continuous position after movement is discretized by this discrete strategy. Speed up the search for a solution, the local search mechanism for the optimal solution is introduced. They use Amazon EC2 to simulation this approach. Power consumption and optimize resource utilization are the main goals in the proposed approach.

In [37], Su et al. provide PAFA, a meta-scheduler that makes use of a multi-objective discrete firefly algorithm to obtain non-dominated solutions to detect and track the changing optimal target PMs for the VM provisioning. It considers resource dynamics and the power consumption of the PMs with different loads or in different sleep states, unconsidered to existing methods, that the total resource wastage and total incremental power drawn by the PM pool are minima without compromising the performance objectives.

This approach considers resource dynamics and the power consumption of busy PMs with different loads and idle PMs in different sleep states to make provisioning decisions.

For the simulation of the proposed algorithm, Matlab programming is used. The main aim of this model is minimizing the CPU, memory, storage and memory utilization. They use from the sporadic dataset for simulation.

In the work [38], provided an efficient VMP scheme to focus the side-channel attack issue on the IaaS platform. They define hit rate and loss rate indices as the assessment standard to measure the system security and assign VMs of malicious users and target tenants onto different PMs to most extent from the view of the physical isolation. In this model, they analyze some factors like the efficiency indices of the cloud computing system and establish the energy consumption ion and resource loss model. They use a multi-object discrete firefly optimization algorithm to solve the VMP problem and has considered the system security and efficiency as the main factor in this model. OpenStack/Nebula tools are used to simulate the proposed algorithm. In Table 4, the properties of Crew Search-based, Cuckoo search-based, EA-based and, Firefly -based VMP schemes are shown.

Table 4 Properties of the. Crew Search-based, Cuckoo search-based, EA-based and, Firefly -based VMP schemes

4.1.6 GA-based VMP schemes

Some important approaches are presented based on a genetic algorithm (GA) for handling the VMP problem in cloud DCs. In this section, we introduce some of these models.

In [39], Sonklin et al. present DCGA, a Decrease-and-Conquer GA to reduce the computation time and the number of VM migrations in the PM consolidation. The DCGA adopts a decrease-and-conquer method to reduce the problem size and the number of VM migrations without compromising the quality of solutions. They used Cloudsim tools for simulation of this approach. This model has more effective results than other approaches.

In the scheme [40], focused on the VM placement across distributed geographically DCs to meet the QoS requirements while decreasing the bandwidth cost of the DCS. This problem is an NP-hard problem and they have used from optimization algorithm to solve it. They formalize the problem and propose an algorithm based on a biased random-key GA (BRKGA) to find near-optimal solutions for the problem. This approach is found the proper solutions quickly and the gained results are better than a baseline approach provided by a commercial solver and a multi-start algorithm. The simulation of this approach is done by the Cloudsim tools. The main aim of the proposed algorithm is reducing the power consumption and resource wastage in cloud DC.

Tang et al. [41], provide HGA, a proposed algorithm for VMP that based on GA, consider and minimize the energy consumption on PMs and the communication network in cloud DCs. To improve the performance and efficiency of the GA, it applies a hybrid GA for the energy-efficient VMP problem. The HGA embeds a repairing procedure that can convert an infeasible solution into a feasible one by gradually resolving those constraint violations in the infeasible solution and a local optimization procedure that can quickly improve the quality of solutions. HGA outperforms the original GA based on performance and efficiency. They used Cloudsim tools for simulation of this model.

The author in [42], introduced a new optimization approach based on a penalty-based GA. The main aim of this approach is to minimize energy consumption by reducing the migration in the VMP problem. They indicated that when the priority is given to reducing the total energy consumption their GA can do better than the first fit decreasing (FFD) algorithm, which focuses on decreasing the total energy consumption, and when the priority is given to reducing the inter-VM traffic flow their GA is able to find better solutions than the App-aware, which concentrates on decreasing the inter-VM traffic flow. They used Amazon EC2 to simulation this approach. Power consumption and optimize resource utilization are the main goals in the proposed approach.

In [43], Kaaouache et al. provided a hybrid GA using bidirectional forwarding detection (BFD) to handle infeasible solutions due to the bin-used representation. They consider the one-dimensional bin packing problem. This chromosome is proper for the genetic operators in the application and to reduce the execution time. This scheme is optimized for the BPP, they can deduce that they can mitigate the energy emitted by the DC in Cloud. This optimization is done through VMP which leads to the use of a minimum number of PMs and the other PMs can be either hibernated or shut down. For the simulation of the proposed algorithm, the Cloudsim tools are used.

In work [44], we applied a grouping GA to solve the VMP problem, to gain a set of non-dominated results to mitigate power consumption. A modified GA is exploited to effectively deal with the potential large solution space for large-scale DCs. They use from java programming to simulate this proposed algorithm. Power consumption and resource wastage are the main aims of this proposed algorithm that they reached.

In [45], Kessaci et al. tried to deal with cloud brokering for the assignment of VM requests in three-tier cloud infrastructures. They proposed a multi-objective GA that can be integrated into a cloud broker to decrease the instances’ response time, and their cost to satisfy the clients and to provide an interesting profit to the broker. Java programming is the environment that the proposed approach is simulated. The approach is experimented using realistic data of different types of Amazon EC2 instances and their pricing data.

In the Ref. [46], presented DPGA, a VMP solution for cloud platform which should use a distributed parallel GA strategy for, executed distributed on several selected PMs in the first stage. Then the second stage of GA continues it’s executed with results that gained from the first stage as the initial population. The solution calculated by the GA of the second stage is the optimal one of this approach. For the simulation of the presented model, java programming has used. The main goals in the proposed algorithm that minimizing the power consumption and maximize the performance in the cloud DC that results show this.

Wu et al. [47], present GA for the VMP problem that considers the energy consumption in both PMs and the communication network in cloud DCs. The Cloudsim tools are used in the proposed approach. Reducing the active PMs and optimizing power consumption are important factors in the proposed algorithm.

The author in [48], presented an optimized scheduling algorithm to place the VMs to improve the speed of finding the best allocation on the premise of permitting the maximum utilization of resources. They focused on the scheduling problem that comes down to an Unbalance Assignment Problem. The achievement of the proposed scheduling policy algorithm is based on the Parallel GA which is much faster than traditional GA. This approach improves and minimizes both the speed of resource allocation and the utilization of system resources in cloud DCs. OpenStack/Nebula is used to simulate this approach.

In the approach [49], proposed a new algorithm based on the non-dominated sorting GA for VMP in Cloud Environment. To increase the availability of the resources and simultaneously to reduce the energy consumption of DCs by providing a good level of the service are one of the major challenges in the cloud environment. So minimizing the energy consumption in cloud DCs is the main goal of this approach. They present the model as a multi-object problem and the objectives are the optimization of the energy consumption, reduction of the level of SLA violation and the minimization of the migration count. By using Cloudsim tools, the proposed algorithm has been simulated.

In [50], Mosa et al. develop energy-optimized, SLA-aware VMP to increase CSP profit this scheme adopts utility functions to formulate the VMP problem GA searches the possible VMs to PMs assignments with a view to discovering an assignment that maximizes utility. They use Cloudsim to reduce the average energy consumption and the overall SLA violations using fewer VM migrations and PMs Shutdowns. This solution minimizes Slavs in both lightly loaded and more heavily loaded cloud DCs.

In the manuscript [51], a new VMP algorithm is provided to manage resource usage and minimize communication traffic. In this model, the multi-objective problem is simplified by employing average valued inequality and positional constraints. In this model, an improved GA with all its operators and elitism strategy are used to handle the issue. By using these operators and elitism strategy, the improved GA tries to find the best placement. For the simulation of the presented algorithm, C ++ programming is used. An efficient algorithm called an improved genetic algorithm (IGA) that have unique crossover operator and mutation operator are designed in view of this situation.

Yang et al. [52], introduced VPTCA, an energy-efficient, GA-based VMP which considers communication traffic configuration. The focus of the proposed model on three more important objects that have more effect on cloud DCs. The main objects in this model are as follows: to increase utilization and minimize computing cost, traffic configuration to avoid congestion, reduce transmitting delay, load balancing to increase DC utilization, and reducing energy consumption. In the proposed method, java programming is used. In Table 5, the properties of GA-based schemes are presented.

Table 5 Properties of the GA-based VMP schemes

4.1.7 GWO-based VMP schemes

In this section, some optimization models based on a grey wolf optimizer (GWO) are introduced. This model is used to handle the placement of VMs in cloud DCs.

In [53], Moalmi et al. present a new method for optimal placement of VM in cloud DCs based on improved grey wolf optimizer. The placement of VM problem formulation as a minimizing problem in which the main objective is to optimize and reduces the active PMs. The other important aims of this approach are good management of power consumption and resource wastage in cloud DCs. This approach has solved the problem as a discrete problem and the results that gained are more effective than other approaches. In the proposed algorithm, Cloudsim tools are used for simulation.

4.1.8 ICA -based VMP schemes

In this part, some optimization models based on imperialist competitive algorithm (ICA) are introduced. These models are used to handle the placement of VMs in cloud DCs.

Asemi et al. [54], presented a new method for solving the VMP problem. The structure of this approach is based on the imperialist competitive algorithm. By using this algorithm, the optimal assignment of VMs on PMs is possible. The Cloudsim tools are used for the simulation of this method. This approach reduces energy consumption in PMs and SLA violations.

4.1.9 Memetic-based VMP schemes

The memetic optimization algorithm is a novel optimization method that is used for solving the VMP problem. In this section, some approaches are presented.

In the work [55], provided a multi-resource constraints VMP scheme. In this approach, they try to minimize and reduce the total communication traffic in the cloud DCs network, by optimizing network maximum link utilization (MLU). On the condition of a slight variation of the total traffic, reducing the MLU has balanced network traffic distribution and reduce network congestion hotspots, a classic combinatorial optimization problem, and an NP-hard problem. They used from Cloudsim toolkit for the simulation of the presented model for the VMP problem in the cloud DC. This model has more effective results than other approaches.

4.1.10 PSO-based VMP schemes

Some approaches in this section are introduced based on the Particle Swarm Optimization (PSO) algorithm to optimize the VMP in cloud DCs.

In [56], Abdessamia et al. provided a new approach based on an improved PSO for the heterogeneous cloud DCs to solve the VMP problem. Optimal solution has found by improved PSO for low energy consumption comparing to first-fit, best-fit, and worst-fit. For getting the proper results from the proposed scheme, the Cloudsim tools are used for simulation.

Wang et al. [57], introduced an energy-aware VMP optimization scheme for heterogeneous cloud DCs to minimize the total energy consumption and satisfy the resource requirements of the cloud services. Their approach performs the multi-dimension resource constraints and eliminates the assumption of PM homogeneity in increasingly large virtualized DCs. C++ programming is used for simulation of the presented method. In this model, they used an improved to solve the optimization. The optimization problem was solved by parameters and operators of the improved PSO.

In the approach [58], proposed a new model based on a hieratical architecture to satisfy both CSPs and users’ requirements. The problem has occurred when there is an incompatibility between the properties of PM and user requests. For the simulation of this approach, they use from Cloudsim tools. This problem has affected many factors in cloud DCs like energy-performance trade-off and large power consumption and profits are decreased. To reach optimal QoS of users’ tasks and reduce energy efficiency, they presented a modified PSO to reallocate migrated VMs in the overloaded PMs. They consolidate the under-loaded PM which provides power saving.

For improving the energy consumption and QoS of user’s tasks in all kinds of load in cloud DCs, they propose a new architecture to provide a workflow scheduler service and load allocation.

To achieve these goals, resource allocation should be improved in the IaaS level that usually is categorized into six steps, find overload PMs, select VM in overload PM for migration, placement of this VM, find under load PMs, placement of this VM and power off under load PMs.

In [59], Ramezani et al. introduce a new model based on multi-objective optimization for VM migration, reduce power consumption, VM transfer time, and maximize resource utilization. The fuzzy PSO improves the efficiency of conventional PSO is used to solve the problem. The objectives consist of making efficient usage of multidimensional resources, minimizing energy consumption, and reducing network traffic. This scheme uses a fuzzy PSO algorithm including a fuzzy logic system for tuning inertia weight, and the conventional PSO to solve the mapping problem. Cloudsim tools are used for simulation in the proposed method.

Fu et al. [60], proposed the binary PSO algorithm to design an optimal VMP method to reduce and minimize the energy consumption measured by proposed energy efficiency fitness, and this strategy needs multiple iterations and updates for VMP. The performance of the proposed algorithm in reducing energy consumption is better than the other four approaches. In this proposed scheme, for solving the VMP problem they simulate from the Amazon EC2 instance.

The author in [61], introduced a VMP model in a tree-like DC to optimize energy consumption during the provision of data-intensive services with a global QoS guarantee. The authors propose the modified PSO method to develop an optimal VMP algorithm involving a tradeoff between energy consumption and global QoS guarantee for data-intensive services. They modified PSO by redefining its parameters and operators and adopted a local fitness-first strategy to update particle position. Amazon EC2 instance is used for simulation in the proposed method.

Braiki et al. [62], presented a VMP placement approach based on the PSO algorithm. In the proposed algorithm the optimal condition is made for VM placement in a cloud DC. The main goal of the presented scheme is minimizing power consumption and reducing resource wastage. The results that gained from the presented algorithm is shown that better than other compared approaches. Amazon EC2 instance is used for simulation in the proposed method.

In this work [63], a new scheme is presented based on the PSO algorithm to solving the VMP problem in a cloud DC. By optimal VM placement, resource utilization is reduced and minimized at the cloud DC. CPU and memory utilization is the main aim of the proposed algorithm. In the presented approach to reach the proper results, discrete technology is used. In the proposed scheme, by minimizing the number of active PMs in the VMP problem, reducing the CPU and memory utilization is possible. The reached results are more effective from the other results that have gained from other approaches. Openstack is a simulation environment that has used in the proposed approach.

4.1.11 SA-based VMP schemes

In this subsection, simulated annealing (SA) based VMP algorithms are introduced and considered. For example, in [64], Addya et al. provide MVMP, a new scheme for optimal VMP with minimizing the power consumption to increase the profit in cloud DCs. It tries to increase the revenue and mitigate the power budget and formulate a bi-objective optimization problem using the SA technique. The main goal of this approach is to increase the number of located VMs, while the other is to minimize energy consumption.

In the proposed algorithm, Cloudsim tools are used for simulation. The scalability of MVMP is verified using two scenarios with a fixed number of VMs and, a fixed number of PMs.

Wu et al. [65], provided a SAVMP, to solve static VMP problems the ordering algorithm and constraint programming. similar to the limitation of FFD, SAVMP might not be applied in a simple way periodically to do the reshuffling of the VMs due to reasons like the migration cost when being used in the dynamic VM consolidation. For running the proposed algorithm, Cloudsim tools are used. The results are more efficient in the VMP problem than another algorithm has solved the VMP problem.

4.1.12 WOA-based VMP schemes

The whale optimization (WOA) algorithm is a novel optimization method that is used for solving the VMP problem. In this subsection, some VMP approaches are presented.

In the approach [66], we proposed a new VMP model for cloud DCs based on the whale optimization algorithm. The main aim of this approach is the optimal and intelligent using of resources in cloud DCs. For reaching this goal, they are tried to optimize and make minimized the number of active machines in DCs. In this approach, they focus on handling the VMP problem with respect to the available bandwidth which is formulated as a variable-sized bin packing problem. The improved whale optimization algorithm called improved Lévy based whale optimization algorithm is used to optimize the bandwidth in the cloud DC. To gain proper results and compare them with others, the Cloudsim toolkit is used in this approach. The reached results present that this approach considers VMP problems optimally than other algorithms. In Table 6, the properties of GWO-based, ICA–based, Memetic-based, PSO-based, SA-based and, WOA-based VMP schemes are presented.

Table 6 Properties of the GWO, ICA, Memetic, PSO, SA, and WOA-based VMP schemes

4.2 The multi-objective optimization algorithms

A multi-objective optimization problem involves a number of objective functions that are to be either minimized or maximized. As in the single-objective optimization algorithms, the multi-objective optimization algorithms usually have a number of constraints that any feasible solution must satisfy. Pareto efficiency, or Pareto optimality, is a state of allocation of resources in which it is impossible to make anyone individual better off without making at least one individual worse off.

The term is named after Vilfredo Pareto (1848–1923), an Italian engineer and economist who used the concept in his studies of economic efficiency and income distribution. The concept has applications in academic fields such as economics, engineering, and the life sciences. Pareto optimization means finding solutions to a multifocal problem. It is left for the user to choose the solution that is best for him/her from the set of best solutions in the Pareto front.

4.2.1 BBO-based VMP schemes

Biogeography-based optimization (BBO) is used to optimize multidimensional real-valued functions, but it does not use the gradient of the function, and it does not require the function to be differentiable as required by classic optimization methods like gradient descent and quasi-newton methods. In this section, some approaches based on BBO algorithms are argued.

In [67], zheng et al. provide VMPMBBO, a model to the VMP problem which utilizes BBO to reduce both the resource wastage and the power consumption. The Cloudsim toolkit is used to test the proposed algorithm. The different objects are evaluated by this approach and their results have compared with two existing multi-objective VMcP solutions, MGGA and VMPACS. VMPMBBO has better convergence characteristics and it is more efficient than MGGA and VMPACS.

In the references [68], presented Order@Cloud, a flexible VMP framework that organizes the VMs by replacement of them based on the parameters like Rules, Qualifiers, and Costs. It can be easily added, extended and prioritized. Based on Evolutionary and optimization algorithms, Order@Cloud is providing a better set of Placements. It seeks the non-dominated solutions based on the implementation cost of the scenario and its benefits. By optimal placement of VMs on PMs in cloud DCs, the power consumption and resource wastage are reducing and they are being main aim in the proposed algorithm and for reach to this aim, they use from Cloudsim toolkit.

The author in [69], focused on the VM placement in geographically distributed DCs. For optimal placement of VMs on PMs in the cloud DC, used and considered location and system performance constraints. They use ILP formulations to mitigate traffic generated by networking VMs and circulating on the backbone network. Java programming is used to simulate the proposed algorithm. The energy consumption is the main aim of the presented scheme.

Ali et al. [70], provided a BBO Algorithm for energy-efficient VMP. In this model, they used from the BBO algorithm based on a simple migration model for solving the VMP problem. Matlab programming environment is used for simulation of the presented method. In this model, they used an improved to solve the optimization. The optimization problem was solved by parameters and operators of the improved BBO.

In [71], Zheng et al. provide VMPMBBO, to handle the VMP problem as a complex system and uses the BBO algorithm to optimize the VMP and reduces energy consumption, resource wastage, PM unevenness, inter-VM traffic, and storage traffic and migration time. It has better convergence and is computationally efficient. The VMP optimization problem has been formalized as follows: Consider that there are n VMs which are to be located on m PMs, the VM images are to be stored in s storage elements, and none of the VMs need more resources than a single PM or a storage node can offer. The resource allocation requests for VMs and the resource capacity of a PM are both represented by a multi-dimensional vector. Each dimension shows the amount of a specific type of resource requested by a VMs or owned by a PM or owned by a storage node. The aim is to mitigate power consumption, resource waste, PM load unevenness, inter- VMs network traffic, storage traffic, and VMs migration cost. For the simulation of the presented approach, they use from C++ programming environment and test the proposed algorithm.

Pahlevan et al. [72], presented a new model for the VMP problem based on a two-phase multi-objective algorithm, clustering, and allocation algorithm, with a dynamic migration technique, for geo-distributed DCs coupled with renewable and battery energy sources. It exploits the holistic knowledge of VMs characteristics, CPU-load and data correlations, to tackle the challenges of operational cost optimization and energy performance trade-off. Cloudsim toolkit is used to test the performance of the presented approach. This method provides cost savings, reduce energy consumption, and improves performance.

Teyeb et al. [73], focused on the stochastic network-aware VM problem in geo-distributed DCs to handle the uncertainty of the inter-VMs traffic in VMP and migration decisions and present a stochastic program to decrease inter-DCs traffic. They present a two-step approach to solve the problem and propose an equivalent optimization model using sampling methods. They proposed a SIP formulation to solve the network-aware VMP problem in geo-distributed DCs. Their objective is to reduce the overall traffic circulating in the backbone network to prevent congestion problems. For the simulation of the proposed algorithm, java programming environment is used. In the proposed algorithm, the results are better than other compared algorithms.

4.2.2 GWO-based VMP schemes

In this section, some optimization models based on a grey wolf optimizer are introduced. These models are used to handle the placement of VMs in cloud DCs.

In [74], Fatima et al. introduce a new approach based on a grey wolf optimizer for handling the VM problem in cloud DCs. In cloud DCs, millions of VMs are used to minimize the utilization rate of PMs. So, an intelligent mechanism is required to efficiently balance the network. Some methods are used to handle the aforementioned issues optimally. VMs placement is a great challenge for cloud service providers to fulfill user requirements. For the simulation of the proposed scheme and test the aims of the VMP problem in cloud DC, they use from Cloudsim toolkit. The proposed approach is used to form a multi-objective strategy for solving the VMP. The results that have reached from this algorithm are better than other approaches. They solved the VMP as a complex optimization problem and got a good solution.

4.2.3 Krill Herd-based VMP schemes

Some methods in this section are introduced based on a multi-objective krill herd technique to optimize the VMP in cloud DCs.

Baalamurugan et al. [75], designed a proper method for solving the VMP problem. The growth in the cloud environment opens the door for vast research. The placement of VMs in the cloud environment is the main problem. The ideal and optimal placement strategy in cloud DCs leads to reduce and minimize the power consumption and resource wastage. This approach is proposed based on a multi-object krill herd technique for handling the VMP problem. The objective is to effectively acquire an arrangement of non-dominated solutions that the entire limit adds up to asset wastage and power utilization. They use form Cloudsim tools to simulate the proposed. The results of the proposed algorithm are compared with tow algorithms, First Fit Decreasing algorithm, and Simplified Ant Colony algorithm. The experimental results show that the proposed method is more efficient when compared to other existing methods.

In Ref. [76] proposed a novel scheme based on Krill herd optimization algorithm to solving the VMP problem in a cloud DC. By using a new VM allocation method, the performance of the VM placement in a cloud DC is getting higher. The main aim of this approach is reducing the SLA, power consumption and, resource wastage. For the simulation of the presented approach, they use from Amazon EC2 environment and test the proposed algorithm.

4.2.4 Memetic-based VMP schemes

The mimetic optimization algorithm is a novel optimization method that is used for solving the VMP problem. In this section, some approaches are presented.

Ihara et al. [77], presented a Many-Objective approach to handle the VMP problem. For reaching this, it has optimized the power consumption; inter-VMs network traffic, economical revenue, number of VM migrations and network overhead for VM migrations. They propose a memetic Algorithm. In this approach, five selection strategies are evaluated to automatically select one solution at each time because of the large number of feasible solutions at any time is exist. Five selection strategies are evaluated to automate the process of choosing a solution at each instant. For reaching the results, java programming has been used and the proposed algorithm has a better result than other schemes compared. The energy consumption and resource utilization are goals of the proposed scheme that must be minimized.

In [78], Pires et al. introduce a new multi-objective algorithm based on a memetic algorithm to solve the VMP by considering SLA in cloud DCs. A simple SLA giving a level of criticality indicates which VM should be necessarily located for execution to ensure the correct operation of mission-critical applications. By using the Cloudsim toolkit, they present that the proposed approach sometimes makes the best results that other algorithms.

The author in [79], formulated two variants of MaVMP problems and different approaches are designed to effectively focus on existing research challenges associated with the resolution of Many-Objective Optimization Problems. For testing of the proposed scheme, they use from C++ programming environment and test the proposed algorithm.

Pires et al. [80], proposed a new formulation for the energy cost as a function of the energy consumed by PMs Plus overhead energy, computed through power usage effectiveness (PUE) metric as a function of IT load and outside temperature. They provide a multi-objective memetic algorithm for solving this problem. They focus on that DC sites have access to renewable energy sources. This helps to reduce their reliance on “brown” electricity delivered by off-site providers, typically drawn from polluting sources. In this model, the authors introduce multiple VMP algorithms to measure their performance and identify the parameters with the greatest impact on the total renewable and brown energy consumption, carbon footprint and cost. ERA-DP that considers dynamic PUE, availability of renewables, and changes in energy consumption has the highest effect in reducing the total cost of energy and carbon and reducing brown energy usage. For handling the VMP problem by the presented model, the Cloudsim toolkit has been used.

In [81], López-Pires et al. present a two-phase scheme for optimizing the VMP problem. This scheme has used from service elasticity and overbooking of PMs to optimizing. They formulate the VMP problem to optimize power consumption, the return of investment, resource utilization, and reconfiguration time. This model has some methods like make a decision when to trigger a placement reconfiguration through migration of VMs between PMs and what to do with VMs requested during the placement recalculation time. The solutions that have earned form this scheme has presented that the results have improved. For the simulation of the proposed scheme and test the aims of the VMP problem in cloud DC, they use from Cloudsim toolkit.

The work in [82] Provided a new method for VM assignment. This novel scheme makes an optimal condition for solving the VMP problem. The multi-objective memetic algorithm is used in the proposed algorithm. The proposed scheme is used in the multi-cloud environment. The main aim of the presented method is minimizing the energy consumption in the cloud DC. For a simulation of the presented approach, MATLAB programming is used. In Table 7, the properties of BBO-based, GWO-based, Krill Herd-based and, memetic-based VMP schemes are shown.

Table 7 Properties of the BBO-based, GWO-based, Krill Herd-based and, Memetic-based VMP schemes

4.2.5 MOEA-based VMP schemes

In this part, the proposed model based on the Multi-Objective Evolutionary Algorithm (MOEA) method to optimize the VMP is presented.

Dörterler et al. [83], tackled the VMP problem by optimizing CPU utilization while decreasing energy consumption. Four multi-objective evolutionary algorithms are selected and compared their performance on Cloudsim and Planet Lab dataset. None Dominated Sorting Genetic Algorithm II (NSGA-II) has better scores in energy consumption, SLA and SLA violation. eMOEA has the best score in the standard deviation of CPU utilization. NSGAII gives the better result in an arithmetic mean of CPU utilization.

The important aim of this method is reducing the power consumption in the cloud DC and the Cloudsim toolkit has been used to test the proposed scheme.

In the work [84], introduced a new model based on a multi-objective formulation of a broker-oriented VMP problem to optimize Infrastructure CPU, Memory and Price for load balancing across CSPs. To handle the formulated multi-objective approach, an MOEA is presented. When the changes happen in the demands, a group of non-dominated results is discovered, selection strategies are considered to select a solution at each reconfiguration. In Pareto based approaches, the Pareto set can consist of a large number of non-dominated results but the only one can be used for the reconfiguration of the infrastructure. In this proposed scheme, for solving the VMP problem they simulate from the Amazon EC2 instance.

4.2.6 NSGA-II-based VMP schemes

In [85], Adamuthe et al. formulate the VMP problem to increase load balancing, profit and reducing the recourse wastage. Results of GAs, Non-dominated Sorting GA and NSGA-II are compared with common solution representation, penalty and benefit values. All three approaches reported good solutions whereas GA and NSGA are subjected to premature convergence and duplicate solutions. For prove of effects of this proposed scheme in the VMP problem, they use from Cloudsim tool to test the performance of it.

Each VM needs some virtual resources. So VM can be abstracted as a node with a lot of attributes, therefore a node with attributes CPU, memory and bandwidth similarly the physical resource can be described using p(c, m, and b). In cloud DCs the number of PMs is known. Each PM has some available resources with different capacities like CPU, memory and network bandwidth. Total numbers of VMs to be located on PMs are known. The requirements of these VMs are given with respect to dimensions like CPU, memory and network bandwidth. Figure 14 depicts the resource wastage in the considered VMP factors. The main goal of the investigation is to discover a mapping between VMs and PMs that satisfies the VMs resource requirements while fulfilling the following objectives.

Fig. 14
figure 14

Resource wastage

  1. 1.

    Maximizing profit.

  2. 2.

    Maximizing load balancing.

Jiang et al. [86], formulated the energy-efficient VMP problem with multidimensional resources. Heuristic approaches are consisting of three local search area and GA has made a proper optimized solution. By using Cloudsim tools, they present that GA sometimes makes the best results, but with poor stab ability. In the cloud computing model by this presented approach, they make formulation one sub-problem, the initial placement of VM consolidation optimizing, with multidimensional resources. They have solved the VMP problem with four heuristic algorithms and has got some solution of initial placement of VM consolidation optimizing, and compared the performances of these algorithms.

The author in [87], proposed a new approach based on a two-level system to manage the mappings of loads to VMs and VMs to PMs. They use a multi-objective method in their approach to handling to VMP problem. The main aims in the proposed approach are focused on reducing resource wastage, power consumption, and thermal dissipation costs. A modified GA with fuzzy multi-objective evaluation is used to search the large solution space. Their approach can search and discover solutions that exhibit a good balance among the conflicting objectives while others cannot. The profiling data obtained from measurements of an IBM Blade Center are used for building the models of power consumption and CPU temperature of blade PMs, then applied in this placement algorithm. By using the Cloudsim toolkit, they present that the proposed model sometimes makes the best results than other presented approaches. Resource management is very important to point in the VMP problem. The two-level management in cloud DC is shown in Fig. 15.

Fig. 15
figure 15

Two-level resource management

In [88], Pascual et al. try to enhance placement policies with network-aware optimizations, by improving application performance, resource efficiency and power efficiency. The VMP problem is formulated as a bi-objective optimization problem whose solution is searched using evolutionary techniques. Benefits for the provider are measured based on used PMs and switches and immediately translate into reduced power consumption demands. Benefits for the applications are achieved by improving their ability to process user requests. As a direct effect of improving communication latencies, the average execution time per request is reduced. For reaching the results, the Cloudsim toolkit has been used and the proposed algorithm has a better result than other schemes that compared.

In the manuscript [89], defined the DC optimization as a multi-objective VM assignment problem and present a hybrid solution using three optimization steps: GeNePi. The approaches in VMP based on Multi-objective models are good when the group of proper results is large. The system needs to be assisted by decision-makers who can evaluate the different solutions with respect to their value in the different dimensions of the problem. By using from C++ programming environment in the proposed model, they test their approach. The proposed model has made the VM replacement action in the three-dimensional space defined by the migration cost of the assignment, reliability of the assignment and energy consumption. In Table 8, the properties of MOEA-based and NSGA-II-based VMP schemes are shown.

Table 8 Properties of the MOEA-based and NSGA-II-based VMP schemes

5 Discussion

This section presents the following information about the investigated VMP schemes:

  • The number of multi-objective and single objective VMP schemes.

  • The number of the multi-objective and single objective VMP schemes published in each year.

  • Evaluation factors applied in the simulation and analysis of the studied VMP approaches

  • Simulators and environments employed in the evaluation of the VMP schemes.

  • The number of VMP schemes designed using each optimization algorithm.

  • Factors considered in the VMP process.

This information is consists of algorithm type, the categories of schemes and the number of simulators that schemes have used. In Fig. 16, the number of single-objective and multi-objective VMP schemes is presented. As shown in this figure, the single-objective optimization algorithms are focused on more VMP schemes.

Fig. 16
figure 16

Number of the single-objective and multi-objective VMP schemes

The number of bio-inspired VMP schemes proposed in each year is presented in Fig. 17. However, as shown in this figure,

Fig. 17
figure 17

Number of the bio-inspired VMP schemes proposed in each year

Figure 18 exhibits the simulators and environments applied in the simulation and evaluation process of the bio-inspired VMP schemes. As shown in this figure, cloudsim which is a famous simulator tool in the cloud computing context is mostly used by the VMP schemes. However, very few schemes have applied real cloud environments such as Openstack and in the next studies, evaluation of the proposed schemes in such real systems should be further evaluated, since evaluation of a VMP scheme on some dataset such as Planetlab or other datasets, has its own limitations and its results cannot be generalized for the real environment. This problem can be caused, because of the unrealistic workload data in the dataset or by difference in the workloads of the dataset and real environment.

Fig. 18
figure 18

Simulators and environments applied in the simulation process of the bio-inspired VMP schemes

Figure 19 indicates the meta-heuristic algorithms applied in the outlined VMP schemes and the number of VMP schemes which have applied each algorithm. As shown in this figure, popular optimization algorithms such as ACO and GA are used by more VMP schemes. However, multi-objective optimization algorithms such as MOEA and BBO are used by fewer schemes and in future works

Fig. 19
figure 19

Number of the VMP schemes proposed using each meta-heuristic algorithms

Figure 20 indicates the factors considered in the VMP process by the proposed schemes. As shown in this figure, factors such as CPU utilization, memory utilization, and the number of PMs are applied by more VMP schemes. One of the other issues which can be focused on the VMP process is the number of factors considered in the VMP process. By using more factors in the VMP process, the accuracy of the placement decisions increases and the proposed placement approach can deal with a wide array of hosted applications and their workloads. However, in this case, the overhead of monitoring the DC for the required factors applied in the VMP process increases. On the other hand, when fewer factors are applied in the VMP process, the proposed VMP solution may not deal properly with all types of workloads. For instance, when a VMP approach only considers the CPU factor, it cannot react to the communication-intensive or data-intensive applications.

Fig. 20
figure 20

Considered VMP factors

6 Conclusion

Considering that a large amount of energy consumption in DCs has been done by PMs, reducing the number of PMs will have a clear impact on DC’s energy consumption. The problem of allocation VMs to PMs is one of the most important challenges of infrastructure as a service layer in the cloud computing environment and energy consumption can be optimized by reducing the number of switched-on PMs. VMP in cloud DCs is a challenging task. Therefore, in the past few years, many approaches to the VMP have been proposed, which this focus on the bio-inspired VMP schemes.

This article presents an extensive review and classification of the bio-inspired VMP schemes proposed for various cloud computing environments. It presents the required and essential background knowledge about the VMP problem. Then, it provides a taxonomy of the studied VMP approaches regarding the type of optimization algorithms into single-objective and multi-objective branches and then classifies them according to their applied optimization algorithms. In each category, it describes how optimization algorithms are benefited to optimize the VMP problem and what advantages are achieved by using bio-inspired optimization algorithms. Besides, comparison of their various properties is provided.

In future researches and studies the following issues should be focused and addressed:

  • Security is one of the critical factors which should be focused on. Because few works focus on the security and privacy issues of the tenant data on the VM. For instance, as the application of virtualization technology, the VM from different tenants may be placed on one PM. Hence, attackers may steal secrets from other tenants by using the side-channel attack based on the shared physical resources, which will threaten the data security of the tenants in the cloud computing.

  • Using accurate workload prediction algorithms is one of the aspects which can be studied in future researches. By predicting future workloads of VMs using their historical data, premature decisions caused by sudden spikes in the workloads can be prevented and more accurate placements can be produced, leading to fewer VM migrations and lower overheads.

  • In addition, exploring VM placement and migration in various inter-cloud environments which consist of several clouds, can be investigated regarding contradicting policies of various participant organizations in the inter-cloud.

  • In the optimization algorithms context, the application of multi-objective optimization algorithms to solve VMP problem can be further analyzed. In addition, in the single-objective optimization context application of the newly proposed optimization algorithms can be explored.

  • Since the VMP problem is inherently a discrete problem, designing new discrete optimization algorithms in both single-objective and multi-objective contexts can be considered in the following studies.