Skip to main content

Advances, Systems and Applications

Comparative analysis of metaheuristic load balancing algorithms for efficient load balancing in cloud computing

Abstract

Load balancing is a serious problem in cloud computing that makes it challenging to ensure the proper functioning of services contiguous to the Quality of Service, performance assessment, and compliance to the service contract as demanded from cloud service providers (CSP) to organizations. The primary objective of load balancing is to map workloads to use computing resources that significantly improve performance. Load balancing in cloud computing falls under the class of concerns defined as "NP-hard" issues due to vast solution space. Therefore it requires more time to predict the best possible solution. Few techniques can perhaps generate an ideal solution under a polynomial period to fix these issues. In previous research, Metaheuristic based strategies have been confirmed to accomplish accurate solutions under a decent period for those kinds of issues. This paper provides a comparative analysis of various metaheuristic load balancing algorithms for cloud computing based on performance factors i.e., Makespan time, degree of imbalance, response time, data center processing time, flow time, and resource utilization. The simulation results show the performance of various Meta-heuristic Load balancing methods, based on performance factors. The Particle swarm optimization method performs better in improving makespan, flow time, throughput time, response time, and degree of imbalance.

Introduction

Load balancing is vital in optimizing the utilization of cloud computing resources, i.e., processors, storage, and memory. Virtual machines running on physical machines are responsible for allocating and using resources. Some VMs may be over-used and under-used when workloads are processed on VMs. Load balancing techniques ensure that each machine in the cloud data center will perform the same number of tasks at any given time per their capacity. User demands are incredibly dynamic in cloud computing, and achieving multi-tenancy requires separating different users in the cloud infrastructure [1]. In existing cloud computing research, different heuristic and Metaheuristic methodologies were used by various researchers to distribute Load among VMs and to achieve optimal utilization of cloud resources and better performance.

The challenge of mapping workload on massive computing resources in cloud computing relates to classifying complications known as "NP-hard" challenges. No optimization algorithm for such difficulties may generate an optimal remedy inside polynomial time. Solutions predicated on extensive review are not technically feasible as the functioning cost of producing work schedules is exceptionally high. The primary objective of the load-balancing method is to distribute the workloads among VMs and computing resources to minimize the relative imbalance [2]. In cloud computing, heuristic and Meta-heuristic methods are widely used to achieve load balancing. These methods have various vital features, such as a more prominent search space with a random search that helps find an optimum solution in a fixed time for a scheduling problem.

The computational cost of the metaheuristic algorithm is higher than the heuristics algorithm. Most researchers utilize a heuristics method that reduces the search space to improve the convergence rate of metaheuristic methods. There are several objectives in this process [3].

Need for load balancing

In cloud computing, architecture workload balancing is an essential factor that helps allocate computing resources. Each VM has a different processing speed, storage capacity, and memory. Load balancing is the only way to map a workload with a perfect VM so that any VM cannot be overloaded. A Cloud model encounters request overload due to dynamic computing through the web [4]. In Cloud computing, load balancing is the most complex and essential research area for distributing workloads amongst VMs in data centers. Cloud computing mainly focuses on the principle of on-demand resource sharing using the internet. The critical components of cloud computing include interconnected computing devices, storage, and data centers [5].

A distributed and parallel computing strategy is used in cloud computing to share data, software, hardware, and computing resources with other devices. This model offers a "pay-per-use" model. The customer does not need to purchase any computational platforms or software to perform a task; a user only needs the internet to access the cloud services and computing resources and pays per service type and utilization. It reduces the cost of buying a software suite that is not needed full-time and allows for the dynamic utilization of resources that multiple users can access simultaneously without compromising service quality. Cloud service providers experience difficulties related to the quality service owing to the following reasons:

  • The size and complexity of the public cloud

  • The potential weaknesses of conventional load-balancing algorithms

  • The variation of key stakeholders whose function is to perform customer queries

Motivation

In cloud computing, a load balancing technique evenly transfers the workload volume across all the VMs as per their capacity to achieve optimum resource utilization. Metaheuristic load-balancing methodologies covered in this research depend on multiple metrics. In a multi-cloud environment, load balancing is a difficult task. Further research has been done on multi-cloud technology to solve issues, i.e., vendor lock-in, quality, reliability, and interoperability [6].

In a multi-cloud environment, the distribution of computing resources is always challenging. Various researchers suggest different resource allocation policies to achieve optimum resource allocation. Table 1 represents a comparison of the present review and previous research.

Table 1 Comparison of Metaheuristic Load balancing methods ( present review Vs Previous research)

Load balancing is essential to achieve the quality of service and optimum resource utilization in heterogeneous cloud computing. Load balancers assist in an equal and fair resource allocation to workload for optimum resource utilization and customer satisfaction at the least price. The existing load-balancing methods encounter several issues which need immediate attention. It motivates researchers to discover better load-balancing policies to overcome these difficulties [7]. Metaheuristic-orientated techniques mainly overcome these challenges by offering accurate solutions in a reasonable period. Metaheuristic load balancing has attracted increased attention in recent decades due to its performance, reliability, quality of service, and efficiency in overcoming massive and complicated challenges. In previous research, Metaheuristic based strategies have been confirmed to accomplish accurate solutions under a decent period for those kinds of issues.

A detailed review of metaheuristic methods is needed based on various factors, i.e., taxonomy, algorithms, parameters, and performance. This paper provides an extensive survey and comparative analysis of metaheuristic load-balancing algorithms for cloud and grid environments. In the available literature, there is no taxonomy to classify distinct scheduling algorithms. This research provides a comprehensive view of the state-of-the-art cloud load balancing methods. It examines Metaheuristic Load balancing algorithms, taxonomy, key features, and challenges [8]. Table 2 reviews various queries related to Metaheuristic Load balancing research.

Table 2 Review of Major research questions related to Load balancing

Contribution

The existing metaheuristic load balancing surveys encounter several issues, i.e., no detail, taxonomy, no comparisons based on the current state of the art, and no key features, challenges, and architecture covered. Load balancing techniques vary depending on the dependency between many activities to be scheduled to take place. If precedence rules occur in activities, an action can only be planned once all its family activities are finished. In contrast, activities are independent in the scenario, and individuals can be scheduled in any specific order.

The methods are "dependent workflow scheduling methods" and "independent workflow scheduling methods." All these load-balancing algorithms based on metaheuristic modelling techniques are discussed in subsequent subsections. This article provides a comprehensive and systematic survey of the most recent Metaheuristic load-balancing algorithms to provide an operational understanding of these methodologies.

Paper organization

The research article is organized as follows. Introduction section covers the introduction of the research, and Background section describes the research background studies and the analysis of cloud stack holders, cloud load balancing, and policies. Taxonomy of load balancing algorithms section covers load balancing powerful taxonomy. Metaheuristic algorithms in cloud computing section covers metaheuristic algorithms in cloud computing, powerful taxonomy of Meta-Heuristic load balancing Algorithms, issues, and challenges. Result and discussion section covers the results and discussion, and finally, the last section covers the conclusion and future work of the research.

Background

Cloud computing varies significantly from other hosting alternatives due to the two key components, CSP and CSU. It is not uncommon for a service to be billed per user in the cloud computing service model, so there is no long-term contract. Self-service ensures that data are provisioned without user interaction, sales calls, new service bookings, and long and complex contractual relationships, empowering customer service and helping utilization. It indicates that the procurement of a cloud service is entirely automated and essential for creating cloud services at a reasonable price [9].

As per NIST, cloud computing can be defined as: "Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model comprises five essential characteristics, three service, and four deployment models." (Source: NIST Cloud Definition).

Major stockholders of cloud

The Main stack holders of cloud computing include cloud end users, developers, brokers, policymakers, and service providers. Figure 1 describes the taxonomy for cloud stockholders.

  • Cloud End-user: The end users are primary customers utilizing cloud computing services.

  • Cloud Brokers: An object that handles cloud services' usage, efficiency, and distribution and tries to negotiate interactions between providers and customers.

  • Cloud Carrier: The carrier cloud is an entity that combines two or more devices and some other information and communication features to help implement high-demand cloud-based services.

  • Cloud Developer: In this field, developers create software hosted in the cloud. Developers must spend time in various phases, i.e., analyzing customer needs, problem formulation, solution system designing, coding, debugging, and deployment.

  • Cloud Service Providers: A CSP mainly offers four cloud computing models public, private, community, and hybrid. CSP is primarily responsible for creating cloud services, maintaining the quality of service, and ensuring precise distribution. Various companies are using their private clouds just for inner usage. The cloud computing model based on cloud service providers is as follows:

    • ➢ Private clouds- It is mainly related to an organization and only used by particular users.

    • ➢ Public clouds- In public cloud services, i.e., platform, infrastructure, software, and data are offered by a third party, and users can access the services via the internet. Examples are Google Compute Engine, Amazon Web Services, HP Cloud, and Microsoft Azure.

    • ➢ Community Cloud- It is a cloud structure that enables services and applications to be usable by a community of numerous institutions to exchange relevant data.

    • ➢ Hybrid cloud- It is a composition of private and public cloud resources. It enables organizations to increase some internal tools and some infrastructure from outside. The task of "resource provisioning" must be completed by the cloud service provider.

  • Cloud Policy Makers: Cloud policies are the rules that regulate how businesses use the cloud. It is mainly used to maintain the authenticity and confidentiality of the data. A company, organization, or government agency can be a cloud policymaker [10].

Fig. 1
figure 1

Cloud Stack holders

Load balancing in cloud computing

Cloud load balancing (CLB) is a process that distributes workloads and computing resources in a cloud environment. Load balancing enables organizations to handle implementation and workload requirements by distributing resources between different computing resources, i.e., Virtual Machines, storage, networks, and data centers [11].

Load balancing framework

A load balancer determines which VM can accurately handle the subsequent incoming user request without compromising the quality of service and load optimization policies. Workload management is the critical responsibility of a cloud data center control system. Workloads are routed to the load balancer, which uses a load-balancing technique to allocate work activities to the appropriate Virtual machine. A VM manager is a vital component of Virtual machines. In cloud computing, virtualization is a well-known technique.

Figure 2 describes a load-balancing architecture. When the load balancer gets customer service requests, it applies an appropriate load-balancing approach to map the recommendations with the precise VMs.The primary goal of virtualization is to share powerful machines between many VMs. A VM is a virtual computer system server on which software packages can be operated. VMs mainly handle the customer's requests. In cloud computing, environment users can be from any global location and post their requests irregularly. These user requests must be forwarded to the correct VMs for handling. Accurate workload distribution is an essential issue in cloud computing. The quality of service can be affected if any VMs become overloaded or underloaded. When a Cloud customer gets dissatisfied due to poor quality of service, they can quit the utilization of the cloud and never return [12].

Fig. 2
figure 2

Load balancing framework in Cloud computing

Load balancing metrics

A Cloud monitoring system gathers measurement results to understand how a cloud computing model and services function. A set of these parameters is commonly used as a "metric." This subsection covers cloud computing load-balancing metrics based on existing research and load-balancing algorithms [13].

  • Response time: This is the time required for the system to finish a job. The number of processes completed for every time interval is calculated using criterion.

  • Makespan time determines the highest finish time or the time it takes to distribute resources toward a consumer.

  • Fault tolerance: It defines the application's capabilities to accomplish load balancing throughout the occurrence of specific links and link breakdowns.

  • Scalability: It refers to an application's capacity to execute homogeneous load balancing throughout the framework based on demands as the size of the network grows. The automated system of selection is highly configurable.

  • Migration time: Moving an assignment from an overloaded server to an underloaded server takes time.

  • Degree of imbalance: It determines how evenly VMs are distributed.

Load balancing policies

The following load-balancing policies are widely used in cloud computing [14].

  • Location policy- It mainly identifies unused or underutilized VMs and then al-locates work to these VMs for reprocessing. After defining the necessary information for work migration using three methods: probing, negotiation, and a random selection, It selects the target node. The location policy sets the target randomly and transfers the work activities.

  • Selection policy- This policy defines the work activities which can be selected and moved from one device to the next. It mainly prefers work activities, which depend on the number of features and structure for migration.

  • Information policy-It is another dynamic load-balancing policy that stores all the resource data in the system, which can be used by many other approaches to take action. It sets the methods for data collection. Nodes presently gather data using the Agent technique. The supply, routine, and state change policies are examples of different information policies.

  • Transfer policy identifies the conditions under which the workloads can be transferred from one network device to another target device. It uses two methods to recognize the work activities to be moved: "all recent" and "last obtained." All arriving activities enter the "last obtained" strategy, and the last action enters "all recent." The transfer policy is premised on determining whether a move can be transferred (task migration) and which function can be applied (task rescheduled).

Taxonomy of load balancing algorithms

This section represents the categorization of existing load-balancing methodologies. Load-balancing methods can be categorized into two phases: a) based on state of the art and b) based on the process initiated in the system. Each category can be further divided into static and dynamic techniques. The performance of cloud computing directly depends on the type of technique. The most popular static load balancing methods are Round Robin, Weighted Round-Robin, Min-Min, Max-Min, and Opportunistic load balancing methods. The dynamic algorithms include metaheuristic methods [15]. Figure 3 represents the primary taxonomy of cloud load balancing methods.

Fig. 3
figure 3

Taxonomy Load balancing methods in cloud computing

Load-balancing methods can be categorized into two phases: a) based on state of the art and b) based on the process initiated in the system. Each category can be further divided into static and dynamic techniques.

Load balancing depends on the system state

Load balancing methods based on system state can be divided into the following categories [16].

Static load balancing

A static load balancing method mainly ignores the current system state. A system state contains data like the loading condition; when a static load balancing method performs load balancing, the system performance can be affected due to the overload or underload of the VM. Static load balancing procedures are primarily based on observing the system's typical behaviour; transfer choices are independent of the underlying current structure state [17].

  • Optimal Load Balancing: The DCN gathers resources and other necessary information and submits work activities to the cloud load balancer, optimizing allotment in the shortest time.

  • Suboptimal Load Balancing: In this technique, when the load balancer cannot determine the optimal decision, a suboptimal solution can be calculated for any problem. The primary examples of suboptimal load balancing methods are Max–Min, Min-Min, Shortest Job First, Round Robin, Central Load Balancing, and Opportunistic Load Balancing.

The most popular static load balancing methods are as follows.

  • Round Robin: It is one of the most specific load-balancing methods because it uses a time-triggered scheduling scheme that is very practical and reliable. In this method, time is divided into slices and quantum. This method utilizes a round-robin algorithm to allocate tasks to machines. The process selects random nodes when applying load balancing. This algorithm mainly depends on data centers. The functioning of the round-robin occurs when online consumers request the cloud system for any job process; then, this request will be assigned to the data center console and managed by a round-robin method [18].

  • Weighted Round Robin: This method utilizes the VMs' resources and capacities. This method mainly works on a critical principle: allocating a powerful virtual machine to an activity with more work. This method assigns a weight to each process based on its capacity. The system maintains a table to keep track of the records of the weighted list of servers. This process takes more time than the round-robin method.

  • Opportunistic Load Balancing (OLB): OLB is the method that allocates workflow to nodes in an available sequence. It is quick and easy and does not consider the estimated completion period of each device. It is a static load-balancing method that does not consider the existing workflow of each device. Hence it retains every server active by randomly spreading all uncompleted work activities to the available servers. It makes the method deliver disappointing results on task scheduling. It struggles to determine the node's complexity, further decreasing the processing activity's efficiency. Additionally, the cloud system will experience bottlenecks [19].

  • Min-Min Load balancing: This method begins with a list of activities that are not mapped. This method selects a machine with the shortest completion time for all jobs. It allocates resources to a user request that requires a minimum completion time. A table keeps the records of system state and node information. The method repeats the allocation process until all unmapped activities are assigned to a VM [20].

  • Min-Max Load Balancing: The Max-Min algorithm is very similar to the Min-Min algorithm. This method allocates a machine with the shortest finishing time for workloads. The task with the longest finishing time is assigned to a specific resource. Also, it updates the ready and waiting time details. The complete process repeats until all tasks are correctly mapped. The objective of this method is to minimize the time it takes for large tasks to finish. Table 3 represents the review of static load balancing methods.

  • Dynamic Load Balancing: Dynamic load balancing methods are those methods that hunt for the lowest virtual machine in the system and then appoint a suitable massive amount upon this. This method allocates the task to all the machines at the application level. Table 4 represents the review of dynamic load balancing methods [21]. The few dynamic loads balancing methods are as follows:

  • Biased Random sampling method: It is a dynamic load-balancing method; that mainly applies random sampling among all the nodes. Servers are treated as nodes. This technique is defined by a virtual graph built using interconnection to describe the load on every node. In this graph structure, each node is treated as a vertex. When a client sends a service request to the cloud, the load balancer maps the available correct VM to the user request.

  • Throttled method: The balancer keeps index metrics of VMs (processing speed, capacity, storage) and their current states (free of busyness). A client computer initially sends a requisition to the cloud data center to select the most appropriate VM to accomplish the preferred task.

  • Least Connection method: The 'Least Connections' load balancing method transfers the load by selecting the server with the lowest energetic transaction data. A dynamic scheduling method transmits user requests to the cloud server with the lowest quantity of active links when the user requisition is requested [22].

Table 3 Review of static load balancing methods
Table 4 Review of dynamic load balancing methods

Load balancing depends on the initiation process

The following methods depend on the system Initiation process [23].

  • Sender Initiated load balancing: An overloaded machine allocates workload in sender-initiated techniques. A Server (sender) tries to transfer work to an under-loaded server (receiver).

  • Receiver Initiated load balancing: The load-distributing function in receiver-initiated methodologies is started by an under-loaded server (recipient) attempting to obtain work from an overloaded server (sender).

  • Symmetric load balancing: Sender-and receiver-initiated processes are combined and applied.

Metaheuristic algorithms in cloud computing

The conventional load balancing methods are simple but do not work for more severe uncertainty problems, so metaheuristic methods are used. It is a heuristic algorithm that does not depend on the level of the problem. A meta-heuristic method can be defined as an interactive formation procedure that guides the exploration process and the employ of the search space. Meta-heuristic methods are one of the methods that can be utilized to handle performance issues, including task scheduling [24]. A Metaheuristic method can be divided into two main categories: a) based on a local search and b) based on a random search.

Need for meta-heuristic algorithms

A metaheuristic technique assists in optimizing an objective function. It can be in-corporate to solve various optimization issues; Load balancing is one of them. This subsection covers the need for metaheuristic methods.

Heuristic: A heuristic method addresses a challenge more quickly and conveniently than conventional methods by compromising optimum solution, precision, accuracy, or speed. Heuristic methods are primarily utilized to rectify NP-complete difficulties, a class of complex situations [25].

  • Its design is typically problem-focused.

  • It is straightforward to get stuck at local optima.

Metaheuristic: These methods are similar to the heuristic approach. These techniques rely on two distinct features. The first characterization is the quantity of potential practical solutions utilized in each recursive call. We initiate with a standard preliminary solution, and for each phase of the hunt, the answer is interchanged with others. Due to the following reasons, a metaheuristic is required:

  • – A meta-heuristic method is suitable for a wide range of challenges.

  • –Suitable for Multimodal Optimization problems.

  • –Acceptable to discontinuous, nonlinear functions.

Critical elements of meta-heuristic algorithms

The following elements are mainly related to a Meta-heuristic algorithm [26].

  • Exploiting Intensification: Choosing the most appropriate solution inside the existing neighbourhood. It aids in the convergence process.

  • Exploration or Diversification: It is a process to find the best solution for an optimization problem by using a random sample. It keeps the process from getting stuck in local optima and increases the diversity of each key. An excellent meta-heuristic algorithm needs a good mixture of these elements to obtain the optimum result.

Main features of meta-heuristic algorithms

Meta-Heuristic Algorithms have the following key features [27].

  • Nature is its primary source of inspiration.

  • It is based on science, biology, and evolutionary biology principles.

  • It mainly utilizes stochastic elements.

  • It also involves the utilization of random factors.

  • There is no restriction on using the "Hessian matrix" or "gradient."

  • It utilizes different variables to solve an optimum issue.

Taxonomy of meta-heuristic load balancing algorithms

Figure 4 describes the primary taxonomy of Meta-Heuristic load balancing algorithms.

Fig. 4
figure 4

Taxonomy of Metaheuristic Cloud Load Balancing

The following types of Meta-heuristic algorithms are widely used in cloud computing.

  • Nature-inspired AlgorithmsIt is a sequence of unique problem-solving approaches and techniques obtained from natural operations and frequently utilized to solve numerous optimization challenges. Table 5 represents the review of various nature-inspired load balancing methods. The type of nature-inspired algorithms in cloud computing are as follows-

  • Cuckoo Search Algorithm (CSA): The CSA method is based on the behaviours of "cuckoo birds." Cuckoos are lovely birds, but their violent and aggressive reproduction tactic impresses everybody. Cuckoos lay their eggs inside large communal nests. Female cuckoos recreate the colours and shapes of microbial enzyme eggs. Cuckoos decrease the risks of destroying eggs and enhance their productivity [28].

Table 5 Review of Nature Inspired Load balancing methods
figure a

Algorithm 1 The Cuckoo Search Algorithm's pseudo code

Bat method

A nature-based meta-heuristic widely used in global optimization problems. These methods are motivated by the echolocation habits of mini BATs with pulse and noise levels. There are nearly 1,000 species of BAT, ranging in size from 1.5 mg to more. Mini BATs usually use echolocation. They have impaired vision but excellent hearing capacity, which allows them to fly. They also utilize an echolocation method to find insects at nighttime [29].

figure b

Algorithm 2 The Bad Algorithm pseudo-code for cloud load balancing

Invasive Weed Optimization (IWO) method

It is a population-based natural evolutionary optimization technique influenced by the attitude of the weed colony swarm. IWO is a constant, deterministic mathematical technique reproducing weeds' colonization behaviour patterns. Initially, a workforce of preliminary seeds is randomized and distributed over the complete solution space. These weeds will eventually mature and carry out the process of the algorithms [30].

figure c

Algorithm 3 Pseudo code for Invasive Weed Optimization

Flower pollination algorithm

It is one of the most advanced Nature-Inspired algorithms based on the biological function of pollination. The method begins by creating a specified number of participants (N), where each partition contains a set of improved factors using the optimal solution. It utilizes an indexing strategy called "flower constancy" to determine how each population's factor reduces the optimization process. The population queuing up based on flower consistency and performance [31].

figure d

Algorithm 4 Pseudo Code for Flower Pollination Algorithm

Bio-simulated algorithm

These methods are influenced by the biological behaviour patterns of animals or birds. They are mainly used to search for the optimum solution. Table 6 represents the review of various bio-simulated load balancing methods.

  • Artificial Immune System (AIS): The natural system is an advanced biological and autonomic nervous system that protects itself by becoming highly distributed, reliable, flexible, and self-organizing. This process can classify all new cells and particles inside the body. AIS techniques are a novel evolving intelligence strategy influenced by immunology. These processes invest in the reliable computational power of biological ecosystems like pattern recognition, extraction of features, memory, learning, diversity, distributive nature, and multi-layered protection, which provides the capabilities to accomplish numerous complex optimization problems in a highly distributed and parallel manner.

Table 6 Review of Bio Simulated Load balancing methods
figure e

Algorithm 5 Pseudo Code for Artificial Immune System

Spotted Hyena Optimization (SHO) Method

SHO is a brilliant technique influenced by the biological behaviour of hyenas. The SHO technique uses four stages based on the spotted Hyena's natural habit. The behaviour patterns involve a) hunting prey phase, b) searching prey phase, c) encircling prey phase, and d) attacking prey.

figure f

Algorithm 6 Algorithm for spotted Hyena

Evolunatory based algorithm

These algorithms are population-based metaheuristic optimization algorithms inspired by evolutionary computation methods. Evolutionary methods mainly utilize processes derived from natural evolvement, including selection and recombination. Table 7 represents various Evolunatory-based load-balancing methods. The types of Evolunatory load balancing methods are as follows.

Table 7 Review of Evolunatory Load balancing methods
  • Genetic Algorithm: A genetic technique is a search heuristic method influenced by Charles Darwin's principle of natural biological evolution. This technique represents the process of natural classification in which the healthiest participants are chosen for propagation in sequence to develop offspring of the coming generation. The critical attribute of the generic method contains a) the crossover phase, b) the mutation phase, and c) the selection phase.

    figure g

    Algorithm 7 Genetic Algorithms (n, χ, µ)

    • Differential Evaluation (DE): It is a meta-heuristic method based on population. It mainly improves an optimal solution via a process of evolution. This technique makes few presumptions about fundamental optimal solutions and rapidly discovers large development zones. DE is a population-dependent and feature optimization method that enhances differences between individuals. It mainly develops a community of NP-hard problems to find the best solution. In concisely, DE keeps repeating crossover, mutation, and selection operations upon the initial condition. The DE method generates a path variable and chooses feature vectors with the best fitness value for a particular problem [32].

    • Genetic Programming (GP): GP is a subfield of Machine Learning methods that use Evolutionary Algorithms. EAs are used to find specific ways to solve complications that individuals cannot overcome. It is a method of emerging applications, beginning from a massive population of unworthy (random selection) software, fit comfortably for a particular activity by implementing processes comparable to genetic approaches to the workforce of applications. The popular types of GP include a) Grammatical Evolution, b) Stack-based Genetic Programming, c) Tree-based Genetic Programming, d) Linear Genetic Programming, e) Cartesian Genetic Programming, and f) Extended Compact Genetic Programming methods.

    • Evolunatory Programming (EP) is among the four main evolutionary computation frameworks. It is comparable to genetic programming; however, the framework of the system to be evaluated is wholly fixed, whereas its statistical characteristics are accepted to expand.

    • Swarm Intelligence (SI) Algorithm: SI method is the collaborative attitude of distributed, self-organized schemes, naturally or artificially. SI methods typically form a community of autonomous agents engaging natively with each other and through their living environment. Motivation often emerges from nature, particularly biological structures. The operators follow elementary principles. There is neither a central management framework dictating how agents must act locally. SI methods mainly include Particle Swarm Optimization (PSO), Differential Evolution (DE), Ant Colony Optimization (ACO), Artificial Bee Colony (ABC), Genetic Algorithms (GA), Cuckoo Search Algorithm (CSA), and Glowworm Swarm Optimization (GSO). Table 8 represents various nature-inspired load-balancing methods [33].

    Table 8 Review of Swarm-Based Load balancing methods
  • Ant colony optimization (ACO): ACO is a probability method for resolving difficulties that must be restricted to getting suitable pathways via visualizations. Multi-agent methodologies influenced by the behaviour of ants are known as the "Ant Colony Optimization" method. Ants utilize swarm interaction as their primary method based on biology. The hybrid form of an ant colony and meta-heuristic search methods is perfect for various optimal solution problems in existing research [34].

    figure h

    Algorithm 8 Ant Colony Optimization Method

  • Artificial Bee Colony (ABC) Optimization Method: The ABC method is a load-balancing method of searching. The ABC has been developed depending on the insects searching for food behaviour and the attitude of honeybees. Honey bees are domestic or social flying insects in the environment. ABC is a well-managed group that relies on sweetness for its power production. The bees play multiple roles inside the colony, including raising children and the youths, preserving the nest, and accumulating nectar [35]. Participants search for a better food supply, choosing this from several hosts while keeping precision and agility in mind. Bees are primarily split into two groups:

    • Scot/Employee Bees: These employees go out on a whim to seek fresh floral spots. Once found the food sources, they returned to the colony. They conducted a dance called "Waggle" to inform the forager colonies.

    • Forager Bees: These bees obey the scout bees here to the food source and start collecting honey. The hunter-gatherers may perform a waggle to entice many bees to follow them to significant food clusters.

Algorithm 9 Artificial Bee colony method

figure i

Particle Swarm Optimizations

The PSO method is a population-based optimal solution influenced by flocking and training fish behaviour. PSO is a choice of bio-inspired techniques, and it is a simplistic individual to seek an ideal solution in the candidate solutions. It is distinct from other evolutionary algorithms, so the optimal solution is required. It is not entirely reliant on the differential form of the desired outcome. It also has a hugely few parameters [36,37,38]. Table 9 represents the review of Swarm-based load balancing methods based on the Simulator used.

Table 9 Review of Swarm-Based Load balancing methods based on the Simulator used

Algorithm 10 Particle Swarm Optimization Method

figure j

Performance measuring parameters

The performance of the load balancing method is measured by performance metrics parameters, including [39].

  • Degree of Imbalance (DI): It specifies how much load is distributed among various VMs based on their operational capability. It is determined by the equation below.

$$DI =\frac{\left(MaxTime-MinTime\right)}{AverageTime}$$
(1)
  • Makespan Time: It demonstrates the completion time of the recent job when all activities are planned. It is determined by the equation below.

$$\mathrm{MakespanTime }=\mathrm{Max}{\sum }_{i=0}^{n}\mathrm{ CompletionTime}$$
(2)
  • Flow Time: It is the sum of completing times of all the jobs once all activities are assigned. It is determined by the equation below.

$$\mathrm{FlowTime }= {\sum }_{\mathrm{i}=0}^{\mathrm{n}}\mathrm{ CompletionTime}$$
(3)
  • Response Time: This is the time to react to the scheduling algorithms. It is also the difference between the time required to complete a job and the time necessary to submit it. It is determined by the equation below.

  • Resource Utilization (RU): Maintain resources as feasible once all activities are planned. It is determined by the equation below.

$$\mathrm{RU}=\sum\nolimits_{k=0}^n\frac{Completion\,Time\,of\,all\;\mathrm{the}\;\mathrm{jobs}}{\left(\mathrm{Makespan}\;\mathrm{Time}\ast\;\mathrm{Number}\;\mathrm{of}\;\mathrm{jobs}\right)}$$
(4)

Results and discussion

This section presents the comparative analysis of a few popular Meta-heuristic load balancing methods, i.e., Ant colony optimization, artificial bee colony, Genetic algorithm, and Particle swarm optimization method. These methods were implemented in a cloud sim-simulator using JAVA programming [40]. In this article, an execution time per activity depends on the job's length and VM configuration of VMs. The job size is measured in Million Instructions (MI), and the VM computational capacity is measured in Millions of Instructions per second (MIPS). Figure 5 shows the working of the proposed Metaheuristic Lead balancing model. Table 10 represents the simulation parameters used in cloud-sim [41,42,43,44,45].

Fig. 5
figure 5

Working of Metaheuristic Load Balancing Methods

Table 10 Simulation parameters used in cloud sim

Figures 6 and 7 show the simulation outcomes of Metaheuristic load balancing methods. The simulation is performed on the JAVA Netbeans simulator for Ant colony optimization, artificial bee colony, Genetic algorithm, and Particle swarm optimization method. Under the symmetric environment, the Meta-heuristic load balancing methods are implemented as a core component of the cloud broker. Various performance measuring parameters are calculated.

Fig. 6
figure 6

Simulation outcomes for Metaheuristic load balancing methods

Fig. 7
figure 7

Job scheduler Simulation in cloud sim for metaheuristic load balancing methods

Figure 8 shows the simulation results for Response time and Data Center Processing Time outcome for metaheuristic load balancing methods.

Fig. 8
figure 8

Response time and Data Center Processing Time outcome for metaheuristic load balancing methods

The Ant colony optimization offers an Overall Response Time of 300.06 on average, 237.06 for Min and 369.12 seconds for max. Similarly, its shows a data processing time of 241 seconds. Another Artificial bee colony optimization method shows 278.96 seconds for overall response time and 158 seconds for data center processing time. The genetic algorithm shows 228.66 Overall response time and 146 seconds for data center processing time. PSO method shows 244.5 seconds for overall response time and 155 seconds for data center processing time.

Figure 9 shows the MakeSpan time outcomes for various metaheuristic methods. The graph is plotted among several iterations and Makespan time in seconds. The ant colony optimization method shows 17500 seconds makespan time for 200 iterations. However, Genetic algorithms show 16007 seconds which is better than other methods. For iterations 800 and 1000, all the methods show constant outcomes.

Fig. 9
figure 9

Makespan Time (Sec) outcomes for metaheuristic load balancing methods

Figure 10 shows the flow time outcomes for various Meta-heuristic load balancing methods. The graph is plotted among the number of cloudlets and flow time (seconds). For 100 cloudlets Genetic Algorithm takes 151230 seconds, which is higher than the Ant colony optimization method takes 104100 seconds, and the artificial bee colony method takes. 115600 seconds and the Particle swarm optimization method takes 132450 seconds. Similar to Cloudlet 200 to 800 Genetic algorithm shows a higher flow time than other metaheuristic methods.

Fig. 10
figure 10

Flow Time (Sec) outcomes for metaheuristic load balancing methods

Figure 11 shows the imbalance outcomes for various metaheuristic load balancing methods. The graph is plotted among the number of cloudlets and the degree of imbalance. The simulationAnt-colony optimization method shows 0.234 degrees of imbalance which is the lowest degree compared to all the other metaheuristic load balancing methods. The Particle swarm optimization method offers 0.411 degrees of imbalance for 100 cloudlets. For 800 cloudlets Artificial bee colony method shows 0.8475, the ant colony optimization method 0.789, the Genetic Algorithm 0.884, and the Particle swarm optimization method offers 0.745 degrees of imbalance.

Fig. 11
figure 11

Degree of Imbalance outcomes for metaheuristic load balancing methods

Figure 12 shows the resource utilization outcomes of various metaheuristic load balancing methods. The graph is plotted among the number of cloudlets and resource utilization %. Once the number of cloudlets increases from 100 to 800, the resource utilization % also increases. The Artificial bee colony method utilizes 30% resources for 100 cloudlets which is the highest compared to other metaheuristic load balancing methods. For 800 Cloudlets Particle swarm optimization method uses 80% of resources, and the artificial bee colony method utilizes 75% of resources, which is lesser in this category.

Fig. 12
figure 12

Resource Utilization outcomes for metaheuristic load balancing methods

Conclusion and future scope

The article broadly explores the application of metaheuristic methods in load balancing in cloud computing. Metaheuristic methods are particularly sluggish than evolutionary optimization techniques. The derived solutions may not be approximate solutions. Thus, plenty of investigation is toward improving the integration level and efficiency of the potential solution. Such challenges have been explored by reconfiguring the transformation operator, extracting features from the input workforce, and adopting a hybrid model in metaheuristic methods. Also, we cover various load-balancing ways focused on diversified performance parameters. Many researchers have concentrated on substantially reducing end-to-end delay and performance costs in the literature.

In contrast, others have emphasized accuracy, response time, usable capacity, processing times, and mean resource consumption. This article also discussed the taxonomy of cloud load balancing and metaheuristic methods, their challenges, issues, and applications. This article has also evaluated many important meta-heuristic methods for distributing resources in Cloud infrastructure. Various approaches to optimize the efficiency of meta-heuristics have been regarded. However, few meta-heuristic ways alone can accomplish the highest accuracy and efficiency of other optimization methods in cloud-based solutions' load balancing and resource allocation issues.

Numerous open issues that can be carried up for future investigation are also addressed. The simulation results are also calculated for various popular Meta-heuristic load balancing methods, i.e., Ant colony optimization method, Artificial bee colony method, Genetic Algorithm, Particle swarm optimization method, and other performance measuring parameters, i.e., Makespan time, degree of imbalance, response time, data center processing time, flow time, and resource utilization. The Particle swarm optimization method performs better in improving makespan, flow time, throughput time, response time, and degree of imbalance. In future work, we will develop a more efficient method for cloud load balancing using existing Meta-heuristic methods. The proposed approach will be compared with more load-balancing methods in real-time.

Availability of data and materials

The supporting data can be provided on request.

Abbreviations

CSP:

Cloud service providers

CLB:

Cloud load balancing

VMs:

Virtual machines

DC:

Data Center

CC:

Cloud Computing

Quality of Services:

QoS

CSU:

Cloud Service Users

OLB:

Opportunistic Load balancing

DCN:

Data center network

CSA:

Cuckoo Search Algorithm

IWO:

Invasive Weed Optimization

AIS:

Artificial Immune System

SHO:

Spotted Hyena Optimization

DE:

Differential Evaluation

ACO:

Ant colony optimization

GP:

Genetic Programming

EP:

Evolunatory Programming

ABC:

Artificial Bee Colony

SI:

Swarm Intelligence

PSO:

Particle Swarm Optimization

NIST:

National Institute of Standards and Technology

References

  1. Thakur A, Goraya MS (2022) RAFL: a hybrid Metaheuristic based resource allocation framework for load balancing in the cloud computing environment. Simul Model Pract Theory 116:102485

    Article  Google Scholar 

  2. Sefati S, Mousavinasab M, ZarehFarkhady R (2022) Load balancing in cloud computing environment using the Grey wolf optimization algorithm based on the reliability: performance evaluation. J Supercomput 78(1):18–42

    Article  Google Scholar 

  3. Singh RM, Awasthi LK, Sikka G (2022) Towards metaheuristic scheduling techniques in cloud and fog: an extensive taxonomic review. ACM Computing Surveys (CSUR) 55(3):1–43

    Article  Google Scholar 

  4. Gopu A, Venkataraman N (2021) Virtual machine placement using multi-objective bat algorithm with decomposition in the distributed cloud: MOBA/D for VMP. Int J Appl Metaheuristic Comput 12(4):62–77

    Article  Google Scholar 

  5. Swarnakar S, Bhattacharya S, Banerjee C (2021) A bio-inspired and heuristic-based hybrid algorithm for effective performance with load balancing in cloud environment. Int J Cloud Appl Comput 11(4):59–79

    Google Scholar 

  6. Biswal B, Shetty S, Rogers T (2015) Enhanced learning classifier to locate data in cloud data centres. Int J Metaheuristics 4(2):141

    Article  Google Scholar 

  7. Singh H, Tyagi S, Kumar P, Gill SS, Buyya R (2021) Metaheuristics for scheduling of heterogeneous tasks in cloud computing environments: analysis, performance evaluation, and future directions. Simul Model Pract Theory 111(102353):102353

    Article  Google Scholar 

  8. Bothra SK, Singhal S (2021) Nature-inspired metaheuristic scheduling algorithms in the cloud: a systematic review. Sci tech j inf Technol mech opt 21(4):463–472

    Google Scholar 

  9. Kumar J, Singh AK (2021) Performance evaluation of metaheuristics algorithms for workload prediction in cloud environment. Appl Soft Comput 113:107895. https://doi.org/10.1016/j.asoc.2021.107895

  10. Gokalp O (2021) Performance evaluation of heuristic and metaheuristic algorithms for independent and static task scheduling in cloud computing. 2021 29th Signal Processing and Communications Applications Conference (SIU)

    Google Scholar 

  11. Ma L, Xu C, Ma H, Li Y, Wang J, Sun J (2021) Effective metaheuristic algorithms for bag-of-tasks scheduling problems under budget constraints on hybrid clouds. J Circuits Syst Comput 30(05):2150091

    Article  Google Scholar 

  12. Sarma SK (2021) Metaheuristic based auto-scaling for microservices in cloud environment: a new container-aware application scheduling. Int J Pervasive Comput Commun. Ahead-of-print, no. ahead-of-print

  13. Ramathilagam A, Vijayalakshmi K (2021) Workflow Scheduling in cloud environment using a novel metaheuristic optimization algorithm. Int J Commun. Syst 34(5):e4746

    Article  Google Scholar 

  14. Zhang T, Lei Y, Zhang Q, Zou S, Huang J, Li F (2021) Fine-grained load balancing with traffic-aware rerouting in datacenter networks. J Cloud Comput Adv Syst Appl 10(1):1–20

    Article  Google Scholar 

  15. Nandal P, Bura D, Singh M, Kumar S (2021) Analysis of different load balancing algorithms in cloud computing. Int J Cloud Appl Comput 11(4):100–112

    Google Scholar 

  16. Saxena D, Singh AK, Buyya R (2022) OP-MLB: an online VM prediction-based multi-objective load balancing framework for resource management at cloud data center. IEEE Trans Cloud Computing 10(4):2804–2816. https://doi.org/10.1109/TCC.2021.3059096

    Article  Google Scholar 

  17. Malviya DK, Lilhore UK (2018) Survey on security threats in cloud computing. Int J Trend Sci Res Dev 3(1):1222–1226

    Google Scholar 

  18. Lilhore UK, Simaiya S, Guleria K, Prasad D (2020) An efficient load balancing method by using machine learning-based VM distribution and dynamic resource mapping. J Comput Theor Nanosci 17(6):2545–2551

    Article  Google Scholar 

  19. Liu Z, Zhao A, Liang M (2021) A port-based forwarding load-balancing scheduling approach for cloud datacenter networks. J Cloud Comput Adv Syst. Appl 10(1):1–4

    Article  Google Scholar 

  20. Lilhore UK, Simaiya S, Maheshwari S, Manhar A, Kumar S (2020) Cloud performance evaluation: hybrid load balancing model based on modified particle swarm optimization and improved metaheuristic firefly algorithms. Int J Adv Sci Technol 29(5):12315–12331

    Google Scholar 

  21. Hu Y, Wang H, Ma W (2020) Intelligent cloud workflow management and scheduling method for big data applications. J Cloud Comput Adv Syst Appl 9(1):1–3

    Article  Google Scholar 

  22. Xuan Phi N, Ngoc Hieu L, Cong Hung T (2020) Load balancing algorithm on cloud computing for optimizing response time. Int J Cloud Comput Serv Archit 10(3):15–29

    Google Scholar 

  23. Diallo M, Quintero A, Pierre S (2021) An efficient approach based on ant colony optimization and Tabu search for a resource embedding across multiple cloud providers. IEEE Trans cloud computing 9(3):896–909

    Article  Google Scholar 

  24. Lilhore U, Kumar S (2016) Modified fuzzy logic and advance particle swarm optimization model for cloud computing. Int J Mod Trends Eng Res (IJMTER) 3(8):230–235

    Article  Google Scholar 

  25. Hu C, Deng Y, Min G, Huang P, Qin X (2021) QoS promotion in energy-efficient datacenters through peak load scheduling. IEEE Trans Cloud Comput 9(2):777–792

    Article  Google Scholar 

  26. Sun H, Wang S, Zhou F, Yin L, Liu M (2023) Dynamic deployment and scheduling strategy for dual-service pooling-based hierarchical cloud service system in intelligent buildings. IEEE Trans Cloud Comput 11(1):139–155. https://doi.org/10.1109/TCC.2021.3078795

    Article  Google Scholar 

  27. Liu C, Li K, Li K (2021) A game approach to multi-servers load balancing with load-dependent server availability consideration. IEEE Trans Cloud Comput 9(1):1–13

    Article  Google Scholar 

  28. Wei X, Wang Y (2023) Popularity-based data placement with load balancing in edge computing. IEEE Trans Cloud Comput 11(1):397–411. https://doi.org/10.1109/TCC.2021.3096467

    Article  Google Scholar 

  29. Sinha G, Sinha D (2020) Enhanced weighted round-robin algorithm to balance the load for effective resource utilization in cloud environment. EAI Endorsed Trans Cloud Syst 6(18):166284

    Article  Google Scholar 

  30. Le Ngoc H, ThiHuyen TN, Nguyen XP, Tran CH (2020) MCCVA: A new approach using SVM and kmeans for load balancing on cloud. Int J Cloud Comput Serv Archit 10(3):1–14

    Google Scholar 

  31. Shen H, Chen L (2020) A resource usage intensity aware load balancing method for virtual machine migration in cloud data centers. IEEE Trans Cloud Comput 8(1):17–31

    Article  Google Scholar 

  32. Yu L, Chen L, Cai Z, Shen H, Liang Y, Pan Y (2020) Stochastic load balancing for virtual resource management in data centers. IEEE Trans Cloud Comput 8(2):459–472

    Article  Google Scholar 

  33. Pawar N, Lilhore UK, Agrawal N (2017) A hybrid ACHBDF load balancing method for optimum resource utilization in cloud computing. Int J Sci Res Comput Sci Eng Inform Technol (IJSRCSEIT), ISSN: 2456 3307:367–373

    Google Scholar 

  34. Jankee C, Verel S, Derbel B, Fonlupt C (2016) A fitness cloud model for adaptive metaheuristic selection methods. In Parallel Problem Solving from Nature – PPSN XIV. Springer International Publishing, Cham, pp 80–90

    Chapter  Google Scholar 

  35. Nesmachnow S (2014) An overview of metaheuristics: accurate and efficient methods for optimization. Int J Metaheuristics 3(4):320

    Article  Google Scholar 

  36. Meng Z, Li G, Wang X, Sait SM, Yıldız AR (2021) A comparative study of metaheuristic algorithms for reliability-based design optimization problems. Arch Comput Methods Eng 28(3):1853–1869

    Article  MathSciNet  Google Scholar 

  37. Malathi V, Kavitha V (2022) Energy-aware load balancing algorithm for upgraded effectiveness in green cloud computing. In Expert Clouds and Applications. Springer Singapore, Singapore, pp 247–26

    Chapter  Google Scholar 

  38. Pai M, Rajarajeswari S, Akarsha DP, Ashwini SD (2022) Analytical study on load balancing algorithms in cloud computing. In Expert Clouds and Applications. Springer Singapore, Singapore, pp 631–646

    Chapter  Google Scholar 

  39. Sonekar SV, Kokate R, Titre M, Bhoyar A, Haque M, Patil S (2022) Load balancing approach and the diminishing impact of a malicious node in ad hoc networks. In Advanced Computing and Intelligent Technologies. Springer Singapore, Singapore, pp 523–536

    Chapter  Google Scholar 

  40. Shukla S, Suryavanshi R, Yadav D (2022) Formal modelling of cluster-coordinator-based load balancing protocol using event-B. In Proceedings of Second Doctoral Symposium on Computational Intelligence. Springer Singapore, Singapore, pp 593–603

    Chapter  Google Scholar 

  41. Ahmad S, Jamil F, Ali A, Khan E, Ibrahim M, KeunWhangbo T (2022) Effectively handling network congestion and load balancing in software-defined networking. Comput mater contin 70(1):1363–1379

    Google Scholar 

  42. Lilhore U, Kumar S (2016) Advance anticipatory performance improvement model, for cloud computing. Int J Recent Trends Eng Res (IJRTER) 2(08):210–215

    Google Scholar 

  43. Upadhyay R, Lilhore U (2016) Review of various load distribution methods for cloud computing, to improve cloud performance. Int J Comput Sci Eng 4:61–64

    Google Scholar 

  44. Khan T, Singh K, Hasan MH, Ahmad K, Reddy GT, Mohan S, Ahmadian A (2021) ETERS: a comprehensive energy aware trust-based efficient routing scheme for adversarial WSNs. Futur Gener Comput Syst 125:921–943. https://doi.org/10.1016/j.future.2021.06.049

    Article  Google Scholar 

  45. PalanivelRajan D, Premalatha J, Velliangiri S, Karthikeyan P (2022) Blockchain enabled joint trust (MF-WWO-WO) algorithm for clustered-based energy efficient routing protocol in wireless sensor network. Trans Emerg Telecommun Technol. https://doi.org/10.1002/ett.4502,33,7

    Article  Google Scholar 

Download references

Acknowledgements

We would like to thank all who directly and indirectly support this research.

Funding

No funding received.

Author information

Authors and Affiliations

Authors

Contributions

Conceptualization by Jincheng Zhou, Tao Hai, Dayang Norhayati Abang Jawawi and Umesh Kumar Lilhore; Methodology by Jincheng Zhou, Tao Hai and Mounir Hamdi; Software by Poongodi M and Umesh Kumar Lilhore; formal analysis by Poongodi M, Mounir Hamdi and Cresantus Biamba; Investigation by Umesh Kumar Lilhore and Sarita Simaiya; Resources and data collection by Deema mohammed, Sarita Simaiya; Writing by: all the authors; Validation by: all the authors. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Cresantus Biamba.

Ethics declarations

Ethics approval and consent to participate

The ethics department approves the research of the School of Computer and Information, India.

Consent for publication

There search has consent from all authors, and there is no conflict.

Competing interests

The authors declare no competing interests.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhou, J., Lilhore, U.K., M, P. et al. Comparative analysis of metaheuristic load balancing algorithms for efficient load balancing in cloud computing. J Cloud Comp 12, 85 (2023). https://doi.org/10.1186/s13677-023-00453-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s13677-023-00453-3

Keywords