# An Efficient Policy-Based Scheduling and Allocation of Virtual Machines in Cloud Computing Environment

Authors: S. Supreeth; Kirankumari Patil; Shantala Devi Patil; S. Rohith; Y. Vishwanath; K. S. Venkatesh Prasad
Journal: Journal of Electrical and Computer Engineering
 (2022)

---

## Abstract

Cloud computing has become the most challenging research field in the current information technology scenario. In this, a set of user tasks are scheduled and allocated to numerous kinds of heterogeneous virtual machines (VMs) in cloud data centers (CDCs), and these VMs are hosted by diverse types of heterogeneous physical machines (PMs). It extends several features, encompassing elasticity, safety, sustainability, and even adequate maintenance compared to traditional data centers. There are numerous techniques available for VM scheduling and allocation. However, it still requires the existence of new mechanisms that can reduce the execution time (ET) of the tasks, improve the optimization of energy usage and resource utilization (RU), and reduce time consumption. Along with optimization, VM scheduling (VMS) and VM allocation (VMA) are two-level issues that need to be considered with essential policies to govern these mechanisms. Hence, for executing optimal VMS and VMA in the data center, new optimization methodologies, such as enhanced shark smell optimization algorithm (ESSOA) at the first level and Brownian movement-centered gravitation search algorithm (BMGSA) at the second level, are proposed in this work to define the policies. Firstly, the user requests for VMs are reserved on the most appropriate PM by the proposed ESSOA, which has the lowest execution cost within deadline limits, and the proposed BMGSA decides the allocation of the chosen VM on the most appropriate PM within the resource limitations at the second level. To demonstrate the proposed algorithm’s efficiency, the simulations are carried out using the Java language-based CloudSim simulator, and the proposed mechanism outcomes acquired are compared with the existing approaches. The simulation results show that the suggested algorithm is efficient in terms of the execution cost, degree of imbalance (DOI), make span (MS), and resource utilization (RU).


---

## Body

## 1. Introduction

Cloud computing [1] is the most favored option amongst users in this era to access cloud services [2–4] from any place and at any time via the internet. Cloud providers maintain these configurable computing resources, and they can be quickly provisioned and released [5]. RCloud computing is centered on a significant concept encompassing abstraction and the notion of pooling physical resources using virtualization methodology [6]. Cloud providers use virtualization technology that creates diverse kinds of cloud services on the internet, creating the potential feasibility for cloud computing. The infrastructure is given as a service, like the Amazon EC2. The runtime environment, like Google App Engine, is termed as a platform and a service. Lastly, the software is provided as a service, e.g., salesforce.com [7]. For all these services to be carried out efficiently, resources must be provisioned. There are 2 types of service provisioning that may be initiated in a cloud data center, which are as follows: (i) task scheduling (TS) and (ii) VM scheduling. In task scheduling, each task is assigned to the cloud without considering the optimization of resources at the data center, and vice-versa is carried out in VM scheduling. Figure 1 exhibits the VM scheduling architecture [8]. Every scheduler could have features for scheduling the resources. It may be homogeneous or heterogeneous requests [9]. Hence, mapping and scheduling tasks on appropriate VMs is crucial [10]. If cloud computing accomplishes a lesser makespan, lesser execution time of tasks, and effective utilization of resources, then the mapping between the tasks and needed resources is accomplished productively. Additionally, the task must be executed quickly, and a response must be transmitted to the user [11].Figure 1
The architecture of the VM scheduling process.Scheduling is carried out at 2 levels, which are as follows: in the 1st level, jobs produced by users are given to appropriate task schedulers, and these jobs are assigned to the VMs using cloud resources [12]. Every job/task contains numerous dependent tasks, which form directed acyclic graph (DAG) [13]. VM scheduling is the 2nd level of tasks carried out in the datacenter. The VMs are mapped to appropriate PMs, which are competent in offering the necessary resources (i.e., memory, disk space, and processor) using VM allocation [14]. A few of the PMs could be shut down if the VMs were classified as per the utilization, along with a few selectively migrated, which would decrease the cloud platforms’ whole energy consumption (EC) [15, 16]. Therefore, the effective management of VMs is of greater challenge in cloud data centers and can direct the cloud service provider to satisfy their organization’s objectives [17]. Through VMs, VMS and VMP are linked. Hence, these issues are mainly coupled with one another. They are identified as NP-hard optimization issues [18, 19].Typically, it is complex to design the algorithms in cloud computing to yield optimal solutions for VM scheduling [20] and allocation. In discovering a single solution, multiobjective optimization has a massive scope of interest amongst the investigators regarding different aspects of an issue for VMS and VMA [21]. However, the algorithms are created to handle both issues separately. However, for producing an efficient solution for cloud users and providers, the issues must be managed together and integrated. To efficiently carry out VM scheduling and allocation for the cloud platform, this research adopted new optimization approaches, such as ESSOA and BMGSA.The rest of the paper is arranged as follows: the associated literary works are exhibited in Section2. The proposed research technique is illustrated in Section 3. The outcomes and discussion part are exhibited in the 4th section. Finally, the conclusion is given in the 5th section.


## 2. Literature Review

Many research scholars worked on cloud data center technology to improvise the QoS parameters for the effective utilization of the resources. However, the improvisation can be done by optimizing the resources at the virtualization layer. The latest works created in the cloud platform for VM scheduling and allocation are reviewed in this section.Abualigah and Diabat [22] propounded a hybrid ant lion optimization (ALO) approach by leading centered differential evolution to solve multiobjective task scheduling difficulties in cloud platforms described as modified ALO (MALO). The system originated from the requirement to concurrently reduce makespan while increasing resource utilization. Utilizing the CloudSim tool kit, 2 trial series were performed on real trace datasets. The outcomes showed that the proposed MALO surpassed other renowned optimization algorithms.Fu et al. [23] put forward a particle swarm optimization (PSO) genetic hybrid system centered on phagocytosis (PSO_PGA) to execute task scheduling in the cloud platform. Firstly, the entire population was divided into numerous subpopulations in PSO_PGA. Then, utilizing the phagocytosis approach and crossover, as well as a mutation in the genetic algorithm (GA), the particle’s position in every subpopulation was updated to expand the model’s search range. Finally, all subpopulations were fused to escape from local optima, which guaranteed diversity as well. At last, it was ensured that the particle population could constantly push in the way of an excellent solution. The outcomes exhibited that the algorithm improved the cloud task’s entire completion time (CT) and had the highest convergence accuracy compared to the prevailing methods. Furthermore, the findings exhibited that the proposed algorithm improved the cloud tasks’ overall CTs through simulation experiments and had higher convergence accuracy than existing techniques.Arul Xavier and Annadurai [24] suggested a swarm intelligence of societal spiders with chaotic inertia weight-centered random choice on implementing VM scheduling in the cloud environment that focused on lowering the overall makespan. In discovering the finest optimized VM for the user task amongst the VMs with the lowest makespan and balanced resource utilization, the algorithm prevented the local convergence and investigated the intelligent global searching. The outcomes significantly improved the makespan with the balanced VM distribution while utilizing the presented model.Lu et al. [25] recommended an improved GA (I-GA) to resolve the VM allocation issue. To merge with GA, the model offered virtual hierarchy architecture. By establishing the I-GA’s preliminary population generation step, the model accomplished a near-optimal solution in solving accessibility and energy consumption concerns. The outcomes have shown the considerable enrichment of the datacenter’s energy efficiency and the successful preservation of its higher availability.Tripathi et al. [26] employed an improved dragonfly method for VM allocation for predominant resource utilization in a cloud environment. In an easy dragonfly algorithm to suit it well and intended for the VM allocation issue, some alterations, like the employment of time, were made. In addition, a V-shaped transfer function, a solution generator function, and so on were integrated. Nevertheless, the model surpassed other prevailing methodologies because of the more extensive coordination and the competency to handle a principal balance between exploration and exploitation.The following are the few research gaps identified based on the previous literary works.(i)
The scheduling strategies mentioned above have relied on the connections between requests and VMs. However, they do not consider the actual state of the physical nodes, which might cause the outcomes to fall short. Therefore, it is another additional consideration in scheduling virtual machines on physical nodes.(ii)
That is to say, effective VM scheduling is to be provided based on the real workloads running on them, however, most literary works did not consider the real workloads.(iii)
These studies did not adequately account for the effective balance of supply and demand between users and cloud providers since they either focused on load balancing, migration costs over specific time frames, or energy efficiency. On the other hand, most prevailing scheduling algorithms enrich the execution time and resource utilization while implementing VM scheduling.(iv)
To deal with and provide efficient IaaS services in the cloud, the prevailing works carry out VM scheduling and VM allocation independently. Hence, in a cloud platform, it is indispensable to construct an optimal plan for VM scheduling and VM allocation that plays a crucial part in enhancing resource utilization [27].(v)
Most traditional approaches considered single objectives to implement to cope with VM scheduling and allocation in the cloud environment.To address the above-mentioned issues, new multiobjective optimization algorithms are to be developed by considering load balance, resource utilization, effective time management, and SLA violations in this research.


## 3. Proposed Methodology

To implement VM scheduling and allocation as a co-optimization procedure, a new optimization algorithm, such as ESSOA and BMGSA, is proposed in this paper. At first, utilizing an ESSOA execution cost is considered the critical objective of the VM scheduling. The tasks of the users are assigned to an appropriate efficient VM by considering energy, meantime, SLA Violation and the optimal chosen VMs are positioned to the suitable PMs by considering the suitable policies. Figure2 shows the proposed research model’s architecture. The fundamental definitions for the proposed model are as follows: the set of user tasks to be assigned in VMs is represented in the following:(1)Ti=T1,T2,…,TQ,where the total count of tasks is Q. Every task is explicated as Ti (Zi, Di, Si), where (Zi, Di, and Si) signify the task size gauged by millions of instructions (MI), task deadline, and start time of a task Ti. The set of VMs for scheduling is determined from the following:(2)VMj=VM1,VM2,…,VMM,where the total number of VMs is denoted as M. Every VMj is explicated as VMjpsj,Pvmj, in which psj is the VM processing capacity, articulated as million instructions per second (MIPS), which is put as M through ∑j=1Mpsj≤Cphk.The amount of payment used for utilizing a VMj per hour is indicated by Pvmj . Cphk denotes the capacity of the physical machine k. The set of PMs for VM scheduling is given as follows:(3)PMj=PM1,PM2,…,PMN,where the total number of PMs is signified by N. Each PMk is described as PMj(psk), where the processing capacity of the PM is symbolized as psk, which is stated regarding MIPS.Figure 2
Proposed architecture.


### 3.1. Virtual Machine Scheduling

By employing the enhanced shark smell optimization algorithm (ESSOA), the VM scheduling of the proposed methodology is performed. A population-centered technique that commences with a random population is called SSOA. Imitating and simulating the shark’s technique in discovering the target is the central notion of SSOA. The hunting methodology in sharks is centered on their smelling sense of competency. Accomplishing the global value of the optimization problem is the main aim of the work. In traditional SSOA, the local search carried out by an algorithm has drawbacks, such as the overflow of the search area and the disruption of random flights, because of its huge searching steps. A bidirectional search (BS) is integrated into SSOA, termed enhanced SSOA (ESSOA), which is proposed to overcome these disadvantages and enrich the local searching capability of SSOA for optimization problems. It aids in implementing the local search in the forward and backward directions. Whilst choosing the direction, greedy selection is made. If the solution ameliorates whilst traversing backwards, then backward traverse is adapted. This enhancement accelerates SSOA’s convergence rate. Because of the VM’s execution cost, the objective function of SSOA is calculated. The execution costEij of Ti is outlined as the multiplication of the price of VMj along with the CT of Ti, which is given by the following:(4)Eij=Pvmj∗Cij3600,where the price of VMj is symbolized by Pvmj, and the completion time of executing a task is Ti on VMj is Cij. Cij can be executed if the completion time Cij is within the deadline. Otherwise, Cij cannot be executed. The time that VM consumes to carry out the task is called the execution time. Waiting time is the time difference between the start and end time of the VM. Therefore, the completion time that VMj will take to perform VMi can be computed as follows:(5)Cij=Si+ETij,where the starting time of VMi is SI, and the time of carrying out Ti on VMj at a provided time t is ETij. Centered on “2” metrics, namely the task size STi (number of instructions that Ti will require to implement on VMj) and the processing speed of VMs psj, the ETij of the task is computed, which is calculated as follows:(6)ETij=STipsj,where,(7)psj=NPj∗Mj,where the number of processors in VMj is depicted by Npj, and Mj is the MIPS of each processor in VMj. The constraints regarded for VMS in SSOA are mentioned below. A task should be allocated to a VM, i.e.,(8)∑j=1MTViji=1,∀iɛ1,2,…,Q,where i & j are the indexes of the task and VM, and TVijt is a binary value signifying whether Ti it is designated VMj at a given time t. It must guarantee that every task is completed before its deadline, i.e.,(9)Cij≤Di,∀iɛ1,2,…,Q,where the deadline of task Ti is given by Di, and Cij is the CT of executing a task Ti on VMj. The need for resources for all tasks hosted on VM should not go beyond the VM resource’s utmost capacity, i.e.,(10)∑i−1QTCi∗TVij≤VCj,∀iɛ1,2,…,M,∑i−1QTMi∗TVij≤VMj,∀iɛ1,2,…,M,∑i−1QTNi∗TVij≤VNj,∀iɛ1,2,…,M,where CPU, memory, and bandwidth demands Ti are TCi, TMi, and TNi, respectively. CPU, memory, and bandwidth capacities VMj are VCj, VMj, and VNj, respectively. On any given available VM, every task is permitted to be processed, such that they fulfill the requirements of tasks, and every task must be finished without interruption once begun (nonpreemptable). Thus, the task will stay in the queue until the primary task has finished its implementation if more than one task comes simultaneously.VMj and Ti are the input parameters of SSOA. Every individual of SSOA signifies a VM, and along with the computation of the VM is the execution cost. Therefore, the individual’s dimension is equivalent to the number of VMs. A VM(VMj) is randomly initialized when task i requires to be processed. SSOA encompasses a population of the size j of odor particles or VMs (Ops), where each Op has a dimension d. Position (pjg,1 ≤ j ≤ M) and velocity (vjg, 1 ≤j ≤ M) are the two components in each Op. The term indicates the stage number g(1 ≤ g≤gmax). The position vectors for the 1st stage of the population Op are given in (11), and the components of the jth position vector in each dimension are expressed in (12).(11)P11,P21,P31,…,PM1,(12)Pi=Pj,11,Pj,21,Pj,31,…,Pj,M1,1≤j≤M.The velocity of theOp corresponding to the position vector is given in (13), and the components of the jth position vector in every dimension are symbolized in (14).(13)V11,V21,…,VM1,(14)Vi=Vj,11,Vj,21,…,Vj,M1,1≤j≤M.EachOp is gauged by a fitness (F) function to judge the solution’s quality to the issue. The fitness function for the VM scheduling process is calculated by the following:(15)Fi=Pvmj∗Cij,where the price of VMj is denoted by Pvmj, and the completion time that VMj will take to carry out Ti is indicated by Cij. From the initialized population, the individuals that have the least fitness values as the best individuals are chosen. An SSOA follows the forward and rotational movements to attain optimal global solutions. The search ensures in several stages (g), in which both movements are executed. The shark’s velocity in the gth stage is updated in forwarding movement utilizing the following: (16)vjg=ηgr1∇F|Pjg+λgr2Vjg−1,where the gradient of the fitness function is depicted by ∇F. A constant gradient value is indicated by ηg, and r1 and r2 are random numbers with uniform distribution [0, 1]. The inertia constant for the stage g is λg ∈ (0, 1)g, which restricts the shark’s current velocity, such that it does not exceed a definite limit of its earlier velocity. The velocity’s upper bound is articulated in the following equation:(17)vj,hg=minλg⋅r1αFαphpi,jg+λg⋅r2⋅vj,hg−1,ψg⋅vj,hg−1,j=1,…,h=1,…,Nd,g=1,…,G,where the current stage velocity’s upper bound is given by ψg. The number of positions, dimensions, and stages is denoted by the terms M, Nd, and G. Then, utilizing (18), the new position in the gth stage is ascertained as follows:(18)Rjg+1=pjg+vjg∗Δtg,where the time duration for the gth stage is signified by Δtg, and for all stages, it is assumed to be 1. Then, the rotational movement is implemented as given below. Also, the local shark search can be devised as follows:(19)Sjg+1,u=Rjg+1+r3Rjg+1,where r3 is the random number, and the number of points for a local search is denoted by u = 1,....,U. At this point, with the aid of BS, the local search is carried out, which is computed as follows:(20)BS=ifFiRjg+1+sl<FiRjg+1⟶Rjg+1=pjg+sl,elseifFiRjg+1−sl<FiRjg+1⟶Rjg+1=pjg−sl,otherwise⟶no change in the present position.The current position of sharks, objective fitness function value, and step length are symbolized byRjg+1, FRjg+1, and sl, respectively. The one with the lower cost is chosen to be the next destination among the points searched on a global and local scale. The final OP is updated as follows:(21)pjg+1=argminFRjg+1,FSjg+1,1,…,FSjg+1,U.As mentioned before, the movement kinds are iteratively repeated, unless a termination criterion is achieved. Algorithm 1 depicts the proposed ESSOA.Algorithm 1: ESSOA for optimal VM scheduling.
Input: set of VM lists, VMjOutput: optimally selected VMs for VM Scheduling(1)
Start(2)
Initialize the population of the algorithm asp11,p21,…,pM1 and set other parameters(3)
Compute the F of all individuals,Fi=Pvmj∗Cij(4)
Initialize the stage counterz=1(5)
forz=1:zmax//Perform the forward movement(6)
Compute each component of the velocity vector,vjg(7)
Obtain the new position of shark,Rjg+1=pjg+vjg∗Δtg//Perform the rotational movement(8)
Obtain the position of the shark with the help of BS,Sjg+1,u=Rjg+1+r3Rjg+1(9)
Select the next position of the shark based on the forward and rational movements,pjg+1(10)
end forZ(11)
SetZ = Z + 1(12)
Select the best position for shark in the last stage, which has the minimum fitness value(13)
End


### 3.2. VM Allocation

By utilizing BMGSA, the VMA on the suited PMs is performed after VMS. In GSA, the bodies in the universe are expressed by agents. GSA sometimes fails to discover global optimum and is effortlessly trapped into local optima because of the deficiency of a pre-eminent balance between exploration and exploitation. A Brownian movement (BM)-centered GSA called BMGSA is proposed to conquer the premature issue and ameliorate the local searching capability of GSA. Employing the BM, a modified search equation with more helpful information from the search experiences is established in the proposed algorithm to yield a candidate solution wielded to evade trapping into local optima. Three metrics, namely the energy consumption of PM, SLAV of PM, and meantime of PM before its shutdown, are considered for BMGSA’s objective for VMA. The metrics for VMA are computed as follows:Energy consumption: while they are idle, the servers consume enormous power. It is given by the following:(22)fe=∑j=1MPMkpm−PMkpm×PMruk+PMkpm×Wk,where the PM’s total power consumption is given by fe, whilst PMkpmin=PMkpmax×0.6 describes the minimum power consumption of PMk. The utilization ratio of resources employed by PMk at instant t is symbolized by PMruk, while Wk∈0,1 is equivalent to 1 if PMk is turned on. Otherwise, Wk=0.SLAV: cloud computing attempts to fulfill the quality of service (QoS) needs, which are modeled in the SLAV form to augment the response time or minimize the throughput. As stated in the subsequent equations, SLAV can be engendered by a host.(23)fSLAV=A×B,where the average ratio of the period is symbolized by A if the host experiences CPU usage of 100%. It is stated as follows:(24)A=1N∑k=1NGkEk,where the active time of kth host is Ek, and the total time when the kth host experiences 100% SLAV utilization is depicted by Gk. Furthermore, the term illustrates the degradation in the performance because of VM’s migration B. It is described as follows:(25)B=1M∑j=1MCRjCPj,where the total CPU utilization required by VMj is indicated by CPj, and the degraded performance that arises as of VM migration is indicated by CRj.Mean time before a host shutdown (MTBHS):This time is gauged in seconds along with the average and is computed as follows:(26)fMTj=1N∑k=1NSdk,where Sdk signifies the host shutdown time. The limitations considered for VMA in the proposed model are as follows:(27)∑k=1NAjk≤1,∀j∈1,…,M,(28)∑k=1NVMcpuj×Ajk≤PMcpuk,(29)∑k=1NVMramj×Ajk≤PMramk,(30)∑k=1NVMhdj×PMjk≤PMhdk,where Ajk = 0 unless the VMj allocates on PMk. VMj should be performed on a single PMk when SLAVk is the least priority in constraint (27). The current physical machine (PMk) must have adequate resources to work correctly and serve all its VMs at an instant t in constraints (28)–(30). The following steps explain the above metrics and constraints that are utilized in the VMA model.Step 1: by the following equation (31), randomly generate the initial population of individuals in the search space.(31)Qk=qk1,qk2,qk3,…,qkd,…,qkDt,k∈1,2,3,…,N,(32)qkdt=0∼Uqmind,qmaxd,where the position of thekth individual in the dth dimension is denoted by qkd, and the number of dimensions is depicted by D. qmind,qmaxd symbolizes the search space’s boundary for d. The velocities are initialized to zero.(33)Zkt=0=0.Step 2: appraise the individual’s fitness by the subsequent equation:(34)F=fe,fSLAV,fMTj,wherefe indicates energy consumption, SLAV, and fMT meantime value of the PMs is computed as follows:Step 3: the best and worst fitness through the population at the timet is recognized after examining the entire population’s fitness. The Best (Bt) and Worst (Wt) in minimization problems are as follows:(35)Wt=maxf1t,f2t,…,fkt,…,fNt,Bt=maxf1t,f2t,…,fkt,…,fNt,where the size of the population is articulated byN.Step 4: the population’s update phase follows the recognition of (Bt) and Worst(Wt). The masses of the agents are the 1st phases that are to be updated. As per its fitness fkt, the mass of agent k, Mkt, is mapped as follows:(36)Mkt=mkt∑j=1nmjt,mit=fkt−WtBt−Wt.Step 5: after that, the force acting on every agent is updated. The gravitational force acting on agentk engendered by an agent j in the dth dimension Wkjdt is computed utilizing agent j’s mass, Mjt, and agent k’s mass, Mkt .(37)Wkjdt=gtMkt⋅MjtEkjt+ϵqjdt−1−qkdt−1,where the Euclidean distance betwixt agentk and j is delineated by Ekjt. The term ϵ is a lesser constant that is appended to the divisor to evade division by zero when the agents are overlapping one another, and the gravitational constant at a time t is gt, which is computed as follows:(38)gt=g0×e−Φt/It,where the gravitational constant at the commencement of the search isg0, and Φ is another constant. The total number of iterations is It.Step 6: the total force acting on the agenti in dimension d is given by the following:(39)Wkdt=∑j=1,j≠1nrdjd⋅Wkjdt,where a random number in the interval [0, 1] isrd. The Brownian movement (BM) is applied to the random sequences to get a BM value rather than selecting random numbers in the range of [0, 1].(40)BM=h∗rand∗Lp,h=TG,G=100∗T,Lp=1h2πexp−D−agents22h2,where the motion period in the seconds of sharks is indicated byT. The number of sudden motions for the similar agent in proportion to time is given by G. The search space dimension is denoted by D. The agents in GSA move subjected to Newton’s law of motion. The acceleration of agent k overdimension d of ℑkdt can be computed utilizing (41) as per Newton’s law.(41)ℑkdt=fkdtMkt.Step 7: with the aid of equation (42), the agent’s velocities along with positions are then updated.(42)Zkdt=rdkd×Zkdt−1+Jkdt,(43)qkdt=qkdt−1+Zkdt.The above steps are repeated to the highest iteration till it meets the stopping condition. Finally, algorithm-2 portrays the pseudocode for the proposed VMA.Algorithm 2: BMGSA for optimal VM allocation.
Input: set of PMs, PMkOutput: optimally selected PMs for VM(1)
Start(2)
fork = 1 to N(3)
ford = 1 to D(4)
InitializeQk=qk1,qk2,qk3,…,qkd,…,qkDt(5)
Initialize velocity,Zkt=0(6)
nextd(7)
Compute the fitness of each agent,F=fe,fSLAV,fMTj(8)
nextk(9)
end for(10)
fort = 1 to N(11)
Select the best agent and worst agent,Bt and Wt(12)
Update mass of each agent, mti(13)
Update force acting on each agent,Wkjdt(14)
Updategt=g0×e−Φt/It(15)
Compute total force acting on an agent by Brownian Movement sequence,Wkdt(16)
end for(17)
end for(18)
fork = 1 to N(19)
ford = 1 to D(20)
Compute acceleration,ℑkdt(21)
Update the position,qkdt(22)
Update the velocity,Zkdt(23)
next(24)
Compute the fitness value of the next agent(25)
next(26)
next(27)
end for(28)
end for(29)
endComplexity analysis: a function that links the input problem’s size to the algorithm’s run-time may be used to define the computing complexity of an algorithm. To illustrate the computing complexity of the time usage of the suggested ESSOA and BMGSA, Big-O notation is used here as a known expression. The number of sharks/positions(n), the dimensions(d) of the presented problem, the number of iterations(z), and the cost of the function assessment have a role in the time complexity issue (c). The time complexity may be expressed in the following way:(44)OESSOA+BMGSA=OProblemDef+Oinitialization+OSolUpdate,where the following definitions apply to the time complexity of the elements in (44).(1)
The issue definition initialization takesO(1) time.(2)
Population generation initialization takesO(n X d) time.(3)
The cost function assessment takesO(Z X c X n) time.(4)
Evaluating the updated solution requiresO(Z X n X d) time.Thus, the following is an expression of the overall time complexity of ESSOA and BMGSA.(45)OESSOA+BMGSA=2O1+nd+Zcn+Znd.As was previously mentioned, the time complexity problem for ESSOA and BMGSA is polynomial in order. The suggested ESSOA and BMGSA may thus be regarded as computationally efficient optimization techniques. Briefly, it can be shown from (45) how the primary variables affect and how difficult it will be for ESSOA and BMGSA to solve an optimization problem computationally. Since we apply at two levels, constant 2 is taken into account.Space complexity: the factors of the number of searches and the size of the issue determine how much memory space is required by ESSOA and BMGSA. It shows how much space was needed for the beginning of the planned ESSOA and BMGSA. For this, (46) may be used to express the space complexity of ESSOA and BMGSA.(46)2Ond.


## 3.1. Virtual Machine Scheduling

By employing the enhanced shark smell optimization algorithm (ESSOA), the VM scheduling of the proposed methodology is performed. A population-centered technique that commences with a random population is called SSOA. Imitating and simulating the shark’s technique in discovering the target is the central notion of SSOA. The hunting methodology in sharks is centered on their smelling sense of competency. Accomplishing the global value of the optimization problem is the main aim of the work. In traditional SSOA, the local search carried out by an algorithm has drawbacks, such as the overflow of the search area and the disruption of random flights, because of its huge searching steps. A bidirectional search (BS) is integrated into SSOA, termed enhanced SSOA (ESSOA), which is proposed to overcome these disadvantages and enrich the local searching capability of SSOA for optimization problems. It aids in implementing the local search in the forward and backward directions. Whilst choosing the direction, greedy selection is made. If the solution ameliorates whilst traversing backwards, then backward traverse is adapted. This enhancement accelerates SSOA’s convergence rate. Because of the VM’s execution cost, the objective function of SSOA is calculated. The execution costEij of Ti is outlined as the multiplication of the price of VMj along with the CT of Ti, which is given by the following:(4)Eij=Pvmj∗Cij3600,where the price of VMj is symbolized by Pvmj, and the completion time of executing a task is Ti on VMj is Cij. Cij can be executed if the completion time Cij is within the deadline. Otherwise, Cij cannot be executed. The time that VM consumes to carry out the task is called the execution time. Waiting time is the time difference between the start and end time of the VM. Therefore, the completion time that VMj will take to perform VMi can be computed as follows:(5)Cij=Si+ETij,where the starting time of VMi is SI, and the time of carrying out Ti on VMj at a provided time t is ETij. Centered on “2” metrics, namely the task size STi (number of instructions that Ti will require to implement on VMj) and the processing speed of VMs psj, the ETij of the task is computed, which is calculated as follows:(6)ETij=STipsj,where,(7)psj=NPj∗Mj,where the number of processors in VMj is depicted by Npj, and Mj is the MIPS of each processor in VMj. The constraints regarded for VMS in SSOA are mentioned below. A task should be allocated to a VM, i.e.,(8)∑j=1MTViji=1,∀iɛ1,2,…,Q,where i & j are the indexes of the task and VM, and TVijt is a binary value signifying whether Ti it is designated VMj at a given time t. It must guarantee that every task is completed before its deadline, i.e.,(9)Cij≤Di,∀iɛ1,2,…,Q,where the deadline of task Ti is given by Di, and Cij is the CT of executing a task Ti on VMj. The need for resources for all tasks hosted on VM should not go beyond the VM resource’s utmost capacity, i.e.,(10)∑i−1QTCi∗TVij≤VCj,∀iɛ1,2,…,M,∑i−1QTMi∗TVij≤VMj,∀iɛ1,2,…,M,∑i−1QTNi∗TVij≤VNj,∀iɛ1,2,…,M,where CPU, memory, and bandwidth demands Ti are TCi, TMi, and TNi, respectively. CPU, memory, and bandwidth capacities VMj are VCj, VMj, and VNj, respectively. On any given available VM, every task is permitted to be processed, such that they fulfill the requirements of tasks, and every task must be finished without interruption once begun (nonpreemptable). Thus, the task will stay in the queue until the primary task has finished its implementation if more than one task comes simultaneously.VMj and Ti are the input parameters of SSOA. Every individual of SSOA signifies a VM, and along with the computation of the VM is the execution cost. Therefore, the individual’s dimension is equivalent to the number of VMs. A VM(VMj) is randomly initialized when task i requires to be processed. SSOA encompasses a population of the size j of odor particles or VMs (Ops), where each Op has a dimension d. Position (pjg,1 ≤ j ≤ M) and velocity (vjg, 1 ≤j ≤ M) are the two components in each Op. The term indicates the stage number g(1 ≤ g≤gmax). The position vectors for the 1st stage of the population Op are given in (11), and the components of the jth position vector in each dimension are expressed in (12).(11)P11,P21,P31,…,PM1,(12)Pi=Pj,11,Pj,21,Pj,31,…,Pj,M1,1≤j≤M.The velocity of theOp corresponding to the position vector is given in (13), and the components of the jth position vector in every dimension are symbolized in (14).(13)V11,V21,…,VM1,(14)Vi=Vj,11,Vj,21,…,Vj,M1,1≤j≤M.EachOp is gauged by a fitness (F) function to judge the solution’s quality to the issue. The fitness function for the VM scheduling process is calculated by the following:(15)Fi=Pvmj∗Cij,where the price of VMj is denoted by Pvmj, and the completion time that VMj will take to carry out Ti is indicated by Cij. From the initialized population, the individuals that have the least fitness values as the best individuals are chosen. An SSOA follows the forward and rotational movements to attain optimal global solutions. The search ensures in several stages (g), in which both movements are executed. The shark’s velocity in the gth stage is updated in forwarding movement utilizing the following: (16)vjg=ηgr1∇F|Pjg+λgr2Vjg−1,where the gradient of the fitness function is depicted by ∇F. A constant gradient value is indicated by ηg, and r1 and r2 are random numbers with uniform distribution [0, 1]. The inertia constant for the stage g is λg ∈ (0, 1)g, which restricts the shark’s current velocity, such that it does not exceed a definite limit of its earlier velocity. The velocity’s upper bound is articulated in the following equation:(17)vj,hg=minλg⋅r1αFαphpi,jg+λg⋅r2⋅vj,hg−1,ψg⋅vj,hg−1,j=1,…,h=1,…,Nd,g=1,…,G,where the current stage velocity’s upper bound is given by ψg. The number of positions, dimensions, and stages is denoted by the terms M, Nd, and G. Then, utilizing (18), the new position in the gth stage is ascertained as follows:(18)Rjg+1=pjg+vjg∗Δtg,where the time duration for the gth stage is signified by Δtg, and for all stages, it is assumed to be 1. Then, the rotational movement is implemented as given below. Also, the local shark search can be devised as follows:(19)Sjg+1,u=Rjg+1+r3Rjg+1,where r3 is the random number, and the number of points for a local search is denoted by u = 1,....,U. At this point, with the aid of BS, the local search is carried out, which is computed as follows:(20)BS=ifFiRjg+1+sl<FiRjg+1⟶Rjg+1=pjg+sl,elseifFiRjg+1−sl<FiRjg+1⟶Rjg+1=pjg−sl,otherwise⟶no change in the present position.The current position of sharks, objective fitness function value, and step length are symbolized byRjg+1, FRjg+1, and sl, respectively. The one with the lower cost is chosen to be the next destination among the points searched on a global and local scale. The final OP is updated as follows:(21)pjg+1=argminFRjg+1,FSjg+1,1,…,FSjg+1,U.As mentioned before, the movement kinds are iteratively repeated, unless a termination criterion is achieved. Algorithm 1 depicts the proposed ESSOA.Algorithm 1: ESSOA for optimal VM scheduling.
Input: set of VM lists, VMjOutput: optimally selected VMs for VM Scheduling(1)
Start(2)
Initialize the population of the algorithm asp11,p21,…,pM1 and set other parameters(3)
Compute the F of all individuals,Fi=Pvmj∗Cij(4)
Initialize the stage counterz=1(5)
forz=1:zmax//Perform the forward movement(6)
Compute each component of the velocity vector,vjg(7)
Obtain the new position of shark,Rjg+1=pjg+vjg∗Δtg//Perform the rotational movement(8)
Obtain the position of the shark with the help of BS,Sjg+1,u=Rjg+1+r3Rjg+1(9)
Select the next position of the shark based on the forward and rational movements,pjg+1(10)
end forZ(11)
SetZ = Z + 1(12)
Select the best position for shark in the last stage, which has the minimum fitness value(13)
End


## 3.2. VM Allocation

By utilizing BMGSA, the VMA on the suited PMs is performed after VMS. In GSA, the bodies in the universe are expressed by agents. GSA sometimes fails to discover global optimum and is effortlessly trapped into local optima because of the deficiency of a pre-eminent balance between exploration and exploitation. A Brownian movement (BM)-centered GSA called BMGSA is proposed to conquer the premature issue and ameliorate the local searching capability of GSA. Employing the BM, a modified search equation with more helpful information from the search experiences is established in the proposed algorithm to yield a candidate solution wielded to evade trapping into local optima. Three metrics, namely the energy consumption of PM, SLAV of PM, and meantime of PM before its shutdown, are considered for BMGSA’s objective for VMA. The metrics for VMA are computed as follows:Energy consumption: while they are idle, the servers consume enormous power. It is given by the following:(22)fe=∑j=1MPMkpm−PMkpm×PMruk+PMkpm×Wk,where the PM’s total power consumption is given by fe, whilst PMkpmin=PMkpmax×0.6 describes the minimum power consumption of PMk. The utilization ratio of resources employed by PMk at instant t is symbolized by PMruk, while Wk∈0,1 is equivalent to 1 if PMk is turned on. Otherwise, Wk=0.SLAV: cloud computing attempts to fulfill the quality of service (QoS) needs, which are modeled in the SLAV form to augment the response time or minimize the throughput. As stated in the subsequent equations, SLAV can be engendered by a host.(23)fSLAV=A×B,where the average ratio of the period is symbolized by A if the host experiences CPU usage of 100%. It is stated as follows:(24)A=1N∑k=1NGkEk,where the active time of kth host is Ek, and the total time when the kth host experiences 100% SLAV utilization is depicted by Gk. Furthermore, the term illustrates the degradation in the performance because of VM’s migration B. It is described as follows:(25)B=1M∑j=1MCRjCPj,where the total CPU utilization required by VMj is indicated by CPj, and the degraded performance that arises as of VM migration is indicated by CRj.Mean time before a host shutdown (MTBHS):This time is gauged in seconds along with the average and is computed as follows:(26)fMTj=1N∑k=1NSdk,where Sdk signifies the host shutdown time. The limitations considered for VMA in the proposed model are as follows:(27)∑k=1NAjk≤1,∀j∈1,…,M,(28)∑k=1NVMcpuj×Ajk≤PMcpuk,(29)∑k=1NVMramj×Ajk≤PMramk,(30)∑k=1NVMhdj×PMjk≤PMhdk,where Ajk = 0 unless the VMj allocates on PMk. VMj should be performed on a single PMk when SLAVk is the least priority in constraint (27). The current physical machine (PMk) must have adequate resources to work correctly and serve all its VMs at an instant t in constraints (28)–(30). The following steps explain the above metrics and constraints that are utilized in the VMA model.Step 1: by the following equation (31), randomly generate the initial population of individuals in the search space.(31)Qk=qk1,qk2,qk3,…,qkd,…,qkDt,k∈1,2,3,…,N,(32)qkdt=0∼Uqmind,qmaxd,where the position of thekth individual in the dth dimension is denoted by qkd, and the number of dimensions is depicted by D. qmind,qmaxd symbolizes the search space’s boundary for d. The velocities are initialized to zero.(33)Zkt=0=0.Step 2: appraise the individual’s fitness by the subsequent equation:(34)F=fe,fSLAV,fMTj,wherefe indicates energy consumption, SLAV, and fMT meantime value of the PMs is computed as follows:Step 3: the best and worst fitness through the population at the timet is recognized after examining the entire population’s fitness. The Best (Bt) and Worst (Wt) in minimization problems are as follows:(35)Wt=maxf1t,f2t,…,fkt,…,fNt,Bt=maxf1t,f2t,…,fkt,…,fNt,where the size of the population is articulated byN.Step 4: the population’s update phase follows the recognition of (Bt) and Worst(Wt). The masses of the agents are the 1st phases that are to be updated. As per its fitness fkt, the mass of agent k, Mkt, is mapped as follows:(36)Mkt=mkt∑j=1nmjt,mit=fkt−WtBt−Wt.Step 5: after that, the force acting on every agent is updated. The gravitational force acting on agentk engendered by an agent j in the dth dimension Wkjdt is computed utilizing agent j’s mass, Mjt, and agent k’s mass, Mkt .(37)Wkjdt=gtMkt⋅MjtEkjt+ϵqjdt−1−qkdt−1,where the Euclidean distance betwixt agentk and j is delineated by Ekjt. The term ϵ is a lesser constant that is appended to the divisor to evade division by zero when the agents are overlapping one another, and the gravitational constant at a time t is gt, which is computed as follows:(38)gt=g0×e−Φt/It,where the gravitational constant at the commencement of the search isg0, and Φ is another constant. The total number of iterations is It.Step 6: the total force acting on the agenti in dimension d is given by the following:(39)Wkdt=∑j=1,j≠1nrdjd⋅Wkjdt,where a random number in the interval [0, 1] isrd. The Brownian movement (BM) is applied to the random sequences to get a BM value rather than selecting random numbers in the range of [0, 1].(40)BM=h∗rand∗Lp,h=TG,G=100∗T,Lp=1h2πexp−D−agents22h2,where the motion period in the seconds of sharks is indicated byT. The number of sudden motions for the similar agent in proportion to time is given by G. The search space dimension is denoted by D. The agents in GSA move subjected to Newton’s law of motion. The acceleration of agent k overdimension d of ℑkdt can be computed utilizing (41) as per Newton’s law.(41)ℑkdt=fkdtMkt.Step 7: with the aid of equation (42), the agent’s velocities along with positions are then updated.(42)Zkdt=rdkd×Zkdt−1+Jkdt,(43)qkdt=qkdt−1+Zkdt.The above steps are repeated to the highest iteration till it meets the stopping condition. Finally, algorithm-2 portrays the pseudocode for the proposed VMA.Algorithm 2: BMGSA for optimal VM allocation.
Input: set of PMs, PMkOutput: optimally selected PMs for VM(1)
Start(2)
fork = 1 to N(3)
ford = 1 to D(4)
InitializeQk=qk1,qk2,qk3,…,qkd,…,qkDt(5)
Initialize velocity,Zkt=0(6)
nextd(7)
Compute the fitness of each agent,F=fe,fSLAV,fMTj(8)
nextk(9)
end for(10)
fort = 1 to N(11)
Select the best agent and worst agent,Bt and Wt(12)
Update mass of each agent, mti(13)
Update force acting on each agent,Wkjdt(14)
Updategt=g0×e−Φt/It(15)
Compute total force acting on an agent by Brownian Movement sequence,Wkdt(16)
end for(17)
end for(18)
fork = 1 to N(19)
ford = 1 to D(20)
Compute acceleration,ℑkdt(21)
Update the position,qkdt(22)
Update the velocity,Zkdt(23)
next(24)
Compute the fitness value of the next agent(25)
next(26)
next(27)
end for(28)
end for(29)
endComplexity analysis: a function that links the input problem’s size to the algorithm’s run-time may be used to define the computing complexity of an algorithm. To illustrate the computing complexity of the time usage of the suggested ESSOA and BMGSA, Big-O notation is used here as a known expression. The number of sharks/positions(n), the dimensions(d) of the presented problem, the number of iterations(z), and the cost of the function assessment have a role in the time complexity issue (c). The time complexity may be expressed in the following way:(44)OESSOA+BMGSA=OProblemDef+Oinitialization+OSolUpdate,where the following definitions apply to the time complexity of the elements in (44).(1)
The issue definition initialization takesO(1) time.(2)
Population generation initialization takesO(n X d) time.(3)
The cost function assessment takesO(Z X c X n) time.(4)
Evaluating the updated solution requiresO(Z X n X d) time.Thus, the following is an expression of the overall time complexity of ESSOA and BMGSA.(45)OESSOA+BMGSA=2O1+nd+Zcn+Znd.As was previously mentioned, the time complexity problem for ESSOA and BMGSA is polynomial in order. The suggested ESSOA and BMGSA may thus be regarded as computationally efficient optimization techniques. Briefly, it can be shown from (45) how the primary variables affect and how difficult it will be for ESSOA and BMGSA to solve an optimization problem computationally. Since we apply at two levels, constant 2 is taken into account.Space complexity: the factors of the number of searches and the size of the issue determine how much memory space is required by ESSOA and BMGSA. It shows how much space was needed for the beginning of the planned ESSOA and BMGSA. For this, (46) may be used to express the space complexity of ESSOA and BMGSA.(46)2Ond.


## 4. Results and Discussion

The proposed model’s outcomes are discussed and compared with the prevailing models regarding in respect of four metrics: execution time, makespan, degree of imbalance (DOI), and resource utilization (RU) of PMs. The working platform of JAVA-based CloudSim has been used in the proposed model for the simulation. The prevailing models, such as genetic algorithm (GA), particle swarm optimization (PSO) algorithm, shark smell optimization algorithm (SSOA), and gravitation search algorithm (GSA) are considered for comparison. Google Cluster and PlanetLab workloads are the two diverse workloads contemplated for execution. Table1 shows the different real workload traces with Resources.Table 1
Different real workload traces with Resources.
WorkloadSizeDynamic VM dataCPUMemoryDiskPlanetLab1000 VMsYesNoNoGoogle cluster12000 PMsYesYesYesIn our experiments, we have compared the proposed algorithm with the existing approaches using the tools, test configuration parameters, and methodology outlined in Tables1–3. Although this approach also allowed us to work on different workload characteristics, it led to the explosion of different test results, as shown in Figures 3–6.Table 2
Overview of the parameters considered for conducted experiments.
ParametersTest casesWorkload(i) PlanetLab(ii) Google clusterCPU load of VMs(i) Constant 10% of the requested capacity(ii) Constant 50% of the requested capacity(iii) Constant 100% of the requested capacityVM size(i) Smaller than in the baseline configuration(ii) According to the baseline configuration(iii) Bigger than in the baseline configurationPM power characteristics(i) All PMs have the same power characteristics(ii) Multiple different power characteristics(iii) Power characteristics with a slight slope(iv) Power characteristics with a large slopeHost overload detection(i) Static threshold(ii) Local regressionTable 3
Configuration and simulation parameters on cloud sim.
ConfigurationsValueNumber of data center10Number of processing elements1Speed of processing element10000 MIPSMemory2048 MBVirtual machine monitorXenTotal number of tasks/cloudlets100 to 500Length of tasks500–10000 million instructionCost of per storage0.001 $Cost of communication0.001$Cost of execution1.0 $Cost of memory0.05$Figure 3
Makespan of the proposed and existing algorithms. (a) Makespan using Google Cluster and (b) makespan using PlanetLab.
(a)(b)Figure 4
Execution cost of the proposed and existing techniques. (a) Execution cost using Google Cluster and (b) execution cost using PlanetLab.
(a)(b)Figure 5
DOI of the proposed and existing techniques. (a) DOI using Google Cluster and (b) DOI using PlanetLab.
(a)(b)Figure 6
Resource utilization of the proposed and existing techniques. (a) Resource utilization using Google Cluster and (b) resource utilization using PlanetLab.
(a)(b)The makespan’s outcomes in the Google cluster and PlanetLab workloads for algorithms like ESSOA, SSOA, GA, and PSO are displayed in Figures3(a) and 3(b). By varying the tasks from 100 to 500, the makespan for both workloads is assessed. The algorithm’s makespan increases if the task counts increase. However, when analyzed with the prevailing algorithms, the proposed approach attained a very low makespan for both workloads. For 100 tasks, the proposed approach acquires the makespan of 8.32, while the prevailing SSOA, GA, and PSO attained the makespan of 12.21, 20.102, and 22.58, which are higher than ESSOA in Google Cluster workload. Similarly, the proposed approach acquires the lowest values of makespan as compared to the outcomes for the rest of the tasks of Google Cluster. Results are also well relatable to PlanetLab workload.Figure4 exhibits the execution cost’s outcomes for algorithms in the Google Cluster and PlanetLab workloads for ESSOA, SSOA, GA, and PSO. When compared with others in both workloads, the outcomes show that the execution time accomplished by the proposed model is lower, implying that the proposed approach yields improvement in performance concerning lowering the VM scheduling cost. The task’s execution cost augments over the escalating number of tasks. For the task counts like 100, 200, 300, 400, and 500, the proposed approach obtains the execution cost of 10.25, 19.63, 29.36, 36.98, and 48.25 for Google workload, which is lesser than SSOA, GA, and PSO. On the whole, extremely poor performance is acquired by PSO and the average performance is attained by GA. The ESSOA and SSOA attain excellent outcomes. However, when scrutinizing the whole performance for both workloads, the proposed algorithm outperformed others by their optimal process.Figure5 displays the degree of imbalance outcome amongst VMs. The execution abilities delineated the amount of load distribution amongst the VMs. As a result, the system’s load is highly balanced and efficient, denoted by the minimum value of DOI. By varying the number of tasks from 100 to 500, the average degree of imbalance for the algorithms in Google Cluster and PlanetLab workloads is plotted. Regarding VMs’ load balancing, it is perceived from the outcomes that the proposed approach creates performance enhancement. When compared to the prevailing algorithms, it achieves a minimal value of degree of imbalance for the whole varying tasks in both Google Cluster and PlanetLab workloads. For tasks like 100, 200, 300, 400, and 500, the degree of imbalance of the proposed work maintains the level of 1, 1.2, 1.4, 1.6, and 1.2 for the Google Cluster workload. Depending on the incoming tasks, the system’s load may enhance or decrease. Therefore, when compared to other approaches, the proposed approach sustains a better load balance for the scheduling process.Figure6 displays the resource utilization of the proposed and existing algorithms for the proposed approach in both Google Cluster and PlanetLab workloads. This metric reveals how PMs are utilized to augment the physical hosts utilization. Comparing this to the GSA, GA, and PSO, respectively, it is observed from the figures that the proposed approach has the greater resource utilization of physical hosts. When scheduling VMs to apt Hosts, the proposed algorithm considers resource utilization metrics like energy consumption, SLAV, and meantime, whilst the prevailing algorithms merely consider the execution cost within the deadline. The Resource utilization acquired by the proposed approach is 84% and 89% for Google Cluster and PlanetLab workload, which is significant, and it outweighed the GSA, GA, and PSO. Regarding maximizing the resource utilization of PMs, the proposed approach produces performance improvement.For Google Cluster and PlanetLab workloads, results exhibit VMA algorithms that compare other metrics, such as energy consumption, SLAV, and performance degradation, because of VM migrations (PDVM). The lower values denote the algorithm’s efficacy for every metric. The proposed approach acquires an energy consumption of 112.58, which is lesser than PSO (156.98), GA (145.25), and GSA (13.58) for the Google Cluster workload. Similarly, the proposed approach offers a lower energy consumption value for PlanetLab workloads. The metrics of SLAV, along with PDVM, also offer better outcomes. It acquires lower values of SLAV and PDVM for both workloads, which indicates the efficient performance of the proposed approach for VM scheduling and allocation in the cloud data center. PSO exhibits the worst performance. GA and GSA portray a moderate performance.


## 5. Conclusions

In cloud data centers, the policy-based VM scheduling and allocation are regarded as co-optimization problems. The proposed work provides solutions by implementing ESSOA and BMGSA at two levels for VM scheduling and allocation. Firstly, the execution time of VM scheduling is optimally reserved for suitable PMs using ESSOA. Then, the chosen VMs are hosted at the second level to appropriate PMs utilizing BMGSA. A Java-based CloudSim has been used to implement the proposed work by considering real workloads, such as Google Cluster and PlanetLab, and performance metrics, such as energy consumption, meantime, SLAVs, makespan, execution cost, degree of imbalance, and resource utilization. The findings of the proposed VM scheduling and allocation algorithms are investigated against the existing algorithms, such as SSOA, GA, PSO, and GSA. Resource utilization acquired by the proposed approach is 84% and 89% for Google Cluster and PlanetLab workload. Hence, considering the significance of the policies defined through ESSOA and BMGSA, this research deduces that scheduling and allocation can be carried out more efficiently. Because of the security limitations in both scheduling and allocation, the work will be expanded in the future with the assistance of an advanced optimization framework.



---

*Source: 5889948-2022-09-24.xml*