Abstract
A distributed system with a shared resource pool offers cloud computing services. According to the provider’s policy, customers can enjoy continuous access to these resources. Every time a job is transferred to the cloud to be carried out, the environment must be appropriately planned. A sufficient number of virtual machines (VM) must be accessible on the backend to do this. As a result, the scheduling method determines how well the system functions. An intelligent scheduling algorithm distributes the jobs among all VMs to balance the overall workload. This problem falls into the category of NP-Hard problems and is regarded as a load balancing problem. With spider monkey optimization, we have implemented a fresh strategy for more dependable and efficient load balancing in cloud environments. The suggested optimization strategy aims to boost performance by choosing the least-loaded VM to distribute the workloads. The simulation results clearly show that the proposed algorithm performs better regarding load balancing, reaction time, make span and resource utilization. The experimental results outperform the available approaches.
Introduction
Cloud computing is mentioned and named when discussing resource customization with inadequate infrastructure and maintenance costs [1, 2, 3]. Cloud computing technology makes the global pool of IT (Information Technology) resources accessible. Pay-per-use policies allow clients to use these resources. Because of this, the majority of businesses move their IT infrastructure with data to the cloud to make reductions on the cost of investment and on-demand elasticity requirements [3, 4, 5, 6]. However, as more individuals use the cloud, there is a growing demand made on the resources that are accessible. As a result, improvised scheduling algorithms are now required. Scheduling techniques are needed to equilibrium the workload on Virtual Machines (VM) that results in the performance enhancement of the overall system [6, 7]. A virtual machine (VM) functions as an emulator, generally allowing the host system to utilize peripherals or run programs for the guest system. Which results in the better resource utilization and performance. Therefore, a physical server’s processing resources are virtualized and distributed among all the VMs running on it [8, 9]. According to specific academic literature, load balancing is “called as a process of allocating jobs or loads among all available devices, anticipating determined resource usage and minimum reaction time” [10]. In cloud computing, balancing the load is one of the NP-Complete issue categories [11, 12, 13]. Researchers have suggested various methods of load balancing, such as the static method, dynamic load balancing, heuristic load balancing techniques, and nature-inspired meta-heuristic load balancing techniques, to improve the implementation of dynamic requirements and the system’s performance [11, 12]. Additionally, to ensure that no machines are overburdened.
In static algorithms, it is assumed that a fixed quantity of resources and tasks have to be assigned beforehand. The number of tasks and load variations are not considered during runtime. But in a real situation, neither the number of jobs nor the number of resources are fixed. Dynamic techniques are then required in these situations for load balancing [6, 13]. A dynamic algorithm is needed to properly schedule and balance the load for virtual machines in the dynamic environment of cloud computing. To balance the load dynamically, several optimization strategies are suggested in the literature. In nearly real-time, highly efficient solutions to dynamic issues are achieved using algorithms inspired by nature. For example, meta-heuristic algorithms called optimization algorithms are used to address mathematical optimization issues [11, 12, 13, 14].
The main objective of these methods’ is to choose the most practical option, which is also referred to as the global solution. Among all those that can be put into practice, nature-inspired algorithms are also known as swarm intelligence algorithms. These can locate the closest optimum solution to address challenging NP-Complete issues.
The proposed model in this study is based on the foraging habits of spider monkeys and a swarm optimization method. The suggested model’s primary advantages over the existing approaches are that it targets to achieve better various parameters that affect performance, such as time for response, make-up time, and better resource utilization.
Some notable contributions to this article are follows: a revised spider monkey optimization model based on spider monkey food-seeking behavior is proposed as a dependable load balancing approach for the cloud environment. It will start by calculating the loads of the virtual machines that each load balancer controls. The load will eventually reach a limit. Let’s assume that the assessed load exceeds this threshold. In this situation, the super VM controller (load balancer) uses the most recent iteration of the spider monkey optimization load balancing technique to choose the optimum load balancer. Utilizing the selected VM load balancer, the load is then further balanced. Finally, the performance of the suggested strategy is compared to that of the existing methods based on time of response, makespan, and consumption of resources.
The rest of the article is structured as follows: The previous studies on load balancing in diverse scenarios are compiled in Section 2. There are different types of techniques in a cloud environment for balancing loads. The general load balancing model in cloud computing is represented in Section 3, and improved spider monkey optimization and the “proposed model” are outlined in Section 4. The outcomes of the model and its comparison with specific current state-of-the-art are covered in Section 5. Section 6 contains the work’s conclusion.
Literature review
Load balancing is a vital phenomenon for determining the overall system’s performance in a cloud environment. It is a fundamental phenomenon that is influenced by a variety of factors, such as faster reaction times, resource allocation, total throughput, etc. This has led to the publication of several load balancing algorithms over the years.
Traditional load balancing methods
Static load balancing techniques are another name for conventional load balancing techniques. The number of VMs and tasks in these approaches is often fixed and known at compilation time. According to the load balancing algorithm, all tasks are divided among the VMs; however, the algorithm does not consider any additional tasks or VMs added during runtime [15, 16, 17]. Therefore, no more testing is required to evaluate these procedures. Numerous methods, including First Come First Serve (FCFS) and its modified variant round-robin (RR) are employed for static load balancing [18, 19]. The Round Robin (RR) approach utilizes the idea of a time slice, which implies each task will be assigned to a specific execution window utilizing a load balancing method dubbed throttled [19]. It keeps an allocation table updated after de-allocation. But even in a static setting, this strategy can’t provide superior resource utilization. H. Chen et al, suggested a min-min task scheduling strategy based on the user priority method [20]. Using the priority concept, they have channeled the desire of the user and their insistence on the completion of the job. Y. Mao et al, suggested an improved static task scheduling approach based on the Max-Min concept [21]. The authors maintained a table to keep track of the status of each VM. This table is also used to predict the completion time and assess the load on the virtual machines. In a static environment, the method was able to increase resource usage, but it was unable to reduce reaction time.
Load balancing methods using swarm intelligence
The particle swarm, ant colony, muth flame, bee colony optimization, etc., are just a few examples of biological systems and natural phenomena that served as inspiration for these meta-heuristic algorithm-based techniques [22, 23]. These techniques imitate how insects or animals act while looking for food or trying to survive [23, 24]. Researchers are using these techniques to tackle challenging issues in a variety of computing domains and identify the closest viable solutions [25, 26]. Wei suggested a methodology to enhance resource use and load balancing using improved Ant colony optimization. Although the convergence speed was increased, the algorithm had an issue with optima. Meshkati et al., suggested an enhanced resource utilization model using an artificial bee colony algorithm [26]. Although the proposed approach increased the search efficiency, the convergence speed was plodding because of an uneven load. Krishna et al., suggested a method for balancing the load that was grounded in the behaviour of honeybees [27]. Reducing waiting and execution times for items in the queue depending on their priorities was the main objective of the effort. The results showed an improvement in makespan when compared to previous research. However, the suggested approach could not deal with local maxima and did not consider the best use of available resources. Additionally, it is observed that the rate of VM migration was very high [27]. Florence and V. Shanthi used the cooperative behaviour of fireflies to offer a different load balancing technique [28]. The authors claimed that the proposed scheme provides better resource allocation and makespan. But the main limitation is that the proposed scheme may not be able to adapt to real-time requests very easily. Tawfeek et al. suggested a hybrid strategy to increase efficiency and resource use [29]. This approach combines the optimization techniques of the various swarm optimization algorithms, mainly ant-colony optimization, honey bee optimization, and particle swarm optimization. Individual methods and hybrid algorithms both produced similar results. For load balancing and energy efficiency optimization, Xiao and W. Zheng adopted the coalitional game approach [30]. The model uses ant colony optimization but is stuck in local optima. Sreenu and S. Malempati made the fractional grey wolf optimization approach their own, addressing time, cost, resource usage, etc., using multi-objective task scheduling strategies [31]. Table 1 shows the summary of literature review in the form of features and limitations.
Summary of literature review in the form of features and limitations
Summary of literature review in the form of features and limitations
Virtualization is the fundamental technological component of cloud environment. A virtual server is used in this technology to replace a real server. Because numerous VMs run within the same hardware resources, a virtual server functions in a “multi-tenant” environment. In this instance, a physical server’s processing capabilities are virtualized and distributed among all the VMs running on it, with some particular configuration and resources. For the VMs to perform tasks or requests, several users who work on the application layer must do so [6, 11, 12, 16]. To function efficiently and improve the system’s performance, all virtual machines (VMs) must balance the workload in any cloud computing environment. In the system, load balancers are employed for this reason. A load balancer must maintain balance across all VMs by allocating jobs to appropriate VMs [6, 16, 32]. We have included a special load balancer called as super controller and a simple load balancers in our suggested paradigm. The load balancer will determine the load at each interval. The best load balancer will evaluate if any balancer’s load has crossed or reached the threshold value. The load balancer with the lowest load will get the request for job allocation right away. “Improved spider monkey optimization” (ISMO) method is used to choose optimal controller.
System abstraction.
Let’s consider that the population of tasks is generated randomly by a Poisson distribution function. The probability mass function (pmf) for the Poisson distribution is expressed as
Consume time by completing tasks.
Proof: According to the Fig. 2, we can derive.
We conclude that the job provided to the system is “memoryless” since it doesn’t “remember” that it has previously used time ‘
In the numerator part, “mean service time” is actually the mean time of the task leaving the dispatcher and being assigned to the connected VMs.
Which we consider the mean of the exponential distribution that task slayed in the despatcher i.e.,
As a result, the mean inter-task arrival time is the
If the system is idle, i.e., there is no task waiting in the system to get service from any connected VM as well as no job in the despatcher, then the probability is
Let us consider
We consider the following situation:
The system is busy if each VM is working on a task and there are no jobs or tasks in the system dispatcher buffer. So the system is lightly loaded. The system is heavily loaded, which means all the VMs are processing jobs or tasks, and at the despatcher buffer, at least one job or task is waiting.
Assumption 1:
As
where
According to the statement 1, we get the probability
where
Here,
Now,
where
Load in VMs.
So,
And
So Eq. (1) gives the probability for assumption 1, regarding the distribution of the task among the VMs. It is presented in Eq. (6).
Here
If
Lemma:
If
Proof: The mean interval arrival time
The arrival intensity of tasks or jobs during the time period
So, at least
Spider monkeys are experts at swinging from one limb to another distant branch of a tree and may travel long distances in a single swing rather than jumping from tree to tree. Spider monkeys can perform remarkable movements because of their hook-like hands, muscular tails, and agile shoulder joints. The spider monkey may briefly halt in the middle of these rapid acrobatic spins, hang on its tail, and feed with both hands.
The spider monkey’s foraging behavior is the basis for a proposed optimization algorithm that lures inspiration from their foraging nature. Take into account that the difficulty of load-balancing in a cloud is the hunt for low-loaded servers to allocate jobs to, which is analogous to the problem of food hunting in a spider monkey’s move or swing for food. We may think of it as spider monkeys (SM) foraging or seeking large amounts of food, similar to how a load balancer would look for enough resources or a VM to complete a task. Because they must scavenge appropriate VM, which they see as a food source, the jobs that must be assigned are known as spider monkeys. The essential features of the suggested model are the fission and fusion principles of spider monkey optimization (SMO) algorithm [32, 33]. A troop of spider monkeys does this procedure for distributing the food among the group members. Therefore, in cloud environment, the dynamically balancing of load problem may be handled by copying the shrewd activities of spider monkeys. Another significant advantage is that the model will not ever become stuck in local optima [32]. The suggested model architecture for load-balancing is shown in Fig. 4. There are several application clients for the model. Here, AC represents collection of application clients. Each application client generate the requests (traffic)
ISMO base system model.
One load balancer is responsible for maintaining each group. Let, is the
The load table will be updated by load balancer for the associated group of VM at time. For a comprehensive perspective, the super load balancer (SLB) receives the load table summary from each and delivers it to it. The jobs are sent to the appropriate load balancer based on the load. The average tasks received from the
Maximum received tasks on
The threshold value
Here
The super load balancer is notified whenever a balancer’s load factor exceeds
A super load balancer (SLB) keeps track of each LB and each VM’s load factor. If an LB discovered an overload scenario for any VM, LB will record updation in its load table and will give the VM a job with the lowest load factor (LF) variation. However, if it is found that the load factor of LB is unbalanced, it alerts the SLB and SLB should assign LB with the least amount of work possible using ISMO (improved spider monkey optimization). The functioning of ISMO is described in the section that follows.
Initialization: Let
We have considered the rate of perturbation is
Where,
Fitness – The best LB is selected after assessing the fitness of each solution and its opposition. According to Eq. (13), the value of fitness is calculated. Based on the Eq. (13), most optimal option is obtained, which has the lowest fitness value. The ideal load balancer is the one that fits this best-case scenario and assigned the job to the VM. Updation in the solution will continue until an optimal solution is developed.
Updation – Updates are carried out using Eqs (14)–(16) after each solution and its opposing solution have been evaluated for fitness.
A randomly chosen
Where, the Global Leader’s location in
Exit – Until the best or optimal answer is found, all of the aforementioned processes will be carried out constantly. The Algorithm 1 will terminate after it has identified the ideal load balancer. The appropriate flowchart is shown in Fig. 5. The supported ISMO algorithm with various stages is presented in Appendix 2.
Settings of simulation environment
Flowchart of the proposed improved spider monkey optimization (ISMO).
Algorithm 2 starts with the initialization phase, where in Step 1, population N, local leader limit LLL, global leader limit GLL, iteration M
Comparison of load balance.
Resource utilization plot.
Average response time comparison plot.
Comparison of average makespan plot.
To compare the findings and viability of the suggested model with other existing models already in use, simulations of the model were conducted using Cloudsim, version 4.0. The simulator Cloudsim can be used to test out various cloud settings without the need for pre-existing hardware equipment [34, 35, 36, 37, 38, 39]. Table 2 shows the parameters and assumptions taken for the simulation. The specifications of the system used for the experiment include an 8
Analysis of load balance
All algorithms were run ten times in analyse the load balance. All of the obtained results are organized, and then the results are plotted. The figure from the load balancing study is displayed in Fig. 5. Because of several LBs and SLBs, which serve as monitors for all load balancers, the suggested technique has the default and superior benefit of load balancing. It has thereby reduced the time taken for each activity to be completed. Particle swarm optimization – artificial bee colony (PSO-ABC) and improved ant colony optimization (IACO) – take 70% and 75% of the load balance, respectively, when there are 20 tasks, as shown in Fig. 6. The suggested algorithm has a load balance of about 85% when there are 20 tasks. We may also analyse additional task sets in a similar manner [26, 12].
Light-weighted tasks – average makespan and response time comparison.
Medium-weighted tasks – average makespan and response time comparison.
Heavy-weighted tasks – average makespan and response time comparison.
We have randomly selected 10 VMs (5, 12, 16, 25, 31, 38, 42, 48, 52, and 60) for comparison of the resources used by all the algorithms on these VMs in order to demonstrate the study of resource utilization for ’K’ number of jobs. The graph of resource use is shown in Fig. 7. It is clear from the plot that the suggested method uses resources more efficiently than other existing algorithms [12, 26].
Average response time analysis
Ten randomly selected virtual machines are used to examine the average response time for ‘K’ numbers of jobs on each VM: 5, 12, 16, 25, 31, 38, 42, 48, 52, and 60. Compared to prior work [12, 26], the new technique outperformed the PSO ABC and IACO algorithms in terms of ART time. Figure 8 depicts the plot of the ART comparison.
Analysis of average makespan
We have taken ten randomly selected virtual machines to examine average makespan, with ‘K’ jobs performed on each VM. When the average makespan time of the suggested technique was compared with the existing work [26, 12], it was found that it performed somewhat better than the PSO ABC and IACO algorithms. Figure 9 displays the average makespan time comparison plot.
Analysis for three type of tasks
Following a review of the load balance, resource use, average reaction time, and average makespan performance of the algorithms, We classified the tasks into three categories: those that used 1000 to 5000 instructions and were called light-weight tasks; those that used 5000 to 20000 instructions and were called mid-weight tasks; and those that used instructions between 20000 and 50000 and were called heavy-weight tasks, with instructions between. Next, we simulated each of the three categories and evaluated the results using the typical response time and typical makespan. The light-weighted task plot is presented in Fig. 10, the medium-weighted task plot is displayed in Figs 11 and 12 shows the plot of 3
Conclusion
The study proposes a swarm intelligence optimization based on an effective ISMO load balancing paradigm for the cloud. The suggested model is composed of a number of components, including the concept of a super load balancer, an application client layer, simple load balancers, and, according to the processing capabilities, VM groups. The suggested architecture improves resource consumption, reaction time, and makespan while resolving the issues with local optima and load balancing. We have verified the suggested model using the simulator Cloudsim, and the results match existing work for parameters such as load balancing, ART, consumption of resources, and average makespan. The comparison study is carried out using 10 random VMs and ‘K’ jobs, and it is discovered that the suggested model performs better in all the aspects taken into consideration. The main advantage of the proposed method is that the scheme is never stuck in local optima, and the speed of convergence will be fast in comparison to other existing methods, as the goals are defined by the coordinators. For the failure recovery study of virtual machines and load balancers in the cloud, we will enhance this method in the future.
Footnotes
Author’s Bios
