Dynamic Load Balancing in Cloud Computing: A Review and a Novel Approach

In cloud computing, load balancing is essential since it guarantees effective resource utilisation and reduces response times. It effectively distributes incoming workload across available servers. Load balancing involves dividing tasks among multiple systems or resources over the internet. By distributing traffic and workloads, load balancing ensures that no server or computer is overloaded, underutilized, or idle in a cloud computing environment. To enhance overall performance in the cloud, it optimises a number of variables, including execution time, response time, and system stability. To increase the effectiveness and reliability of cloud services, load balancing evenly distributes traffic, workloads, and computing resources across the environment. The proposed method, Enhanced Dynamic Load Balancing for Cloud Computing, adjusts load distribution and maintains a balanced system by considering variables like server capacity, workload distribution, and system load. By incorporating these factors and employing adaptive threshold adjustment, this approach optimizes resource allocation and enhances system performance. Experimental research shows that the proposed new novel approach is more effective and efficient than current load balancing techniques. In this context of cloud computing, this ground-breaking method offers a workable substitute for dynamic load balancing.


Introduction
The management and delivery of services by organisations over the internet has been completely transformed by cloud computing.Effective resource management and workload distribution are now essential for maintaining scalability, high availability, and top performance due to the growing rise and acceptance of cloud services.In order to accomplish these goals, dynamic load balancing strategically distributes incoming workload among the available servers in the cloud infrastructure [1].
Machine learning and neural networks, two types of artificial intelligence (AI), were mostly used in the past by load balancing algorithms to dynamically distribute workload among servers.AI-based technologies, which usually require huge computational resources, could make the system more complicated and costly.
In this paper, we present a non-AI solution for dynamic load balancing.To efficiently balance incoming workload among the available servers, our Enhanced Dynamic Load Balancing Algorithm takes into account critical factors such server capacity, workload distribution, and system load.This is a new strategy that offers an alternative solution which is efficient and resource-friendly.Our algorithm dynamically adjusts the load distribution to maintain a balanced system while ensuring optimal utilization of resources by considering these factors and employing adaptive threshold modification.
We present a novel, AI-free solution for dynamic load balancing in this research.Without depending on intricate AI models, the proposed Enhanced Dynamic Load Balancing Algorithm for Cloud Computing seeks to accomplish effective work distribution and resource utilisation [2].Our method continuously adjusts the load distribution to maintain a balanced system, considering important factors such as server capacity, workload distribution, and system load.

The term Load Balancing in Cloud Computing
In a cloud computing environment, load balancing refers to optimizing the distribution of virtual machine (VM) resources.To ensure equitable and dynamic task allocation while effectively utilizing resources, it is an essential technique used in the cloud environment [3].Its main objective is to effectively manage the workload among different cloud nodes, thereby preventing any node from being overloaded or underutilized.Enhanced resource allocation and improved user satisfaction are the advantages of achieving a more efficient distribution of workloads [4].In order to improve the performance of cloud-based applications and find solutions to load balancing problems, it is important.The load balancing in cloud computing is shown in Fig. 1.It's important to note that different load balancing algorithms and techniques may use a combination of these parameters or additional ones based on specific requirements and constraints [6].

Algorithm for Dynamic Load Balancing
The current state of the system serves as the basis for all load balancing computations in this type of algorithm.The workload distribution will be based on the system's state at the moment.The primary advantage of this strategy, facilitated by dynamic load migration, is that load balancing decisions are made considering the system's current state, leading to improved overall performance [7].

Algorithm for Load Balancing Currently Used
The various load balancing strategies used in the cloud computing environment are thoroughly assessed and compared based on a predetermined set of factors.Throughput, response time, overhead, performance, fault tolerance, migration time, resource utilization, and scalability are some of these factors.Some commonly used load balancing algorithms are as follows [8]:

The Round Robin Load Balancing Algorithm
Round robin is the most widely used and straightforward scheduling algorithm.The algorithm's primary focus is time sharing.This algorithm executes each step in a cycle.A time quantum, or precise time slice, is defined by the system.In this load balancing, the datacenter controller rotates the VMs that are getting requests.The procedure will continue until the conclusion of the prior stage.The biggest problem is that if the old process took a long time and was very large, the new one will take just as long to complete [9].The Round Robin technique does not take into consideration resource capabilities, priority, or assignment time.Slower response times are caused by longer jobs and higher priority.

The Equally Spread Current Execution (ESCE) algorithm
Process priority is taken into account by the dynamic load balancing method known as Equally Spread Current Execution (ESCE) [10].By moving the burden to lightly populated virtual machines (VMs), it seeks to fairly distribute the workload by determining the priority based on the size of the process.By taking into account process size and choosing a VM with a lower load, this technique randomly distributes the load [11].
ESCE focuses on spreading the load across different nodes, earning it the name of a spread spectrum technique.By distributing the load evenly, the algorithm ensures that no specific VM becomes overloaded while others remain underutilized.This approach aims to optimize resource utilization and improve overall system performance.
Unlike Round Robin, which allocates resources in a cyclical manner without considering process size or priority, ESCE takes these factors into account.By prioritizing processes based on their size, the algorithm can make informed decisions about load distribution, ensuring that larger processes receive appropriate resources while preventing delays or bottlenecks.
ESCE offers an effective method for streamlining resource allocation in cloud computing environments through dynamic load balancing.ESCE contributes to increased system performance, shortened reaction times, and greater overall resource utilisation by allocating the workload across available VMs in a way that takes process size and current load into account [12].

The Throttled Load Balancer (TLB) algorithm
The Throttled load balancing method checks the status of virtual machines (VMs) to see if they are ready to handle incoming requests.Each VM's ID and state (either "Available" or "Busy") are stored in an index database that the load balancer maintains.Every VM is created with the "Available" status [14] by default.
In order for the data centre to locate the appropriate VM, the load balancer receives client requests and forwards them there.Starting at the top of the index table, the load balancer searches for a VM that can handle the request.The data centre controller is contacted with the ID of any free VMs found so that it can be given requests.
The load balancer adjusts its index table as necessary after receiving notification that the data centre successfully assigned the requested VM ID to the request.The index table is not updated if the data centre runs into problems during the allocation process, but it does provide a negative feedback signal within a certain time frame.
The data centre controller receives a -1 notification from the load balancer when all VMs are in the "Busy" status.In these situations, the data centre begins internally queuing user requests until a VM becomes available [15].
A VM notifies the data centre controller when a task assigned to it is complete, and the controller then notifies the load balancer.The load balancer makes the necessary adjustments to the index table.
Three phases can be used to estimate how long the Throttled load balancing algorithm will take to complete.In the initial stage, virtual machines are constructed and left idle while they wait for the scheduler to distribute work from the queue.The second stage entails the actual job processing by the cloud-based VMs.The VMs are then either cleaned up or destroyed in the third phase.
It's important to keep in mind that this computing model's throughput is determined by the total number of tasks finished in a given period of time, disregarding the time required for VM construction and destruction.
In conclusion, the Throttled load balancing algorithm makes use of the VMs' status to ensure effective request distribution in cloud computing settings.The algorithm allows for efficient job assignment and boosts system performance by keeping an index table and taking VM availability into account.

The Active Monitoring Load Balancer (AMLB) algorithm
Active Monitoring Load Balancer (AMLB) is a load balancing technique utilized in cloud computing environments, specifically for dynamic load balancing.This strategy entails compiling data on each virtual machine (VM), including the quantity of requests that are currently being allotted to them [16].Upon receiving a new request, the Data Centre Controller (DCC) searches for the least loaded or idle VM in the VM index table.This approach uses the first-come, first-served principle to distribute the load to the VM with the lowest index number when there have multiple servers [17].
After verifying that the requested VM is the one indicated by the VM ID returned from the AMLB method, the DCC transmits the request to that specific VM.The AMLB is notified of the new allocation by the DCC, which also delivers the cloudlet [18].
Upon completion of the task and lowering of the VM index table, the data is given to the DCC.The load balancer iterates the database once more before allocating a process to a new request.Figure 5 depicts an illustration of AMLB.

Problem Statement
The goal is to create a dynamic load balancing algorithm that evenly distributes the incoming workload among the available servers while taking into account server capacity, workload distribution, and system load.The method optimises resource utilisation and improves response and processing times by dynamically adjusting the workload distribution based on the availability and priority of jobs.

Proposed EMT-LB Algorithm: A Novel Approach
Based on the Throttled Load Balancer (TLB) algorithm, we will propose a modified version called Enhanced Model Priority Based Throttled Load Balancing (EMPBT-LB) algorithm.This updated algorithm incorporates task prioritization to further improve load distribution and responsiveness.Here's the detail description of the modified algorithm: 1. Two lists should be initialised with the available and busy VMs, respectively: the "Available VMs list" and "Busy VMs list." 2. When a task arrives, the EMPBT-LoadBalancer receives the task and its priority from the DCCP.b.If the "Available VMs list" is empty: • If there is a VM with a matching priority in the "Busy VMs list", queue the task and wait for the first available VM with a matching priority.• If no matching priority is found in the "Busy VMs list", queue the task and wait for the first available VM.
4. Once a VM is selected, mark it as busy, move it to the end of the "Busy VMs list," and execute the task on the VM. 5.After task execution, mark the VM as available, move it to the end of the "Available VMs list," and update its current workload.6.If there are any queued tasks: • Check if there is an available VM with a matching priority in the "Available VMs list."• If found, assign the task to the VM, mark it as busy, and move it to the end of the "Busy VMs list."• If no matching priority is found, assign the task to the first available VM in the "Available VMs list," mark it as busy, and move it to the end of the "Busy VMs list." 7. Repeat steps 2-6 for new incoming tasks.
By introducing task prioritization, the EMPBT-LB algorithm aims to allocate tasks more effectively, ensuring that higher-priority tasks are executed promptly while maintaining load distribution among the available VMs.The algorithm dynamically adjusts the workload distribution based on the availability and priority of tasks, leading to improved response time, processing time and maximizing resource utilization compared to the original TLB algorithm and other load balancing algorithms like RR and AMLB.

Comparison, analysis and overall response time of cloudlet
Calculating the minimum, maximum, and average times for both scenarios allowed for a comparison.The throttled algorithm is the most effective among the three [19].As a result, the proposed technique is evaluated using the same parameter that was previously used.Here is further information on the suggested algorithm's findings and how they compare to the throttled method.
When comparing the proposed algorithm to the throttled load balancing algorithm used in cloud computing, it can be shown from the findings in table 1 that the suggested technique takes much less time (minimum, maximum, and average).The average, minimum, and maximum values of the two algorithms' overall response times (ms) are illustrated in Table 1.Using the information from table 1 as a starting point, separate graphs for the average and minimum overall response times are shown in figures 6 and 7, respectively.Table 1.

Conclusion
The proposed Enhanced Model Priority Based Throttled Load Balancing (EMPBT-LB) algorithm, which is the best of the existing dynamic load balancing algorithms mentioned in the study, performs better than the Throttled load balancing algorithm, as can be seen from the paper.Regarding overall response time and datacenter processing time (for all circumstances, i.e. average, lowest, and highest), the suggested method obviously excels over the throttled load balancing algorithm.
We could propose that the suggested EMPBT-LB dynamic Load Balancing Algorithm is the best algorithm among those stated in this research because it performs better in both the scenarios of total response time.

Figure 1 .
Figure 1.Working of Load Balancing in cloud servers

Figure 6 .
Figure 6.Illustrates an overall response time comparison for an average situation

Figure 7 .
Figure 7. Illustrates an overall response time comparison for an average situation