https://doi.org/10.31449/inf.v48i6.5263 Informatica 48 (2024) 1–18 1 Multi-objective Meta-heuristic Technique for Energy Efficient Virtual Machine Placement in Cloud Computing Data Centers C.Vijaya 1 , P. Srinivasan 2* 1 SCOPE, VIT University, Vellore, India, 2 SCORE, VIT University, Vellore, India. E-mail: c.vijaya2016@vitstudent.ac.in, srinivasan.suriya@vit.ac.in *Corresponding author Keywords: cloud computing, virtualization, virtual machine placement, ant colony optimization, sine cosine algorithm Received: October 8, 2023 Cloud computing has emerged as an efficient and scalable solution for storing and processing a large amount of data. Cloud data centers provide resources on demand to consumers on a pay-per-use model. However, a large number of data centers are required to support the growing demand of cloud consumers. This needs to be handled in an optimized way to avoid resource wastage and ensure that more consumers can benefit from data centers. Virtualization is the technology of creating virtual versions of computers called Virtual Machines (VMs). The Virtual Machine Placement problem is a fundamental challenge in cloud computing, where the goal is to determine the optimal allocation of Virtual Machines to Physical Machines (PMs) within a data center. An efficient Virtual Machine Placement technique helps properly place VMs on PMs, significantly optimizing the number of servers, maintenance costs, CPU utilization, and power consumption. We present a novel hybrid approach that combines the Ant Colony Optimization (ACO) algorithm and the Sine Cosine Algorithm (SCA) for efficient VM placement. Since SCA is an emerging search algorithm that utilizes Sine and Cosine functions in the engineering field, it has been used to explore the solutions obtained by the ACO algorithm. The ACO algorithm has been applied to exploit the solutions of the search space for efficient VM placement, aiding in power management and minimizing resource wastage. The results have been verified by comparing the performance against other algorithms to prove that our proposed algorithm outperforms them. Povzetek: Predlagan je hibridni pristop, ki združuje algoritma ACO in SCA za optimizacijo postavitve virtualnih strojev v oblaku, kar zmanjšuje porabo energije in izboljšuje izkoriščenost virov. 1 Introduction Cloud is an infinite resource pool that leverages resources to multiple users. From the customer or user point of view, it is a scalable service where consumers can access as many resources as needed, based on the concept of pay- as-you-go or metered services. From the provider's side, there is a business angle where they need to optimize or maximize their profit without compromising on the quality of services or violating SLAs. If there is any violation of an SLA, there are long-term implications and penalties to be paid. Cloud providers like Amazon, Google, IBM, Yahoo, and Microsoft have huge data centers across the world. Resource types are classified into two categories: physical resources (computers, disks, databases, networks, and scientific instruments) and logical resources (execution, monitoring, application communication). Currently, it is estimated that physical servers consume 0.5% of the world's total electricity usage. A data center has two major components [1]: a. Compute infrastructure (Servers, Storage and Network etc.) b. Logistics or environmental infrastructure. (UPS, AC, overall logistics setups used to house datacenter). There is huge amount of separate power required to manage both the components. By summing the power consumed by compute infrastructure and logistics infrastructure, 1% of total power consumed by the world is consumed by data centers. Server energy demand doubles every 5 to 6 years. So, there is a large need of power consumption so that we need to minimize the utilization of power. Majority of energy sources are fossil fuels. By burning fossil fuels, huge volume of carbon-di-oxide is emitted every year from the power plants. Sustainable energy sources are data centers. So, there is a need to reduce the power consumption of data centers and also to reduce energy consumption with minimal performance impact. Load Balancing [42] and Server Consolidation [13] are the two most efficient methods to improve the energy efficiency. According to Amazon Web services, the most important components of server downtime are power supply, Virtual Machines and storage. In paper [2], a hybrid technique called Fuzzy 2 Informatica 48 (2024) 1–18 C. Vijaya et al. HAGA algorithm has been adopted for consolidating the servers using Ant Colony Optimization and Grey Wolf Optimization for exploiting and exploring the active servers and thereby reducing the number of physical machines. The results prove that the Fuzzy HAGA algorithm performs better server consolidation than the ACS, FFC, MMAS and FFD [4]. The average power consumption and resource wastage has been minimized. Considering the Virtual machine Placement problem, Sine Cosine Algorithm performs better in searching for the solutions obtained by ACO algorithm. 1.1 Server consolidation Organizations can reduce hardware costs, simplify management, and improve resource utilization by consolidating servers. The process of server consolidation has a significant impact on the placement of virtual machines. Proper placement of virtual machines is crucial to ensure efficient utilization of consolidated servers and achieve the goal of maximizing resource utilization and minimizing hardware costs. Tahe strategy is to schedule as many virtual machines as possible on selected multi-core nodes, considering the capacity and requirements of the nodes. Regardless of whether a virtual machine is running on a server, it consumes a certain amount of energy. In Fig. 1, the nodes consume 105 Watts when idle and an incremental amount of energy when running. For example, node-1 is fully loaded and consumes 170 Watts, while nodes 2, 3, and 4 are running 2 virtual machines each and consume 138 Watts (105 + incremental energy). If all nodes contain only 2 virtual machines, the total power consumed would be 138*4 = 552 Watts. However, by consolidating all the virtual machines to run on server node 1, the total power consumed is reduced to 485 Watts. This reduction is due to server node 1 consuming less energy in both fully loaded and idle states compared to the combined consumption of nodes 2, 3, and 4. In Fig. 2, node 1 consumes 170 Watts, while nodes 2, 3, and 4 consume 105 Watts each, resulting in a total power consumption of 485 Watts. This scenario demonstrates that consolidating virtual machines on servers minimizes resource wastage and leads to power savings. The process of selecting the appropriate physical machine for moving a virtual machine is known as the virtual machine placement problem. Virtual machines are migrated from one physical machine to another when the physical machine is either overloaded or under loaded. It has been observed that cloud servers often do not utilize servers to their maximum capacity. Therefore, reducing the number of servers in an organization is essential to prevent server sprawl, which refers to the inefficient use of underutilized servers that consume excessive space, resources, So, the use of server consolidation is widespread in order to reduce energy consumption. The primary goal of the server consolidation issue is to decrease the number of active servers required. These servers are necessary for hosting the virtual machines that users request. We are dealing with 'n' Virtual Machines (VMs) that need placement on 'm' Physical Machines (PMs). A Physical Machine, which is also referred to as a Server machine, is a computer system dedicated to running applications, processing data, and performing tasks without virtualization. A Virtual Machine is a virtual or software emulation of a physical machine. None of the VMs have Figure 1: Power saving on server consolidation from 552 Watts to485 Watts a capacity greater than any of the PMs. The key objective of the server consolidation problem is to minimize the number of active server machines needed for VM placement. Consider ‘n’ Virtual Machines (VMs) to be placed on ‘m’ Physical Machines (PMs). No VM is larger than any PM in capacity.𝐷 𝑚𝑦 represents the CPU requirement of each VM and 𝑇 𝑝𝑟 𝑎𝑛𝑑 𝑇 𝑚𝑦 represents full Multi-objective Meta-heuristic Technique for Energy Efficient… Informatica 48 (2023) 1–18 3 capacity of a single physical machine. The proposed algorithm is going to reduce the wastage of resources and wastage of CPU. When the physical machine is utilized fully, then the performance of the physical machine may get degraded. So, we have an upper bound of 90 percent (fuzzy). We define two decision variables allocation matrix and binary variables. If a VM is allocated to a particular server j, then allocation matrix is set to 1 or it is set to 0, otherwise. A binary variable is used to denote whether a server is busy or not. The balance resources on each Physical Machine may vary based on the Virtual Machine placement algorithm. For all the resources to be utilized efficiently, the total cost of the wasted resources should be calculated thoroughly. 1.2 Server resource wastage modeling Different virtual machine placement solutions can result in a significant variation in the remaining resources on each server. Multidimensional resources should be completely utilized. Therefore, the cost of wasted resources is evaluated by the below equation: W j = |𝐿 𝑝𝑟 𝑗 −𝐿 𝑗 𝑚𝑦 |+ ∆ |𝑈 𝑝𝑟 𝑗 −𝑈 𝑚𝑦 𝑗 | (1) W j represents the resource wastage in j th server. 𝑈 𝑝𝑟 𝑗 −𝑈 𝑗 𝑚𝑦 represents the CPU and memory usage normalized in a physical machine. It is the ratio between used resources to the total resources available. 𝐿 𝑗 𝑝𝑟 −𝐿 𝑗 𝑚𝑦 represents remaining resources in terms of CPU and memory. ∆ is a small positive integer to avoid the capacity of the physical machine coming down to zero and it is set to 0.0001. 2 Related work Virtualization is the most challenging research topic in cloud computing. The Virtual Machines are mapped to the suitable Physical Machine in datacenters [3]. R. Panigrahy et.al., have investigated the placement of one dimensional VM placement algorithm [4]. The Physical Machines should give proper support to the Virtual Machines to run the data center efficiently [5] considering multi-objectives. Many Researchers have studied the methods using the Metaheuristic Algorithms in the cloud computing environment. But these algorithms largely focus on initial placement of the VMs. Virtual Machine placement should focus on power saving and abide by the Service Level Agreement to provide Quality of service to the users [6]. There are different types of Algorithms used to place Virtual Machines for efficient Power management and Resource utilization which provides the solution for optimal placement. A survey of related problems have been studied and presented in this section. D.Alsadie [7] in his review paper has discussed about the Meta-heuristic Algorithms used for Virtual Machine Placement such as Genetic based approaches, ACO based approaches [17],[28][26][31], BBO based approaches, PSO based approaches [41], Memetic approaches [8], Artificial Bee Colony approaches, Firefly based Algorithms and hybrid methods. In his review, it has been concluded that the hybrid meta-heuristic approaches are going to be the promising research direction in solving Virtual Machine Placement Problem. Many researchers have studied the methods using the Meta-heuristic Algorithms in the cloud computing environment. But most of these algorithms largely focus on initial placement of the VMs. Virtual Machine placement should focus on power saving and abide by the Service Level Agreement to provide Quality of service to the users. One of the ways to improve datacenters is by applying effective server consolidation techniques. This technique reduces the power consumption in a data center which is the most challenging task today to maintain the sustainability of the data centers. C. Sonklin et al., have presented a multi objective grouping genetic algorithm for minimizing energy consumption and also resource wastage. A fitness function has been determined that considers the two objectives with a trade-off between the objectives [9]. B. Zhang et al.,[10] have developed an algorithm to cluster the population of current generation and select individuals from different groups with reduced cross over operations. They have used the runtime to determine the preference of VMs on Physical machines and also to generate the initial solutions and proved that their algorithm performs better than the traditional genetic algorithm. X. Wang et al.,[11] in their paper defines a mathematical model to reduce make span, cost and total tardiness. A dynamic resource allocation with pre selection has been proposed. They have used a Classifier to filter the sub problems solutions in decision space. The algorithm performed better than the traditional algorithms. S. Garepasha et al., [12] defined a chaotic multi objective optimization algorithm for Virtual Placement in data centers... They have hybridized Sine Cosine (SCA) and Ant Lion Optimizer (ALO) to achieve load balancing of servers and also to reduce the resource wastage. P. Boominathan et al., [13] in his work has applied fuzzy hybrid bio-inspired technique to solve the VM placement problem through server consolidation technique. Fuzzy rules were generated to choose the next VMs for the current server. Cuckoo search has been applied to find the new optimal solution. So by combining ACS and cuckoo search, they have developed an algorithm for server consolidation and by combining ACS and firefly colony algorithm, they have developed another algorithm for virtual machine placement problem. Both of them have proved to give the best A make span model, Cost and Utilization mathematical model have been designed using the effectiveness of Levy flight of Cuckoos to search the Optimal placement of the Virtual Machines is given in [23]. An optimized chaotic Grey wolf knowledge-based Ant Colony system to obtain the placement of Virtual 4 Informatica 48 (2024) 1–18 C. Vijaya et al. Network Functions and allocate paths gained by knowledge of Software defined networking controllers. It has been proved that the proposed algorithm converges in lesser iterations within less computational time. [24] An Artificial Bee Colony [25] and Chicken Swarm optimization algorithm has been suggested in this paper for an efficient Virtual Machine Placement considering load, migration cost and power consumption to prove it performs better than existing techniques. Grey Wolf Optimization based Simulated Annealing Approach [26] is adopted for Container based virtualization rather than virtual Machine based virtualization and found to be better than other existing algorithms in terms of load variation and Make span. In our proposed algorithm, minimizing energy consumption and minimizing the resource wastage are our main objectives. In section III, VM Placement Problem has been explained, in section IV, Evolutionary Multi- objective optimization objective function is defined. In section V, basics of ACO (Ant Colony Optimization) and SCA algorithms are explained. In section VI, ACOSCA Optimization of Virtual Machine Placement has been explained using the ACOSCA algorithm. In section VII, the experimental study and results are discussed and in section VIII, conclusion of the paper is given. 3 VM Placement problem Virtual machine placement refers to the process of selecting an optimal physical server or host for deploying virtual machines (VMs) in a virtualized environment. It involves decisions regarding which virtual machines should be placed on specific physical servers based on factors such as resource utilization, performance requirements, and workload balancing. The goal of virtual machine placement is to optimize the allocation of resources and ensure efficient utilization of hardware infrastructure while meeting the performance and availability requirements of the virtualized applications or workloads. In a virtualized data center, there are a large number of Physical Machines (PMs) denoted as ‘𝑚 ’ with ‘n’ number of Virtual Machines (VMs) hosted on them. These Virtual Machines are hosted with many heterogeneous applications having varying resource utilization. To effectively use computing resources, it is important to distribute the VMs evenly among the PMs. Identifying where it is best to place a Virtual Machine on a Physical Machine has a direct impact on improving the resource utilization. This can be achieved by an efficient Virtual Machine Placement algorithm. When ‘n’ number of Virtual Machine requests arrives to a virtualized data center, where the Virtual Machines have to be placed on a set of ‘𝑚 ’ Physical Machines efficiently is the VM Placement problem (VMP). The goal is to find the optimal arrangement of Virtual Machines across the physical servers in a data center. A VM can be placed based on two constraints. One is, a VM can be placed for the first time on a Physical Machine and the other one is, VM replacement which is for optimization purpose, in which an existing VM would be replaced without any compromise in the quality of service [3]. In cases of deviations in resource utilization in data centers by Cloud providers, such as workload variations or differences in CPU and memory usage, it is necessary to replace the virtual machines (VMs). However, it is important that the requested VM configuration by the user does not violate the Service Level Agreement (SLA). Frequent VM migrations lead to performance degradation and violations of the SLA. Figure 2: Virtual machine placement Thus, it is essential to strategically place VMs in the data center to minimize migrations, enhance energy efficiency, and optimize resource utilization. The Bin Packing Problem was previously used to solve the VMP problem in cloud The Bin Packing Problem was previously used to solve the VMP problem in cloud computing environments. However, it is difficult to find optimal solutions quickly using algorithms, which is why it is considered a NP-hard problem. NP-hard algorithms do not have a specified solution, but they can suggest an optimal solution. To address this, biological algorithms such as Ant Colony Optimization, Genetic Algorithm, and Multi-objective Meta-heuristic Technique for Energy Efficient… Informatica 48 (2023) 1–18 5 Particle Swarm Optimization, which are meta-heuristic algorithms, are used to find solutions that are closer to optimal. In this paper, we propose a hybrid Optimization (ACOSCA) algorithm for Virtual Machine Placement. . The ACOSCA algorithm takes into account the dynamic requirements of users to optimize resource utilization. Additionally, several Power Aware algorithms were analyzed to optimize power consumption based on servers, network bandwidth, etc.,[29][30][31][33]. The performance of the ACOSCA algorithm was evaluated and compared to other algorithms. It was found that ACOSCA outperformed First Fit Decreasing (FFD), Max- Min Ant System (MMAS), Ant Colony System (ACS), and Fire-Fly Colony (FFC) algorithms in terms of multi- objectives, resource wastage, and power consumption of servers. The ACOSCA algorithm has been implemented using JAVA, and the results and observations showed better performance compared to existing algorithms. Results and observations showed better performance compared. 3.1 VM Placement problem definition Evolutionary multi-objective algorithms employ a population-based method to discover an optimal solution. These algorithms aim to optimize multiple objective functions simultaneously, resulting in Pareto optimal solutions that improve more than one objective function. The performance of a solution may be impacted in the other remaining functions. Many algorithms utilize the concept of dominance during the selection process. A multi-objective minimization problem can be defined as follows: Minimize 𝑓⃗ (𝑑𝑣 ⃗⃗⃗⃗⃗ ) =[𝑓 1(𝑑𝑣 1 …𝑑𝑣 𝑚 ),…..𝑓𝑛 (𝑑𝑣 1 …𝑑𝑣 𝑚 )] (2) Here, 𝑑𝑣 ⃗⃗⃗⃗⃗ = (𝑑𝑣 1 …𝑑𝑣 𝑚 )∈𝑋 𝑓⃗ = (𝑓 1 …𝑓 𝑛 )∈𝑌 Where 𝑚 is set of decision variables and 𝑛 are the set of objectives. 𝑑𝑣 ⃗⃗⃗⃗⃗ denotes the decision vector, 𝑓𝑣 ⃗⃗⃗⃗⃗ denotes the objective vector, 𝑋 is the variable space and Y is the objective area. The dominating points are those in which the decision vector 𝑑𝑣 ⃗⃗⃗⃗⃗ has better objective than any other decision vector. In a solution set, find all the non-dominated, multi- objective solution set. Start with first decision variable. Compare first variable with all other remaining variables for domination. A solution 𝑑𝑣 𝑖 is dominating the other solution 𝑑𝑣 𝑗 when the first one is better in its objectives. Mark the dominating solution and all the solutions except the marked one are non-dominated solutions. Consider we have some ‘n’ number of Physical Machines running applications on them. In case assume that, all the applications are treated as a separate VM to be executed. Mapping a VM to a PM is a multidimensional vector packing problem. Various resource utilizations (CPU and memory) represent the various dimensions. Let us take for example, a request for a VM containing 20% CPU and 30% memory and another request of VM having 35% CPU and 40% memory. Then the usage of server shall be calculated as 55% CPU and 70% memory. The resources shall be utilized up to 90% for each dimension. This example has been illustrated in Fig.2.We need to impose a boundary 90% which is less than 100% utilization in order to avoid the performance degradation of the server otherwise, which may lead to migration of VMs. 4 Server consolidation 4.1 Objective function of server consolidation The objective function is designed so as to reduce the quantity of physical machines as well as not violating the capacity of the physical server. Consider that we are assigned ‘n’ number of VMs where (i∈ I). Here VMs are applications which are need to be assigned to ‘m’ servers (j ∈ J). 𝑉𝑀 𝑖𝑗 and𝑃𝑀 𝑗 are the two binary variables used to represent the placement of VM. The first binary variable 𝑉𝑀 𝑖𝑗 denotes if a virtual machine i, is assigned to server jand the binary variable 𝑃𝑀 𝑗 represents if server is active. Our objective is to minimize the power consumption while minimizing the resource wastage. Therefore, the server consolidation can be mathematically formulated as: Minimize ∑ 𝑃𝑀 𝑗 𝑚 𝑗 =1 (3) The limits on constraints are: ∑ lev ij 𝑚 𝑗 =1 = 1, ∀i∈I (4) ∑ D pr i lev 𝑛 𝑖 =1 ≤𝑇 𝑝𝑟 𝑗 .𝑃𝑀 𝑗 , ∀ j ∈J (5) ∑ D my i lev ij 𝑛 𝑖 =1 ≤𝑇 𝑚𝑦 𝑗 .𝑃𝑀 𝑗 , ∀ j ∈J (6) 𝑙𝑒𝑣 𝑖𝑗 ∈{0,1} , ∀i∈I and j ∈J (7) According to Constraint (4), one VM is leveraged to only one PM. Constraints (4) and (5) are related to the capacity constraints of the Physical Machines and constraint (7) chooses the domain of the problem. The binary decision variables states whether a server is active or not. There are possibly 𝑚 𝑛 solutions possible for Virtual Machine placement. Our ACOSCA algorithm shows how to find the best solution among this enumeration of solutions. 4.2 Virtual machine placement problem formulation The formulation of VM placement is presented in this section. Here it is considered as a multi-objective optimization problem. In this section, the Optimization equations have been formulated for Virtual Machine Placement problem. Consider the power consumption 6 Informatica 48 (2024) 1–18 C. Vijaya et al. Let the power be 𝑃𝑟 𝑗 { [(𝑃𝑟 𝑗 𝑏𝑢𝑠𝑦 −𝑃𝑟 𝑗 𝑖𝑑𝑙𝑒 )×𝑈 𝐽 𝑃𝑟 ]+𝑃𝑟 𝑗 𝑖𝑑𝑙𝑒 0 , 𝑜𝑡 ℎ𝑒𝑟𝑤𝑖𝑠𝑒 (8) Were,𝑈 𝐶 𝑗 ˃ 0 We have set (𝑃𝑟 𝑗 𝑏𝑢𝑠𝑦 = 215 Watts and 𝑃𝑟 𝑗 𝑖𝑑𝑙𝑒 = 162 Watts. Let us consider the worst-case example, that is, each Physical Machine can have only one Virtual Machine where the number of servers will be equal to the number of VMs. The experiment shows the result for 200 VMs. For the Proposed ACOSCA algorithm, the parameters are given as follows: q=0.8, 𝑇𝑁 𝐴 =10, M=100, ∝ =0.45,𝜌 𝑖 =𝜌 𝑔 =0.35,𝜏 𝑝𝑗 = 𝜏 𝑚𝑗 =90% and ɳ=0.0001 (9) There are many resources on each node as we saw in the Server consolidation section. There are many VM placement solutions are available. These resources on all cores of a node should be utilized without wastage of resource. The Wastage resource cost is evaluated by the following equation: 𝑊 𝑗 = |𝐿 𝑝𝑟 𝑗 −𝐿 𝑚𝑦 𝑗 |+ ∆ |𝑈 𝑝𝑟 𝑗 −𝑈 𝑚𝑦 𝑗 | , as we saw ion Eq.1. 𝑊 𝑗 represents the resource wastage in the j th server. 𝑈 𝑝𝑟 𝑗 −𝑈 𝑚𝑦 𝑗 represents the CPU and memory usage normalized in a physical machine. It is the ratio between used resources to the total resources available. 𝐿 𝑝𝑟 𝑗 − 𝐿 𝑚𝑦 𝑗 𝑖 s the capacity constraint to avoid the utilization of full capacity of the physical machine coming down to zero and it is set to.0001 To cut down the number of servers utilizing the full capacity of the nodes, the minimizing function is given as follows [27]: Minimize ∑ 𝑦 𝑗 𝑚 𝑗 =1 (10) The objective function for Virtual Machine consolidation is similar to server consolidation. The conditions for minimization of power and resource wastage are given as in [23]. The VM placement is given as: Minimize ∑ 𝑃𝑀 𝑗 = 𝑚 𝑗 =1 ∑ [𝑦 𝑗 ×((𝑃𝑀 𝑗 𝑏𝑢𝑠𝑦 −𝑃𝑀 𝑗 𝑖𝑑𝑙𝑒 )× 𝑚 𝑗 =1 ∑ 𝑙𝑒𝑣 +𝑃𝑀 𝑗 𝑖𝑑𝑙𝑒 𝑛 𝑗 =1 )] (11) Minimize ∑ 𝑊 𝑗 = 𝑚 𝑗 =1 ∑ [𝑦 𝑗 × 𝑚 𝑗 =1 |(𝑇 𝑝𝑟 𝑗 −∑ (𝑙𝑒𝑣 𝑖𝑗 𝑅 𝑝𝑟 𝑖 ) 𝑛 𝑖 =0 )|+ ∊ ∑ (𝑙𝑒𝑣 𝑖𝑗 𝑅 𝑝𝑟 𝑖 ) 𝑛 𝑖 =0 + ∑ (𝑙𝑒𝑣 𝑖𝑗 𝑅 𝑚𝑦 𝑖 ) 𝑛 𝑗 =1 ] (12) The ACO has two heuristic functions as given below: ɳ 𝑖𝑗 1 = 1 𝜀 +∑ ( 𝑃𝑀 𝑣 𝑃𝑀 𝑣 𝑚𝑎𝑥 ) 𝑗 𝑣 =1 (13) ɳ 𝑖𝑗 2 = 1 𝜀 +∑ 𝑊 𝑣 𝑗 𝑣 =1 (14) The sum of the two heuristic functions for VM-PM mapping is given as: ɳ 𝑖𝑗 = ɳ 𝑖𝑗 1 + ɳ 𝑖𝑗 2 (15) The Pheromone content in the edge(i,j), heuristic function of the desirability of adding a VM to a PM, control parameters determines the probabilistic selection of PM. In FFD algorithm [4], VMs are taken in a decreasing order of utilization of a software resource. The result is also scalable to larger data centers and for a larger number of VM requests. 0.5 is fixed to P and the number of VM images is increased to 2000. We can observe that when𝑅 𝑝𝑟 = 𝑅 𝑚𝑦 =25%, the time taken to calculate a new placement consisting of 1000 VMs is 31 seconds and for 2000 VMs, it takes 114 seconds. For 𝑅 𝑝𝑟 = 𝑅 𝑚𝑦 =45%, we can observe that time taken to calculate a new placement consisting of 1000 VMs is 36 seconds and for 2000 VMs, it takes only 133 seconds. Our algorithm proves that the Virtual machine placement takes less time when compared to other algorithms and hence can be used in large data centers too. The number of Physical Machines used is different in both cases. Our algorithm proves that the Virtual machine placement takes less time than other algorithms and hence can be used in large data centers too where it will execute out the placement algorithm faster than the existing algorithms. Multi-objective Meta-heuristic Technique for Energy Efficient… Informatica 48 (2023) 1–18 7 5 Basics of ant colony optimization and sine cosine algorithms 5.1 Ant colony optimization Ant colony optimization is an optimization technique learnt from the behavior of the ants in searching their food by finding the nearest path from their habitat to the food source. Ants find their path by choosing random decision taken by the amount of Pheromone (a kind of saliva like substance) secreted by the ants on the way to the food source. The information passed by the other ants also is used to find the optimal solution. The information to assign VMi to PMjis given as below: η ij = |𝐷 𝑝𝑟 𝑖 + 𝐷 𝑚𝑦 𝑖 | |𝐿 𝑝𝑟 𝑖 + 𝐿 𝑚𝑦 𝑖 |+ ∊ (16) The Pheromone update is done in order to increase the Pheromone value corresponding to the good solutions and decreasing the Pheromone values is done by evaporation of the pheromones, that is, the odor of the non-optimal solutions is decreased. The Pheromone trail update is given by: 𝜏 𝑖𝑗 = { ∑ τ ui u ∈Ω k(j) |Ω k(j) | 1, otherwise if Ω k(j) —{i}≠0 , (17) The solution is constructed using Pseudo random proportional rule as given in [27]. I={ argmax u∈Ω k (j){∝ p x τ ij (−∝ p )× η ij }, 𝑐 <𝑐 0 explore b, otherwise . (18) Where c is a probabilistic parameter, which is distributed uniformly in the range of [0, 1]. 𝑐 0 is a variable which has value in the range of 0 and 1. If c is lesser than or equal to 𝑐 0 , then exploitation process takes place, and if it is greaterthan 𝑐 0 , it is called exploration of newsolutions.∝ p is the variable through which the user can control the pheromone trail. Using the roulette wheel selection method, we select the random variable b, and using the proportional rule random probability distribution [13][33]. P i,j k = ∝ pr × τ uj + (1− ∝ pr ) × η j ∑ ( u∈Ω k(j) ∝ pr × τ ij+( (1− ∝ pr )× η j , i∈ Ω k(j) (19) The parameters alpha, beta is called control parameters and evaporation rate is also a parameter to find the best optimal path based on the probabilistic value. ∝ pr is the control parameter of pheromone trail. Ω k(j) = { i∈{1,n}(∑𝑙𝑒𝑣 iu =0 m u=1 ) ^ ( ( ∑ (𝑙𝑒𝑣 uj ×D i pr ) +D i proc n u=1 ) ≤T j p𝑟 ) ^ ((∑(𝑙𝑒𝑣 uj ×D i 𝑚 y ) n u=1 +D i my )≤T j p𝑟 ) (20) The local updating of the Pheromone is done using the below equation: τ ij = (1−φ g )τ ij (t−1)+φ 1 .τ 0 (21) The ant reduces the pheromone trail when a VM is assigned to Physical Machine, j. Here, the pheromone decay 𝑖𝑠 = φ 1 ∈{0,1} and τ 0 indicates the initial value of the pheromone. Fitness function of the derived solutions is evaluated using the cost function designed by H. Salami et al.,[23]. According to the fitness of the VM, it will be packed in the PM as given below: D i pr +D i my (T i pr − ∑ D k pr n k=1,k≠i )+(T i my − ∑ D k my n k=1,k≠i ) (22) The Pheromone update to form the best solution is given by the following equation. τ ij (t)= (1−φ g )τ ij τ ij (t−1)+ φδτ ij best (23) Here φ g ∈{0,1} represents the evaporation rate which represents non-optimal solutions’, which might bias the ants to travel towards non promising area of the search space. A pheromone evaporation rate is important in deciding the effectiveness of the calculation. τ ij best = { 𝑓 𝑠𝑜𝑙 (𝑆 𝑔𝑏 ) 𝑖𝑓 𝑉𝑀 𝑖 𝑖𝑠 𝑝𝑙𝑎𝑐𝑒𝑑 𝑖𝑛 𝑠𝑒𝑟𝑣𝑒𝑟 𝑗 . 0 𝑜𝑡 ℎ𝑒𝑟𝑤𝑤𝑖𝑠𝑒 , (24) 8 Informatica 48 (2024) 1–18 C. Vijaya et al. 5.2. Sine cosine algorithm The Sine Cosine algorithm is a population based probabilistic search algorithm that updates the position of search agents to improve its population based on Sine and Cosine functions and obtain the solution for the problem. It switches between ACO and SCA models to achieve the best result. SCA is used to search locally for the solution obtained by each Ant. The working mechanism of SCA begins by randomly producing an initial set of 𝑥 𝑖 solutions X with D dimensions. Afterwards, for each solution, it calculates the fitness values. The solution with the best fitness value (𝑓 𝑏 ) is considered as the best solution (𝑥 𝑏 ). The 𝑥 𝑏 and the parameters 𝛽 𝑖 = 1, 2, 3, 4 are used to update the solutions as given in (17). SCA repeats these steps until the global best condition is met, as shown in Table I. The updating procedure is followed as it is described in [32]. SCA updates its population using the sine function as given in the equation below: 𝑥 𝑖 (𝑔 +1)=𝑥 𝑖 (𝑔 ) +𝛽 𝑖 ×𝑠 𝑖𝑛 𝛽 2 ×|𝛽 3 𝑥 𝑏 ×𝑥 𝑖 (𝑔 )− 𝑥 𝑖 (𝑔 )| (25) and updates its population using the cosine function as follows: 𝑥 𝑖 (𝑔 +1)=𝑥 𝑖 (𝑔 ) +𝛽 𝑖 ×𝑠𝑖𝑛 𝛽 2 ×|𝛽 3 𝑥 𝑏 𝑥 𝑖 (𝑔 + 1)=𝑥 𝑖 (𝑔 )+𝛽 𝑖 ×𝑠𝑖𝑛 𝛽 2 ×|𝛽 3 𝑥 𝑏 ×𝑥 𝑖 (𝑔 )−𝑥 𝑖 (𝑔 )|× 𝑥 𝑖 (𝑔 )−𝑥 𝑖 (𝑔 )| (26) Where g is the number of present iterations and 𝑥 𝑖 is the optimal solution. As we can evaluate Sine and Cosine of any real number, both of these functions are defined by real numbers. The points are taken in the range (-1,1) and the shape repeats after every 2𝜋 as shown in the Fig.3. Now 𝑥 𝑖 ∊ (0,2𝜋 ) is a random variable and 𝛽 3 is also a random variable. The SCA algorithm uses the objective function [27] to switch between these equations as shown in the following: 𝑥 𝑖 (𝑔 +1) ={ 𝑥 𝑖 (𝑔 ) +𝛽 1 ×𝑠𝑖𝑛 (𝛽 2 )×|𝛽 3 𝑥 𝑏 (g)−𝑥 𝑖 (𝑔 )| if β 4 <0.5 𝑥 𝑖 (𝑔 ) +𝛽 1 ×𝑐𝑜𝑠 (𝛽 2 )×|𝛽 3 𝑥 𝑏 (g)−𝑥 𝑖 (𝑔 )| if β 4 >0.5 (27) where,𝑥 𝑏 (𝑔 ) and𝑥 𝑖 (𝑔 ) define the target and the current solutions of iteration 𝑔 , respectively.𝛽 𝑖 ,𝑤 ℎ𝑒𝑟𝑒 𝑖 =1,2,3,4 represents some random number that add weights to 𝑥 𝑏 to check whether it stochastically preserves when (𝛽 3 > 1) or not when (𝛽 3 < 1), influencing in finding the domain.𝛽 1 is applied to switch between exploration and exploitation in order to define the optimal part for the next solution. This part may be higher than the upper bound or lower than the lower bound, thus, it is updated as follows: 𝛽 1 = 𝜎 −𝑔 𝜎 𝑔 𝑚𝑎𝑥 (28) where 𝑔 , 𝜎 and 𝑔 𝑚𝑎𝑥 define the current iteration, a constant, and the iterations number, respectively. At the starting of the iteration, a bigger convergence factor is expected to improve the searching process and as the iterations increases, it converges to a lesser value. Figure 3: Sine and Cosine with the range of [-1,1] Most of the Swarm intelligence algorithms reach the best solution by exchanging the information between the swarm’s individuals. Here the Ants are going to exchange the information obtained by applying Sine Cosine algorithm. In the reference paper [16], the excellent performance of SCA has been proved and applied on the airfoil design problem successfully. It has been proved that the Sine Cosine Algorithm works well in optimization algorithms in finding the local best solutions. Sine Cosine algorithm begins with randomly generated solutions and updates its position corresponding to the best candidate using the Sine Cosine functions for exploiting the solutions generated from the ACO algorithm in searching the local regions in the search space. Table 1: Sine cosine algorithm 1. Produce a set of solutions 𝑥 𝑖 , (Search agents) where 𝑖 ranges from 1 𝑡𝑜 𝑛 2. Compute the fitness value f for each solution. 3. Define 𝑥 𝑏 that has the best fitness value 𝑓 𝑏 4. Update 𝛽 𝑖 ,𝑖 =1,2,3,4 values. 5. Use Eq. (19) to update X. end while 7. Output 𝑥 𝑏 Multi-objective Meta-heuristic Technique for Energy Efficient… Informatica 48 (2023) 1–18 9 In the Table I given above, 𝑥 𝑖 (𝑔 ) represents the ant 𝑖 , at itertion g. 𝑥 𝑏 (𝑔 ) represents the best ant position 𝛽 𝑖 ,𝑤 ℎ𝑒𝑟𝑒 𝑖 =1,2,3,4 represents some random values. 6 ACOSCA algorithm for VM placement In the SCA, to decide the distance of the next searching region, the position updating equation uses the destination point. We need to make a decision on which VM should be placed on the selected server, as described in (29). This section provides an explanation of the rules created to determine the appropriate choice of 𝑉𝑀 𝑖 for the selected Physical Machine𝑃𝑀 𝑖 to be placed in the currently chosen server as given in (29). The Fuzzy rules to be followed to place a VM on a PM are given below. If β ij is low and ηij is low then the efficacy e ij of choosing VM i is very very low. If β ij is medium and ηij is low then the efficacy e ij of choosing VM i is very low. If βij is high and ηij is low then the efficacy e ij of choosing VM i is low. If βij is low and ηij is medium then the efficacy e ij of choosing VM i is low. If βij is medium and ηij is medium then the efficacy e ij of choosing VM i is medium. If βij is high and ηij is medium then the efficacy e ij of choosing VM i is high. If βij is low and ηij is high then the efficacy e ij of choosing VM i is high. If βij is medium and ηij is high then the efficacy e ij of choosing VM i is very high. If βij is high and ηij is high then the efficacy e ij of choosing VM i is very very high Minimum operation for fuzzy implication and max- min operator for complication has been used in this method. Table 2: ACOSCA Algorithm for VM Placement __________________________________________ 1. Initialize the required quantity of Physical Machines (PMs) and required quantity of Virtual Machines 2. The Capacity constraint is set for Physical Machines 3. The basic requirement demands of VMs are initialized 4. The maximum number of iterations is fixed. 5. Initialize the Pheromone matrix τ ij and the total number of ants TN A 6. Use the procedure given in Table II to create Virtual Machine instances. 7. 𝐿𝑜𝑜𝑝 −1: 8. For each Ant uptoTN A 9. 𝐿𝑜𝑜𝑝 −2: a. Take a server which has not been used so far from a set of Physical servers b. 𝐿𝑜𝑜𝑝 −3:For No. of VMs = 1 𝑡𝑜 𝑛 i. Determine the desirable Heuristic ii. data from equation (16) iii. Determine the probabilistic Movement from equation (19) EndFor\ c. Pick a VM from the list of VMs for placement d. Usestate-transition conditions applying (30) and (31) e. If VMs are still remaining then Go to 𝐿𝑜𝑜𝑝 −3 f. The Pheromones are updated to the local best solution using Equation (21) 10. Go to 𝐿𝑜𝑜𝑝 −2 11. The objective function is set as in Eq. (3) 12. Apply SCA procedure to obtain new optimal Solutions given in Table I 13. Update the Ant Pheromones values by updating the global updating condition given in Equation (23) go to 𝐿𝑜𝑜𝑝 −1 14. Print the global best solution and the fitness output value 15. Output the value So, we employ a hybrid technique that utilizes minimal and max-min operations in implication and composition, respectively. As a result, the maximum efficiency e ij k is obtained for every virtual Machine 𝑖 . The Fuzzy Strategy and Fuzzy Probable strategy rule 10 Informatica 48 (2024) 1–18 C. Vijaya et al. mentioned in reference (13), has been applied to determine which VM should be assigned to each server. Therefore, it decides which𝑉𝑀 𝑖 should be assigned for an individual server 𝑗 . I={ 𝐅𝐮𝐳𝐳𝐲 𝐬𝐭𝐫𝐚𝐭𝐞𝐠𝐲 ,𝐪 ≤𝐪 𝟎 , 𝐅𝐮𝐳𝐳𝐲 𝐩𝐫𝐨𝐛𝐚𝐛𝐥𝐞 𝐬𝐭𝐫𝐚𝐭𝐞𝐠𝐲 ,𝐪 >𝐪 𝟎 (29) The fuzzy probable strategy is derived from Sine Cosine Algorithm as mentioned in Table I. In the output, we will get the number of virtual machines to be placed in that corresponding server. To implement the exploitation process, a fuzzy technique is followed by implementing the fuzzy protocol. These are the state transition rules Fuzzy Strategy: ⌊𝐞 𝐮 ∗𝐣⌋ = 𝐬𝐮𝐩 𝐮 ∈ 𝛀 𝐤 (𝐣) {𝐞 𝐮𝐣 } (30) where 𝐅𝐮𝐳𝐳𝐲 𝐏𝐫𝐨𝐛𝐚𝐛𝐥𝐞 𝐒𝐭𝐫𝐚𝐭𝐞𝐠𝐲 := 𝑢 ∗ . The Sine Cosine algorithm is applied here for Fuzzy probable strategy in finding𝑋 𝑖𝑗 𝑘 . Fuzzy Probable Strategy: The formula for Fuzzy probable strategy is given below: 𝑋 𝑖𝑗 𝑘 = 𝑒 𝑖𝑗 𝑘 ∑ (𝑗 )𝑒 𝑢𝑗 𝑘 𝑢 ∈𝜔 𝑘 (31) The ACO algorithm is most suitable for solving heuristic approach problems with the help of heuristic information given by ɳ 𝒊𝒋 . This heuristic information depends upon the current ant position. For each ant, ɳ 𝒊𝒋 is calculated and all ants start with a set of VMs to be arranged on a list of servers. During the construction of the solution, an ant chooses the next Physical Machine based on the Pseudo random proportional rule as given in Equation.10. According to this rule, the ant selects the next VM to be placed on the current node. The pheromone deposit on the way to the PM and the heuristic of SCA both assist in determining the optimal VM to be placed on the Physical Machines. In Table III, the algorithm proposed in [33] is described for generating random problem instances. Each problem instance consists of 200 VMs, with the number of VMs equal to the number of servers in the configuration. In this case, only one VM can occupy each server. A solution is randomly selected and 20 iterations are performed on each instance to generate a random number, the function rand () is used. 𝐷 𝑝𝑟 (𝑖 ) and 𝐷 𝑚𝑦 (𝑖 ) represent the demand for CPU and Memory, respectively Table 3: Algorithm to create the processor and memory instances in random __________________________________________________________________________________________ for i = 0 to (n-1) do 𝐷 𝑝𝑟 (𝑖 ) = 𝑟𝑎𝑛𝑑 (2 𝐷 𝑝𝑟 ) 𝐷 𝑚𝑦 (𝑖 ) = 𝑟𝑎𝑛𝑑 (2 𝐷 𝑚𝑦 ) s=Numbers generated using function rand (1.0) if (s