Keywords

1 Introduction

Cloud Computing [1, 2] is an evolving software deployment and maintenance trend that is being embraced by industries like Microsoft, IBM, Google, and eBay. IBM-Blue Cloud framework, eBay Cloud, Google App Engine, as well as Distributed Computing Platform are many conceptual systems and frameworks. Cloud Computing is seen as the upcoming development which would influence organizational organizations and also how they handle their IT infrastructure and services. A key researching area is infrastructure and technology which cloud services and deployed models have presented.

The Internet has always been a driving factor in the advancement of different technologies. Cloud Computing is arguably the most debated amongst all these. The cloud computing model has seen an immense shift toward this usage over the last several months and has become a standard in the IT space as it offers its users and suppliers substantial cost savings including new business potential [3]. The benefits that use cloud computing are including:

  1. (1)

    Minimization in the maintenance cost and its hardware cost.

  2. (2)

    Accessible to all.

  3. (3)

    Flexible including automatized procedures in which the client does not have to think about complex problems such as software up-gradation [4, 5].

Although the concept of cloud computing has various variations, this new computing model is defined by certain fundamental concepts. Cloud Computing offers technical resources that are provided on-demand as-a-service through the use of the Web, typically managed across premises. Big Evolution in the field of computer science, a service. CC can efficiently and securely deliver various IT services and resources according to the requirement of the user. Cloud computing offers usage-driven applications. It provides services like Infrastructure as a Services (IaaS), Platform as a Services (PaaS), and Software as a Services (SaaS) [6]. Clients of such resources don’t own infrastructure in the remote cloud, yet pay for resources on the per usage, provided that a 3rd party operates and maintains the public cloud. The main principle, therefore, is the virtualization of resources. They rent the physical infrastructure, systems, and software inside a shared structure in a realistic situation. From virtual networks, computing systems, integrated data center, end-user web apps, and web services to immense computing-oriented service, security features will differ.

In many fields of ITs, cloud computing can be used to resolve issues such as GIS, Science Research, Decision Making, ERP, e-Governance Systems [7], Web App Creation, Mobile Technologies, etcetera. As the main back-end computing infrastructure, cloud computing depends on data centers [8]. With the need for cloud computing more dramatically in recent years, geographically dispersed data centers are offering more and more cloud resources to improve the reliability and consistency of services. A huge amount of energy is essential to operate these geographically dispersed data centers, which represent around 15% of the overall cost of a data center (DC) [9].

However, considering data centers as supercomputers with shared resources or making the second stage simple, consistent with servers, new approaches to geographical load-balancing (GLB) as in Fig. 1 [10] mostly concentrate on the first phase, i.e. the proportion of work demands that are assigned to each data center, of employment planning. Moreover, the existing GLB approaches often rely on a specific resource dimension (for example, CPU) and consistent resource need, without taking into account the requirements of many separate jobs and heterogeneous resources. This is significant, in particular, because modern data centers are usually built from a variety of server groups with various processing capacity, size of memory, and storage spaces specifications [11]. The diversity of the market profile for workloads for different occupations exacerbates such heterogeneity further, e.g. CPU intensive numerical computing activities are generally required while high memory support is normally required for database operations [12].

Fig. 1
figure 1

Cloud load balancing

Load must be spread among the cloud-based networks such that there must be no over-utilized or underutilized nodes within the networking process. LB is a common cloud problem that makes it difficult for applications adjacent to QoS (quality of service) measurement to sustain performance according to the SLA (service level agreement) document essential by enterprise cloud providers. Cloud providers have difficulty distributing similar workloads through servers. Effective LB technology can maximize and guarantee high user satisfaction by effectively using VMs resources [13].

In the cloud environment, a load must be balanced through various techniques. Algorithms of LB may be split into Algorithms for dynamic LB and static LB. Load is spread by previous knowledge and information in the Static LB Algorithm. Static algorithms at the same time do not take account of the current workload [14]. These algorithms are for the less work-loaded cloud. Dynamic LB Algorithms take into account current work Cloud load. Centralized and Semi-distributed LB algorithms can be categorized into dynamic LB algorithms [15]. Intelligent strategies like GA (Genetic Algorithms), PSO (Particle Swarm Optimization), ACS (Ant Colony System), and ABC (Artificial Bee Colony) can address problems of load balancing [16]. Various analysis was undertaken in the area of LB and TS in the cloud environments.

The task scheduling [17], known for providing essential cloud service efficiency, currently represents a related hot topic. However, due to inappropriate scheduling, the dilemmas of resources that are underused (unloaded) and overused (overloaded), may emerge, leading respectively to either wastage of cloud resources or a decrease in services. So, the idea to incorporate meta-heuristic algorithms into TS has arisen so that complicated and varied incoming tasks (cloudlets) can be easily distributed within a reasonable time to available resources. The meta-heuristic techniques have shown themselves to be very able to solve scheduling problems, which are met by giving a detailed overview of traditional and heuristic approaches before deeply expanding into common cloud task meta-heuristic methods, then comprehensive systematic review, which includes new taxonomy and advantage of those methods.

More specifically, major contribution keys of this study may be organized as follows:

  1. (1)

    Comprehensive study about cloud computing evolution and architecture

  2. (2)

    Studying the mechanisms of existing load balancing.

  3. (3)

    Providing an overview about task scheduling in cloud computing

  4. (4)

    Identify important areas where new research can be performed with the optimization principle to better load balancing algorithms.

  5. (5)

    A systematic analysis is presented on cloud meta-heuristic TS.

  6. (6)

    Identifying research gaps and issues exist that can be further hurdle to researchers for LB algorithms

The below is paper systematized: Section 2 elaborates the cloud computing concept with their architecture. It also consists of data center networking for VMs. At last, it talks about motivation of study. Section 3 elaborates the review of load balancing techniques, and task scheduling in CC in Sect. 4. Metaheuristic optimization algorithm comparison shows in Sect. 5. Section 6 explains related work also identifies some research gaps and issues and Sect. 7 concludes this work.

2 Cloud Computing: Architecture

Web-based tools and technologies can be found in cloud computing resources. This allows the users to work remotely because the cloud can be used as “Internet”. Therefore, it is not processed as traditional outsourcing. It is also called Massive Computing. In this, the allocation of applications must be dynamic. No hardware or software has to be installed. Cloud computing aims to enable people who have no deep knowledge of information about all technology and applications [18].

2.1 Overview

“Cloud” is a virtualized reusable resource computing pool. It can change or handle a variety of workloads. The “Cloud’ term is a tarn of enormous infrastructure possessions, offering various utilities and hardware implementations as well as device software to end-users, alternatively enabling end-users to access their computing needs inconsistent way. The user needs no information about where to discover the device requirement and how the cloud operates. Cloud providers manage all obtainable tools to consumers where ‘computing’ is defined on an ‘SLA’. Cloud computing offers inevitable benefit in sharing over the internet of many configurable system properties and higher-level administrations that may be built with very little board effort. Cloud computing has been developed to promote the use of virtualization technology to allow end-users to use virtual services without infrastructure at a reasonable cost [19]. Cloud Computing Evolution in IT in shown in the Fig. 2.

Fig. 2
figure 2

Cloud computing evolution in IT [20]

Now we are describing different modes of cloud computing as follows [21]:

  1. (1)

    Public Cloud: They are managed by CSP which owns facilities and data centers. Infrastructure is located on-site and companies may use pay-as-you-go and on-demand services.

  2. (2)

    Private Cloud: It is only created and operated by certain enterprises however 3rd party companies have control on behalf of the cloud owner to handle it.

  3. (3)

    Hybrid Cloud: It combines an only selection of all kinds of cloud deployments, such as public, private, or community cloud. Core operations are conducted in a private cloud, while a public cloud offers fewer basic resources.

  4. (4)

    Community Cloud: Several organizations or institutions of a shared purpose are sharing the community cloud. Universities that do this for learning and research are typical examples.

2.2 Features of Cloud Computing

Compared with other computing paradigms, CC provides a range of new features [22] and advantages. This section is briefly identified.

  • Scalability and On-Demand Services: Cloud computing connects customers on request with resources and services. Resources may be scaled across several data centers.

  • QoS (Quality of Service): In terms of CPU performance or hardware, memory capacity, and bandwidth, CC may provide QoS for users.

  • User-Centric Interface: Cloud interfaces are locational isolated and well-defined interfaces including web services and web browsers enable them to be accessed.

  • Autonomous System: CC applications are user-friendly, transparently controlled decentralized systems. But, software and data inside clouds may be reconfigured and merged automatically into a basic, user-specific platform.

  • Pricing: Cloud computing requires no investment at the start of the project. There is no need for capital expenses. Users can pay for services and capacities or pay for them, as they require them.

2.3 Architecture

The applications, data, and utilities are all maintained in the cloud over the Internet and run applications, as well as stored data through the provision of software resources on-demand services in CC architecture. The back end and front end of a cloud architecture can be separated. The front end is available to the user by internet connections, enabling user interactions with the system [23]. The back end includes different cloud service models [24], like SaaS, PaaS, and IaaS. Often referred to as ‘Layered computing model’ is cloud computing architecture [25]. CC architecture can be classified into 4 layers that are hardware layer, infrastructure layer, platform layer, application layer as seen in Fig. 3.

Fig. 3
figure 3

Architecture of cloud computing

Description of each layer is defined as follows [26]:

  • Hardware Layer: Cloud is handled with physical resources. Controlling physical servers, switches, routers, the power system is the responsibility of the hardware layer. The implementation of the hardware layer is provided in a data center. There are several servers interconnected by routers and switches in the data center. Hardware layers have several issues including fault tolerance, hardware configuration, traffic management, and management of resources.

  • Infrastructure Layer: The virtualization layer is named as well. Cloud computing is an important aspect. Infrastructure layers focused on core aspects such as the use of virtualized technologies for the dynamic assignment of resources. The infrastructure layer uses virtualization techniques to collect processing and storage resources and divide physical resources. E.g. Xen, VMware.

  • Platform Layer: This layer is made up of operating system and application framework. It is installed on top of the infrastructure layer. The key principle of the platform layer is CC to reduce overhead for direct deployment in VM containers. E.g., Google App Engine runs on a platform layer to allocate API supports for data storage of various web applications.

  • Application Layer: It is built on the top level of cloud architecture. It is composed of an actual cloud application. Cloud applications have essential features to achieve better performance, lower operating cost, availability, and scalability.

Thus, this architecture is more modular than other architecture (traditional architecture). Loosely coupled concepts are used in each layer. This architecture allows cloud computing to meet a vast variety of applications and to decrease total costs. No need for the high-power computer to run web-based applications is available in the cloud computing infrastructure.

2.4 Data Center in Cloud Network

Cloud migration platforms are a new and rapid trend. Cloud offers a standardized front-end interface, enabling a large number of applications to be executed on a similar hardware platform. DCs are the backbone of cloud computing development networks. Cloud output depends on the data centers’ computing, storage, and network availability [27]. The demands for cloud working load in today's data centers, thus, is reflected in demands for resources.

The data center consists of servers, devices and storage, cooling systems, network devices, power systems, etc. [28]. DCs are for large-scale systems for services like online enterprises, smart grid and mathematical computations. DC is being used to model core services on the cloud infrastructure network. It comprises a group of hosts who handle a group of VM whose roles are to handle “low-level” processing, and a minimum of 1 DC should be set up to commence simulation.

Virtualization technologies [29, 30] are additionally supplied to data centers which allow multiplexed and shared multiple resources between huge no. of users by various time-varying access patterns [31]. DC management is difficult. There are approximately two types of challenge:

  1. (1)

    Management of resources, which focuses on dynamic workloads management provided a resource pool and

  2. (2)

    Planning of capacity, which concentrates on the provision of resources.

DCN (Data Center network) comprises DC also offers data center connections, as defined in its networking topology, the routing and switching equipment as well as the protocols it uses [32]. for the following purposes DCN provides some features to better organize cloud computing [33]:

  • DCN allows thousands of data center servers to be efficiently connected such that cloud computing can extend its operation easily by adopting the DCN topology.

  • In massive machine-to-machine connectivity, DCN provides traffic reliabilities and efficiencies that generate activities of cloud computing as working loads distributed on servers at data centers.

  • DCN embraces different techniques of virtualization that help DCN build virtual machines (VMs), virtual networks, and virtual functions. The DCN should be scalable to isolate and migrate to large numbers of virtual instances.

  • Existing DCN research has produced applications in some use cases, including green computing and DC backup, that may also address challenges of cloud infrastructure.

2.5 Virtual Machines in Cloud Computing

Cloud computing includes parallel processing principles and distributed computing to provide shared services via physical server hosting VMs. The service-orientated architecture reduces connectivity costs to collect customer information deliver more flexibility and demand-driven services, etc. The premise behind the generated cloud computing concept is that the processing of information is a public service, which can be achieved more effectively in massive computer farms and storage systems that can be made available worldwide through the Internet. Effective management of VMs [34] specifically affects the use of the system's resources and QoS. The amount of VM distributing across physical servers seems to be inconsistent over a certain period, given the dynamic nature of the cloud environment. In this case, VMs have to be moved from an overwhelmed server to a load-based server to balance the load.

Figure 4 presents the general cloud data center VM scheduling process. Scheduling can be widely categorized into user applications, control of resources, and scheduling mode.

Fig. 4
figure 4

Process of VM scheduling [35]

VM’s component handles the allocation of various hosts to various virtual machines so that the computing cores can be allocated (by the host) to VMs. This configuration is based on method, and the default VM assignment policy is ‘first-come, first-serve.’ Virtualization allows the live migration of VMs [36] with several VMs loaded on several physical machines (PMs) referred to as VMs. An efficient strategy to reduce energy consumption, operational costs, hardware costs, conformance/violation of SLAs, CO2 emissions also enhance hardware and service reliability, efficiency and hardware life, LB and use of a CCS may be a VM consolidation algorithm. VM consolidation in the cloud environment can essentially reduce energy use and QoS.

2.6 Motivation of Study

The modern cloud computing model offers sophisticated benefits and benefits compared to previous computing paradigms and is adapted, migrated, and adopted by many organizations. Cloud computing has evolved from a prospective logic over the past few years; business is the idea of virtualization to a rapidly increasing sector in the IT sector. Today, recession-hit firms are becoming increasingly aware that they can easily tap into the cloud and quickly access best-of-breed business applications or drastically enhance their infrastructure services at marginal costs. But, some issues, difficulties and effects are still found which scholars, academics and business intelligence (BI) practitioners are presently addressing.

Clouds still present enterprises with security concerns [37] by using cloud computing. Upon details and IT critics behind the firewall, users are still concerned about the susceptibility to attack. Computing in clouds also provides reliability around the clock. There were some cases of outages for a few hours from cloud computing services. Contrary to the conventional computing model, cloud computing uses virtual computing technologies, as users have access to cloud computing services, they can leak hidden information. Attackers will evaluate crucial jobs based on the user's computing task [38]. The growth of cloud computing needs to open standards. The interpretation of most cloud providers with an [39] API, usually well-documented but often special to its execution and thus not interoperable. Heavy transaction-oriented also other applications of data-intensive in which CC can miss sufficient efficiency can be the key to performance. In addition, users far from cloud-based services suffer from high latency and delay. Software and hardware can be saved for companies offering the CC; however, higher latency costs can be incurred. Bandwidth costs may be small for smaller internet applications and not resource-intensive, nonetheless data-intensive applications can rise significantly. Users can be certain that even certain cloud computing services providers can never become irrelevant, or get bought and swallowed up by some bigger company. “Cloud potential providers can retrieve the data and it is imported into replacement application through either format” -Gartner [40]. Cloud service providers are required to comply with legal issues concerning data responsibility and ownership for loss or misuse of data. Legal problems vary from those caused by traditional hosting or outsourcing [41]. These problems and challenges encourage us to focus more on this subject of cloud computing problems.

3 Load Balancing in Cloud Computing

LB is a key problem and issue in cloud environments [42]. The method of allocating and reassigning the load between usable resources is designed to optimize performance, minimize cost and response times, improve efficiency, resource use and save energy. Excellent load balancing strategies can include SLA and user satisfaction. Therefore, it is a prerequisite to the performance of CC environments to ensure reliable algorithms and processes for load balancing.

LB model is demonstrated in Fig. 5, LB accepts user requests and executes load balancing algorithms to allocate applications to VMs. Load balancer determines that VM's next request must be allocated. The controller of DC is responsible for task management. LB algorithm provides tasks to delegate tasks to appropriate VM. VM manager is responsible for VMs. Summary of LB policies are shown in Table 1.

Fig. 5
figure 5

Load balancing model [43]

Table 1 Summary of LB policies

Virtualization is leading CC technology. Virtualization aims mostly to share costly hardware between VMs. VM is computer software execution on which operating systems and applications will work. The user requests are processed by VMs. Users are found around the globe and send their requests arbitrarily. For processing, requests must be delegated to VMs. The distribution of tasks is also an important problem in CC. If several VMs are overloaded when others are idle or have some work to do, QoS is reduced. By reducing QoS, consumers are not happy with the system and will never return. The VM is created and managed by a hypervisor or VMM (Virtual Machine Monitor). Multiplexing, suspension (storage), provision (resume) and life migration [44] are four operations of VMM. For load balancing, certain operations are required. In [45] it was specified that load balance would take account of two tasks: allocation of resources and scheduling of tasks. The effect of these 2 tasks is high infrastructure availability, increased use of power, energy savings, reduced cost of resource use, maintaining cloud storage elasticity, and reducing carbon emissions.

3.1 Classification of LB Techniques

This section describes basic testing activities using various approaches to load balancing. The study of the various methods of load balancing for edge computing is explained as follows [46].

Different forms of strategies of LB are seen in Fig. 6. Different types are introduced to provide an improved balance of loads in edge computing, like security, traffic-load based, heterogeneous, optimization-based, joint-load based, heuristic and multi-access based, dynamic load-based, allocation-based, and allocation-based approaches.

Fig. 6
figure 6

Categorization of LB techniques in CC

3.2 Load Balancing Metrics

The metrics for LB in CC are reviewed in this section and summarized as follows [47]:

  • Response time: It calculates the overall time required to fulfill a submitted task by the system.

  • Throughput: This measurement is utilized to quantify the number of processes per unit time performed.

  • Scalability: An algorithm is capable of uniform LB in the system as per demands, as no. of nodes increases. It is a highly scalable preference algorithm.

  • Makespan: This metric is utilized to measure maximum completion time or the amount of time a user has attributed the tools.

  • Migration time: time to switch tasks from overloaded node to undercharged node.

  • Fault tolerance: It decides the algorithm's capacity to perform LB in event of such nodes or ties breakdown.

  • Performance: After the LB algorithm, it tests system efficiency.

  • Degree of imbalance: This measurement the imbalance of VMs.

  • Carbon emission: The amount of carbon that all materials generated is calculated. Load balancing played an important part in reducing this metric by switching and shutting loads from underloaded nodes.

  • Energy consumption: It determines how much energy all nodes consume. Load balancing prevents overheating and thereby reduces energy consumption by LB across all nodes.

4 Task Scheduling in Cloud Environment

Cloud computing handles a range of virtualized capabilities that make planning an important component. A customer can use thousands of virtualized properties in the cloud for each task [48]. Manual scheduling is therefore not a workable alternative. The underlying concept behind scheduling consists of distributing tasks (complex and diverse nature) between cloud resources in a manner that reduces time losses and maximizes efficiency by scheduling algorithms. Several study activities have in the past looked at task planning. Cloud operating resources are tracked and loads are computed for any resource before assigning workload or tasks on VMs (resources). If any VM is in over-used mode, a task for those types of resources is not assigned.

The task is a workpiece to be carried out within a given time frame. Inside the cloud, the task is in two forms [49]: a task that is independent and dependent. Task scheduling is the mechanism by which the services are assigned to this task for a certain amount of time. TS is a very common theme in the field of CC. It is used to plan tasks to improve the usage of resources by the allocation of such tasks to definite resources in particular. The main objective of the task algorithm is to increase reliability, enhance service quality, maintain productivity across tasks, and reduce costs. In the TS process, virtual tools are used to their maximum potential. For high performance, effective resource scheduling is essential. The completion period and the cost of completing the task are two different criteria.

4.1 Types of Task Scheduling

Categories of TS are as follows [50]:

  • User-Level Scheduling

  • Cloud Service Scheduling

  • Heuristic Scheduling

  • Static and Dynamic Scheduling

  • Workflow Scheduling

  • Real-Time Scheduling.

4.2 Framework of TS in CC Environment

There is a framework [51] for the TS system in CC. In Fig. 7, users are accessing the cloud environment through the internet. The cloud part shows how the cloud is managing to serve various requests given by the consumers.

Fig. 7
figure 7

Framework of TS in CC environment

  1. (1)

    SLA Monitor: First, a client sends the service request. SLA monitor then reviews the requested QoS application before deciding whether the submission should be accepted or denied. SLA Monitor is responsible for monitoring the success of the job submitted and disciplinary measures must be taken promptly if there are any violations.

  2. (2)

    Resource Discovery and Monitoring: Resource search can essentially be defined as the job of the manufacturer to locate the right resources to satisfy incoming customer demands. Cloud computing's main advantages are the ability to receive and distribute data on demand, so the management of resources must be continuous.

  3. (3)

    Task Scheduling: The input of the algorithm for task scheduling is usually an abstract model. This abstract model describes tasks without defining were tools to perform the tasks are physically placed.

  4. (4)

    Reschedule: If a task cannot be done due to a processor malfunction or other problem, the incomplete task in the next calculation will be rescheduled.

  5. (5)

    Scheduling Optimizer: Several relevant candidates are illuminated after the information is obtained about the available resources in the cloud. The framework for resource selection chooses a solution that meets all demands and optimizes infrastructure usage. The allocation of resources can be made using an algorithm for optimization. Various optimization methods can be used by common and well-known techniques, including simple metaheuristic algorithms. Examples include GA, ACO and PSO for the cloud.

  6. (6)

    Advanced Resource Reservation Monitor: The Advanced Resource Reservation Control ensures QoS connections in the data center to different services. In the future, users will protect the necessary services. This is necessary if some processors need to be run to complete critical time applications such as real-time and Workflow applications for parallel applications. Providers can more reliably forecast potential demand and use.

  7. (7)

    Data Centers and VMs: Data centers are the infrastructure or hardware part where all the physical servers present. Physical servers are not used as viable users. Through virtualization, they are converted into different VMs and users’ jobs are going to run on these VMs in scheduling tasks.VM manager manages the VMs.

5 Meta-Heuristic Optimization Techniques

Due to the usefulness of these metaheuristic algorithms in solving massive computational and complex problems [52] has been enormously common in the past 20 years. There are some useful metaheuristic characteristics such as:

  1. (1)

    These algorithms are not unique to problems.

  2. (2)

    Effectively explore a meta-heuristic algorithm in search areas to find (near) optimal solution or sub-optimal solution of NP-complete problems.

  3. (3)

    Approximate and typically non-deterministic meta-heuristic algorithms.

Metaheuristic algorithms are problem-independent and can be used to solve issues in a variety of domains. Metaheuristic approaches are standard techniques for solving NP-hard optimization problems.

$$ {\text{Meta{-}heuristic}} = {\text{Heuristic}} + {\text{Randomization}}. $$

Many meta-heuristic algorithms are available in the cloud environment to find an approximate (suboptimal) solution to an NP-Complete problem in a short amount of time. TS is one of the problems due to the vast space for a solution which takes a long time to find an optimal solution. Diverse choice of meta-heuristic algorithms like PSO, ACO, GA, Artificial Bee Colony (ABC), Simulated Annealing (SA), Differential evolution algorithm (DEA), BAT optimization, Bacteria Foraging Optimization, Firefly optimization, Cat swarm optimization, Lion optimization, Cuckoo search, etc.

We also addressed and analyzed numerous task scheduling algorithms in the cloud environment with a meta-heuristic method and their benefits and drawbacks (demonstrated in Table 2). In evaluating precision solutions to a specific problem, the right choice of the optimization algorithm is greatly helpful. At first, we will analyze the PSO algorithm since it is easier to converge the PSO algorithm and the complexity than other metaheuristic algorithms.

Table 2 Summary of the tested meta-heuristic algorithms, including their benefits and drawbacks

6 Literature Survey

  1. 1.

    Oliveira et al. [3] Recently, a great many projects have carried out extensive cloud research, including load balancing and task scheduling. These works illustrate some of the core problems facing state-of-the-art load balancing applications. Several task scheduling mechanisms have been defined by many researchers for load balancing.

  2. 2.

    Jena [53], focused on TSPSO (task scheduling using multi-objective nested particle swarm optimization) to enhance energy and processing time. Outcome from TSPSO was simulated through cloud platform for open source applications (CloudSim). The findings were finally related to the existing scheduling algorithms and found an optimum balance outcome for different goals with the proposed algorithm (TSPSO) [54].

  3. 3.

    Wang and Zhou [55], Proposed a technique for solving the MapReduce load imbalance issue created by the use of the default partition algorithm of the Hadoop platform. This suggested approach will optimize the activities and balance inputs of a decrease process in the map phase by using multiple partition techniques. Moreover, this suggested technique will use idle nodes to completely offset high load nodes, to attain optimum work scheduling throughout the reduction phase execution method [56].

  4. 4.

    Velde and Rama [57], In this cloud partitioning strategy, LB and resource optimization are effectively extended. Besides the optimal time of refresh that sets the state adjustments of the data center partitions for efficient use of resources. CloudSim is a simulation platform utilized to create prototype applications to prove hypothesis proof. Results have shown that this approach increases cloud resource efficiency, performance, and optimization [53].

  5. 5.

    Basha and Padmavathi [58], proposed an innovative, dynamic, and elasticity algorithm perform LB by ACO to perform load Balance between Systems existing in DCs [55].

  6. 6.

    Vijayakumar and Kanthimathi [59], The suggested scheme used additional virtual machines using genetic methods to address the requests of the highest virtual machines. The allocation of the best virtual machines will deal with demands very efficiently and quickly. During execution, the load might be balanced via the ACO technique if those VMs were overloaded by requirement. The above strategy will share the extra charge with other virtual machines, gently loaded and idle. On the other hand, after their work completion or in idleness total energy consumption is enhanced by turning away VMs [57].

  7. 7.

    (MPSO) hybridization and an improved Q-learning algorithm called QMPSO. Hybridization is done to change MPSO velocity by pbest and gbest depends upon the best action provided by improved Q-learning. The objective of hybridization is to improve machine performance by balancing the charge among VMs, optimize VM's output and maintain the balance between task priorities by maximizing the time of work. By comparing QMPSO results obtained during the simulation process with the existing LB and scheduling algorithm, the robustness of this algorithm is evaluated. The simulation compared with real results of the platform reveals that the proposed algorithm outperforms its competitor [60].

  8. 8.

    Malik and Bansal [61], An optimized approach to scheduling model and resource cost scheduling model labeled MultiFaceted Optimization Scheduling Framework (MFOSF) was timely in this study to resolve the restrictions and change solution quality. The resource Cost model shows the relation between customer budget and production costs during scheduling. PSO can be used to achieve a model focused on optimizing efficiency and cost. There have been several simulations to test this approach using 4 different metrics (a) Makespan (b) Cost (c) Resource Utilization (d) Deadline. Based on the above parameters, experimental results demonstrate that the MFOSF-PSO approach was better than other models and in the best-case scenario increased by 57.4% [61].

  9. 9.

    Devaraj et al. [62], As a firefly hybrid and Improved Multi-objective Particle Swarm Optimization (IMPSO) technology, abbreviated as FIMPSO, the latest LB algorithm is proposed for use. This technique uses FF (Firefly) algorithm to limit search space to detect the improved response using the IMPSO technique. The proposed FIMPSO algorithm generated and improved effective average load for crucial measures, including proper use of resources and response time for tasks. The simulation result has shown the efficient performance of the FIMPSO model suggested compared to other methods. From the resulting simulation, the FIMPSO algorithm is understood to have generated a successful outcome with an average response time of 13.58 ms maximum, overall CPU usage of 98%, 93% memory utilization, 67% reliability and 72% throughput, along with 148, which were superior to all other techniques compared [62].

  10. 10.

    Miao et al. [63], The new algorithm called adaptive Pbest Discrete PSO (APDPSO) for PSO-based static load balancing was proposed to combat this problem. Good solution held in the external archive is used to upgrade the particles’ personal best positions and to update velocity and direction vectors of particles by proposing a probability and comparability approach for PSO. MATLAB and CloudSim systems perform simulation experiments with random synthetic tasks. The findings revealed that our proposed algorithm dramatically increased swarm convergence and diversity and reduced the level of load imbalance relative to state art in the field [63].

6.1 Research Gaps and Issues

This section addresses the study deficiencies of cloud computing that need to be addressed in terms of existing load-balancing techniques.

  • Lightweight security solutions were not considered for increased LB efficiency [64].

  • Method [65] failed to implement the paradigm built-in CC and real field of joint edge computing. The procedure failed to increase QoE and reduce incoming traffic based on the adaptive bitrate approach for mobile video streaming and optimized edge caching [66].

  • The cross-layer approach on heterogeneous networks was more complicated [67].

  • The approach in [68] neglected to take into account MEC server security levels, which is very important to industry data.

  • In [69], the complexity was not properly calculated and the reliability was not improved. In [70] the strategy to balance the positive and negative impacts on the migration of services has not been established.

  • The method in [71] needed additional major structures for orchestration to improve the system performance.

  • Performance has been improved, but the allocation of vehicles was highly imbalanced, leading to inefficient QoS for a vehicle to infrastructure (I2V) communication [72].

  • However, the forecast was inaccurate because the task length was smaller and the training set was not included [73]. Large-scale heterogeneous MEC problems for optimizing training speed were not taken into consideration [74].

  • In [75], live video and car navigation services could not be used. No further data sets were considered to improve the system's performance [76].

  • The load-aware user associations that contain dynamic settings were not taken into account [77]. The transmitting power and rates of SCBSs were not taken into account in [78] to achieve minimum energy consumption.

  • Because of many interferences and noises, the communication channel was not perfect [79]. They are normally unable to understand the degradation of QoE [80]. The process of the reorder did not however alter the efficiency of the load balancing [81].

The challenges of these approaches are taken into account as a reason for developing a new load-balancing method.

7 Conclusion

AC is the product of the Virtualization concept-enabled grid computing. LB is a challenge in the cloud environment, as it is a complex task to share the task equally between VMs. LB is the main CC mechanism that prevents overloading nodes. Load balancing stabilizes service quality (QoS), covering response time, cost, throughput, efficiency, and the use of resources. At the height of time, servers cannot manage incoming requests with no. of VMs available, meaning that some additional virtual machines needed to be run without fault or delay. The benefit of switching to a virtual environment is important, but there are significant efficiency and cost optimization issues in cloud computing due to different types of need for resources and multiple tasks. The success standard and requirements of SLA to be retained therefore become very difficult because of these constraints. Various alternatives to the planning model and resource cost timeline model have been applied to solve these limitations and to change solution quality. Different meta-heuristic optimization strategies were applied to conduct TS in the CC environment to manage demand on virtual machines.

This survey will offer an idea of the newest developments in LB in cloud systems and will provide an analysis of the technological advances, company benefits and growing use of data centers, and future trends. Amazon EC2, Microsoft Azure, and Google App Engine are compared. This article highlights research gaps and load handling problems in CC andsummarizes the superiority of CC. The future analysis is to find effective methods for calculating the cloud results.