Maximizing the Efficiency and Performance: The Role of Load Balancer in Modern Cloud Computing Environment

Load balancing is a process of distributing the client requests from client application to the backend servers in an efficient way throughout the internet. There are several algorithms available to distribute this request. Cloud computing generally based on “pay per use” model that provides services like Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS). we have different types of cloud types like Public, Private, Hybrid and Community clouds. While making the efficiency and performance maximum we will face some challenges and we need to make key strategies, The evolving role it plays in the pursuit of superior performance and scalability. Optimizing resource utilization and maintaining consistent performance are crucial for businesses and organizations in the dynamic cloud computing landscape. In this we have discussed about Golden Eagle optimization Algorithm (GEO) and Mouse And Cat optimization(CMO) algorithm .The proposed Mouse-Cat-Golden Eagle (MCGEO) algorithm employs a unique combination of three animal-inspired optimization techniques to dynamically allocate tasks across servers in a distributed computing environment.


I. INTRODUCTION
Cloud computing is the most commonly heard technology in today's globe.Cloud computing technology that allows users to access and use computing resources such as servers, networks, storage and databases etc. J.C.R Licklider (Joseph Carl Robnett Licklider), an American Psychologist and Computer Scientist, pioneered cloud computing in the early 1960s.He worked on the Advanced Research Project Agency Network (ARPANet), the first public pocket switching network that connects people and data from anywhere and at any time.due to the rapid growth of the demand for cloud services, cloud service providers are facing the following dilemma: either to build more IDCs in order to meet the growing demand, or to increase the server utilization of the existing IDCs.[14] With the help of cloud, Users can access cloud services provided by third companies such as AWS, Microsoft Azure, Google cloud platform etc.The cloud is an ongoing trend that offers services such as those listed below: Infrastructure as a service: It provides internet-based virtual service resources.Users can rent virtual machines, storage, and network components using this service.Platform as a service: Users in this scenario have no control or management over the networks, servers, storage systems, or operating systems that make up the cloud infrastructure.However, it allows users to create, execute, and administer apps without having to worry about managing cloud infrastructure, and it has control over data and deployed programs.Software as a service: These applications are made available online as services.Instead of downloading and utilizing the applications on separate machines or servers, users can use the web browser to access them.In cloud computing, deployment models provide multiple ways for maintaining which cloud services and resources are available and consumed.It is similar to blueprints for organizing and utilizing the computer power, storage, and apps that the cloud delivers.These models understand how and where data is stored, as well as who is in charge of controlling the infrastructure and the level of personalization and isolation that users require.We are all aware of the critical features of cloud computing.Dynamic algorithms are more flexible and take into consideration different types of attributes in the system both prior to and during run-time.[12] Cloud computing is well known for its on-demand self-services, which means that customers can have self-computer resources such as servers, storage, and networks as needed, without requiring human intervention from the service provider.We have extensive network access in cloud computing; cloud services are accessible via the network and can be retrieved using ordinary mechanisms such as web browsers or specialized applications from numerous servers.Cloud resources may be instantly and elastically scaled up or down to meet changing demand.

Figure 1: cloud computing
It provides flexibility and cost-efficiency, as users pay for resources what they consume.Cloud is measured service, which means cloud resources are measured and use of the resources is monitored and control and reported transparently.This allows for accurate building and utilization.These all are main characteristics of cloud collectively defined agility accessibility, and efficiency that cloud provides.They enable users to scale their infrastructure seamlessly access resources on demand, and have a clear understanding of the usage and associated cost.We have other common characteristics like massive scale, resilient computing, homogeneity, geographic distribution, virtualization, service orientation, low-cost software and advanced security, these all are making the cloud more and likely usable to users.It is becoming possible to run multiple O.S and applications on the same server at same time.Virtual • Email: editor@ijfmr.com

IJFMR240111833
Volume 6, Issue 1, January-February 2024 3 availability is the utilization of resources the hardware usage, rapid scaling, saves power and cost [16].
OpenDaylight controller is one of the controllers that can run on all operating systems and hardware as well as it supports Java [17], [18].There are various types of load balancing algorithms, such as static, dynamic, and hybrid, that employ different criteria and strategies to assign jobs to available resources in order to optimize the performance, efficiency, and dependability of the cloud system.Some of the elements that influence load balancing performance or algorithm complexity include overhead communication and migration, appropriateness for diverse cloud scenarios, and system failure tolerance.Load balancing is an important factor to evaluate the stability of the system [20].

II. LOAD BALANCING
The diagram above depicts how load balancing works.It has a substantial impact on the scalability, availability, and dependability of cloud-hosted applications and services.Load balancing has two types of algorithms: Static and dynamic Algorithm [15].Load balancing techniques include round robin, least connections, weighted round robin, IP Hash algorithm, weighted least connections, content-based algorithm, Ant colony, honeybee, and LBIMM algorithms etc., ant colony optimization(LBIACO) is proposed in [19].The key to efficient resource utilization in predictive load balancing is to forecast future demands using machine learning, which can be accomplished by analyzing historical data.They ensure that each server or resource is utilized optimally by enabling more efficient allocation of resources in this manner.By continuously learning from new data improves their predictive accuracy over time.C. Fault Tolerance and reliability: By identifying potential overloads or bottlenecks ahead of time, load balancing enhances fault tolerance.By routing workloads away from these points, the system can enhance overall reliability and decrease the risk of failures.D. Performance Optimization and Network Traffic: load balancing techniques help optimize system performance by allocating workloads based on forecasts.Resources can be allocated in a way that minimizes response times while increasing throughput, improving the system's overall efficiency.Predictive load balancing algorithms can reduce network traffic by routing requests to the most appropriate and accessible servers.This decreases congestion, minimizes latency, and guarantees that network resources are used efficiently.E. Cost and Response Time Reduction: By Effective load balancing via predictive models can help to save costs in cloud computing systems.Based on expected demand, resources can be scaled up or down, preventing over-provisioning and lowering operational expenses.Algorithms can reduce response times by dispersing workloads in front of rising demand.This is crucial for apps and services that rely on lowlatency user interactions.F. Adaptability and Application-specific optimization: Predictive models are intended to adapt to dynamic and changing workloads.They can modify resource allocations in real time based on forecasts and respond to swings in demand without requiring operator involvement.Some predictive load balancing methods can be customized to meet the needs of specific applications.This guarantees that resources are allocated in accordance with the distinct characteristics and priorities of each application or service.

Table II. A COMPARATIVE STUDY OF MAJOR LOAD BALANCER AS A SERVICE PROVIDERS [4] Feature
Amazon ELB

Load balancing algorithms
• Round robin

Dedicated public IPs
Yes Yes Yes Yes Yes

IV.Golden Eagle Optimization (GEO) Algorithm:
The golden eagle scientifically known as Aquila chrysaetos, belongs to the Accipitridae family, which covers different species of birds of prey like eagles and hawks [21].With exceptional vision, high speed, and powerful talons, golden eagles are professional hunters that can catch preys of a broad range of sizes from insects to mid-sized mammals [22].This bird can fly as fast as 190 km/h [21].Golden eagle is the most widely distributed member of the Accipitridae family.Despite many other types of eagles, it can be found all over the Earth's northern hemisphere [23].The unique feature of the golden eagle's cruising and hunting is that it takes place in a spiral trajectory, meaning that the prey is most of the times on one side of the eagle.This enables them to monitor the targeted prey and the nearby boulders and bushes for finding a proper angle of attack.In the meantime, they also survey other regions if they can find better food [1].The Golden Eagle method load balancing algorithm for a system involves dividing incoming requests or tasks among numerous servers to optimize resource utilization and ensure no single server is overwhelmed.
The main characteristics of the hunting process of golden eagles can be summarized as follows.
 The GEO algorithm is based on the hunting behaviour of golden eagles, which involves a spiral hunting pattern [1]. They hunt in a spiral pattern and attack in a straight line. They show the more propensity to cruise in initial stages of hunting and smoothly transition to more propensity to attack in the final stages, [1]. They retain tendency for both cruise and attack in every moment of the flight, they look for other eagles' information on prey [1].Cruise, attack, and the intelligent balance that the golden eagle creates between these two are the natural manifestations of exploration, exploitation, and the shift from the former to the latter.This lays the path for the creation of a metaheuristic algorithm.

Optimization model and mathematical equations:
1.1 The golden eagle's spiral motion: Each golden eagle memorizes the best location it has visited so far.The eagle is drawn to both attacking prey and cruising in search of greater food.Figure 3 depicts the attack and cruise vectors in 2D space.In each cycle, each golden eagle i chooses a prey from another golden eagle  at random and circles about the best location visited so far by golden eagle .The golden eagle can also opt to circle its own memory; hence, we have ∈ {1, 2,…,}.

Prey selection:
Figure 4: one-to-one mapping prey selection in GEO In each iteration, every golden eagle selects a prey for cruise and attack operations in the Golden Eagle Optimizer (GEO).A prey represents the best solution found by the flock.Each eagle remembers its best solution.During an iteration, search agents choose a target prey from the collective memory.Attack and cruise vectors are then computed based on the chosen prey.If the new position is better than the one in memory, the memory is updated.Prey selection is crucial; it can be basic, with each eagle selecting its own prey, or more exploratory with a random one-to-one mapping scheme.This scheme allows each eagle to randomly choose prey from another's memory in the current iteration.Notably, the chosen prey is not necessarily the nearest or farthest.Each prey is exclusively assigned to one eagle, and Figure 4 illustrates that each search agent attacks a position in another's memory.

Attack (Exploitation):
The attack in the Golden Eagle Optimizer (GEO) is represented by a vector originating from the current position of the golden eagle and terminating at the location of the prey stored in the eagle's memory.The attack vector for golden eagle  can be computed using Equation (I): ⃗ =⃗  * −⃗  (I) Here, ⃗  is the attack vector of eagle , ⃗  is the best location (prey) visited so far by eagle , and ⃗  is the current position of eagle .The attack vector plays a crucial role in GEO by guiding the population of golden eagles toward the best-visited locations, emphasizing the exploitation phase in the optimization process.

Cruise (Exploration):
The cruise vector, perpendicular to the attack vector, represents the linear speed of a golden eagle relative to prey.In -dimensions, it lies in the tangent hyperplane to the circle.The hyperplane equation (Equation II) is determined by the attack vector and an arbitrary point, representing the current position of the eagle.ℎ 1  1 + ℎ 2  2 +. . . .+ℎ    =  → ∑ ℎ    =   =1 (II) A random cruise vector is found by choosing one fixed variable, assigning random values to others, and calculating the fixed variable using Equation (III).
The cruise vector encourages exploration by attracting eagles to areas beyond their memory, ensuring a balance between exploration and exploitation in the Golden Eagle Optimizer.

Moving to New Positions:
The displacement of golden eagles involves attack and cruise vectors.The step vector for golden eagle  in iteration  is defined as Equation (IV): Here,    and    are the attack and cruise coefficients in iteration , adjusting the impact of attack and cruise. 1 and  2 are random vectors in [0,1].The Euclidean norms ∥ ⃗  ∥ and ∥   ∥are computed using Equation (V): The position in iteration +1 is obtained by adding the step vector to the positions in iteration  (Equation VI).
If the fitness of the new position is superior to the memory, the memory is updated; otherwise, the eagle stays in the new position.In each iteration, eagles randomly choose a peer to circle, calculate attack and cruise vectors, determine the step vector, and compute the new position.This process continues until termination criteria are met.Equation (IV) involves two coefficients,    and    , governing the impact of attack and cruise vectors.
The next section elaborates on adjusting these coefficients over iterations.

Transition from Exploration to Exploitation:
In the early stages of the hunting flight, golden eagles tend to cruise more, emphasizing exploration.In contrast, during the later stages, there's a shift towards a higher propensity to attack, emphasizing exploitation.This transition is reflected in the proposed optimizer, where initial iterations focus more on exploration and final iterations prioritize exploitation.Figure 5 visually illustrates the changing dynamics of attack and cruise strategies over iterations.

Cat and Mouse Optimization Algorithm:
It is a load balancing algorithm that is designed to balance the load between servers in a data center [2].The algorithm works by dividing the servers into two groups: the "mouse" and the "cats."The mice are the servers that are currently handling the least amount of traffic, while the cats are the servers that are handling the most traffic.When a new request comes in, the algorithm assigns it to a mouse server.If the mouse server becomes overloaded, it is promoted to a cat server, and the algorithm assigns the next request to a different mouse server.This process continues until the load is balanced across all servers [2].

Initialization:
 Represent servers as "cats" and tasks or requests as "mouse".
 Assign an initial load to each server based on its capacity.

Exploration (mouse seeking servers):
New tasks (mouse) arrive to be processed.Server keep an eye on how busy they are.When a task comes, it looks at which server is less busy.The task picks the server that's not working too hard.The chosen server does the task.Now the server is busy.We keep doing this for each new task, so no server gets overloaded

Exploitation (cats chasing mouse):
Server check how busy they are.i.e., server monitoring.Servers try to share the work so no one is too busy.Servers that aren't too busy attract more tasks, like cats chasing mouse.The goal is to keep things balanced, just like cats chasing after different mouse.Servers keep an eye on their load and try to stay balanced by attracting tasks accordingly.

Update and redistribute
Servers continuously keep track of their workload, regularly checking how much they have to do.To maintain a balanced distribution of tasks, servers dynamically adjust their assignments based on their current load.If there's an imbalance, strategies are in place to redistribute tasks among servers, preventing any single server from becoming overwhelmed.This ongoing process ensures that the workload is efficiently distributed, optimizing the overall performance of the system.The servers, acting like diligent coordinators, work together to maintain a harmonious balance in handling tasks, periodically reassessing and readjusting as needed to keep the entire system running smoothly.

Iterations
Iterate dynamically, allowing the system to adapt to changing workloads.This continuous cycle ensures that the system remains flexible and responsive to fluctuations in demand.By regularly revisiting the workload assessment and task distribution process, the system can effectively adjust to varying conditions, maintaining optimal performance and resource utilization over time.This iterative approach enables the system to adapt and scale, ensuring efficiency in handling tasks under different circumstances.

V. MCGEO Load Balancing with Machine Learning
In the context of load balancing, MCGEO employs genetic algorithms to evolve and generate solutions for distributing tasks among servers.Genetic algorithms are optimization algorithms inspired by the process of natural selection, where potential solutions undergo genetic operations like crossover and mutation to improve their fitness over successive generations.Machine learning is incorporated to enhance the efficiency of the load balancing process by leveraging historical data and learning patterns.The system uses past performance metrics, server workloads, and task characteristics to train a machine learning model.This model then provides insights into the optimal allocation of tasks based on the current state of the system.By combining these two powerful techniques, MCGEO strives to achieve a more intelligent and adaptive load balancing system, capable of optimizing task distribution in dynamic and evolving distributed computing environments.This approach contributes to improved resource utilization, reduced response times, and increased overall system performance.
The most common algorithms in the reviewed papers included Linear Regression, Random Forest classifier (RF) Artificial Neural Network (ANN), Convolutional Neural Network (CNN) and Long-Short Term Memory-Recurrent Neural Network (LSTM -RNN).The criteria for LB technique was identified through performance metrics like throughput, response time, migration time, fault tolerance and power saving.The paper adjourns by identifying research gaps found in the reviewed literature [5].

A. Inputs:
• Number of search agents (M): This represents the number of tasks or workloads that need to be assigned to virtual machines.• Maximum iterations (max_itr): The maximum number of times the algorithm will go through the optimization process.• Termination criterion: A condition that, when met, signals the algorithm to stop the optimization.

Database queries data
Cloud Heterogeneity of CPU & GPU 6.
Workload prediction [11] Artificial Neural Network and selfadaptive differential Client request amassed to time units Distribution of workloads corresponding to power usage, bandwidth consumption, migration costs, memory use, Response time, Turnaround time, and Server load power usage: The use of energy is a crucial aspect in the load balancing [3].process.
• Initial positions of search agents (VMs): The starting positions of the tasks on virtual machines.
• Parameters for position updating (pa, pc): These are values that affect how the positions of the tasks are updated during the optimization process.• Machine learning model for load balancing: A system that learns from the current state of the virtual machines and helps make better decisions.Imagine you have a group of tasks (represented by golden eagles and cat mice).Each task needs to find the best virtual machine to complete its work.

Initialization of Positions and Fitness Computation:
Initially, these tasks are placed on virtual machines, and we measure how well they're doing using the fitness function.This function looks at factors like how much the machines are being utilized and how quickly they're responding.

Initialization of Search Agent Memory:
The tasks remember how well they did in the past.This memory helps them figure out the best positions on virtual machines based on what worked well before.

Initialization of Iteration Parameters:
We set up the maximum number of times the optimization will happen and some parameters that affect the optimization process.

Main Iterative Loop:
We start going through the optimization process.
For each round: We measure how well the tasks are doing.
• The tasks remember their past performance.
• update their positions using a mix of characteristics inspired by golden eagles and cat mice.
• use real-time information about the virtual machines to update a machine learning model.
• The machine learning model helps make better decisions for load balancing based on the current state of the virtual machines.
• check if the termination criterion is met.If it is, we stop the optimization.Otherwise, we go to the next round.• keep track of how many rounds we've gone through.

Output:
Finally, we get the best assignment of tasks to virtual machines based on the last positions of the tasks.

VI. Challenges:
Cloud Computing face different kind of challenges out of which load balancing is the major issue to solve for better efficiency and throughput [13].Achieving maximum efficiency and performance in load balancing is crucial for ensuring optimal resource utilization, minimizing response times, and maintain high availability.However, a number of issues may develop with the adoption of load balancing technologies.Here are some examples of common difficulties: 1. 1.uneven workloads: Workloads on servers may not be spread fairly, resulting in some servers being underutilized while others being overburdened.2. Real-time monitoring and adaptation: Load balancers must constantly monitor server health and adjust to changing conditions in real time.Load balancers must be able to respond to changing traffic patterns, such as unexpected increases in demand.3. 3.Scalability: The load balancer must scale to manage additional traffic without becoming a bottleneck itself as the application grows.4. Fault Tolerance: Load balancers must be fault-tolerant, ensuring that a single point of failure does not interrupt the entire system. 5. Cost Considerations and Latency: Cloud-based load balancing systems may incur fees, which can be difficult to comprehend and manage.The addition of a load balancer may increase request latency, affecting overall performance.6. Session Persistence: Maintaining session persistence can be difficult when spreading requests across numerous servers, especially for applications that require user sessions to be delivered to the same server on a constant basis.7. SSL/TLS Termination: SSL/TLS termination at the load balancer might be computationally demanding, thus impacting performance.

VII. Conclusion
Load balancers are essential in cloud computing for efficient workload distribution, using algorithms like round robin and predictive models.Load balancing algorithms are good in distributing load equally to all virtual machines and perform task by increasing response time [13].Challenges include uneven workloads, real-time monitoring, and SSL/TLS termination.The MCGEO algorithm exemplifies predictive models leveraging machine learning for optimal resource utilization and cost reduction.Despite advancements, challenges like workload imbalances persist, necessitating continuous monitoring and adaptation for high availability and minimal response times in the dynamic cloud environment.The evolving role of load balancers emphasizes the importance of strategic algorithms for seamless cloud operation and ongoing performance optimization.

Figure 6
Figure 6: load balancing working