Keywords

1 Introduction

Cloud is a network that provides on-demand services to the end user over the Internet [1, 2]. Among several services, computing is an essential service provided by the cloud, so users can opt to process and execute their tasks on the cloud computing environment rather than on their local machines [1, 3]. By using limited resources, the cloud uses resource scheduling algorithms and executes the tasks on the cloud Virtual Machines (VMs) by trying to maintain a smooth flow of high task execution and maintain its on-demand availability characteristics [4, 5]. However, the cloud faces major issues and challenges with respect to improper load balancing when the requests are high, and the cloud resources are not available [2]. With accurate load balancing, the cloud can provide better cost and time for processing and executing tasks, otherwise will output limited results. Hence, it becomes essential to study the resource scheduling algorithms with respect to load balancing. The resource scheduling algorithms considered for this study are Max–Min (MX–MN), Minimum Completion Time (MCT), and Min–Min (MN–MN). The tasks are executed in a simulation environment and results are compared with respect to the load-balancing mechanism. The reinforcement learning (RL) [5] mechanism is proposed at the end to improve the load balancing and resource scheduling mechanisms. The research paper is organized as follows: Sect. 2 provides the literature review. Section 3 includes the experimental setup. Section 4 includes the mathematical model for load balancing. Section 5 includes the empirical analysis, followed by the conclusion in Sect. 6.

2 Literature Review

The load-balancing problem is an NP-hard problem. Several researchers have designed and presented their work to address and solve this load-balancing issue. The researchers have proposed a hybrid task scheduling algorithm made from the MX–MN, MN–MN, and genetic algorithm to reduce the makespan and enhance the load balances between the resources [6]. The major use of this hybrid algorithm is the genetic algorithm which decides which tasks should use MX–MN and which ones should use MN–MN. This paper proposed a load-balancing virtual network functions deployment scheme to balance the physical machine loads to save the deployment and migration costs [3]. To improve the poor resource scheduling performance, the researchers have proposed a fuzzy iterative algorithm for the cloud computing environment [7]. The experimental results of this algorithm depict that it can improve the load-balancing mechanism and management efficiency of the cloud platform. This paper presents a load-balancing mechanism applied to a software-defining network in a cloud environment [8]. To balance the load in the host machines, a strategy is presented based on machine learning for Virtual Machine replacement [9].

The researchers have provided a load-balancing scheme to the proposed three-layer mobile hybrid hierarchical peer-to-peer model to balance the load with increasing mobile edge computing servers and query loads [10]. A load-balanced service scheduling approach is presented in this paper, which considers load balancing when scheduling requests to resources using classifications such as important, real time, or time tolerant [11]. This approach also considers the rate of failure of resources to provide better reliability to all the requests. A scheduling method named dynamic resource allocation for the purpose of load balancing is proposed to improve the load imbalance, which affects the scheduling efficiency and resource utilization [4]. The researchers have proposed a load-balancing algorithm to dynamically balance the cloud load in the present work [12]. A novel load-balancing task scheduling algorithm is proposed by combining the dragonfly and firefly algorithms [13]. The researchers have proposed scheduling algorithms for the heterogenous cloud environment to balance the load and time of resources [14].

The researchers have provided a mechanism to ensure that each node in the cloud is appropriately balanced [15]. A hybrid soft computing-inspired technique is introduced to achieve an optimal load of the VMs by tutoring the cloud environment [16]. This technique gives better load-balancing results when compared to other existing algorithms. To minimize the load balancing and overall migration overhead, the researchers have proposed a load-balancing method to provide a probable assurance against resource overloading with VM migration [17]. The researchers have presented two algorithms to distribute the cloud physical resources to obtain load-balancing consolidated systems with minimum power, memory, and time or processing [18]. The researchers have contributed three algorithms to improve the load-balancing mechanism [19]. The researchers have proposed a combination of the swarm intelligence algorithm of an artificial bee colony with the heuristic algorithm to improve the load balancing and makespan and minimize the makespan [20].

3 Experimental Setup

An experiment was conducted in the WorkflowSim environment where the Cybershake tasks are processed and executed on the cloud VMs in four scenarios. The Cybershake 30, 50, 100, and 1000 tasks are processed and executed in each scenario on the cloud VMs in the series: 5, 10, 15, …, and 50. All these tasks are submitted to the cloud for processing and execution. The cloud accepts these tasks and places them in the ready queue, which contains a list of all the tasks waiting to be assigned a VM. The respective resource scheduling algorithm selects the tasks from this ready queue, performs the load-balancing mechanism, and appropriately schedules it to the target VM. Figure 1 depicts the architecture of the conducted experiment.

Fig. 1
An architecture of the conducted experiment. Starting with cybershake tasks, moving on to the Internet, resource scheduling algorithms, load balancing mechanisms, and finally cloud virtual machines.

Architecture of the conducted experiment

4 Mathematical Model for Load Balancing

This section includes the mathematical model for load balancing using the resource scheduling algorithms MX–MN, MCT, and MN–MN.

The task set of the Cybershake dataset used for the experiment is as follows:

$$ {\text{Task set}} = T_{1} + T_{2} + T_{3} + \cdots + T_{n} . $$

The Virtual Machine (VM) set can be depicted as follows:

$$ {\text{VM set}} = {\text{VM}}_{1} + {\text{VM}}_{2} + {\text{VM}}_{3} + \cdots + {\text{VM}}_{m} . $$

Every VM processes and executes tasks, and the count of tasks that the VM has processed and executed is as follows:

$$ {\text{VM}}\left( x \right) = \mathop \sum \limits_{i = 0}^{m} [ {\text{VM}}_{i} = x]. $$

The ideal expected load for each VM ‘m’ processing ‘n’ number of tasks in a certain scenario is as follows:

$$ {\text{Average}} \left( A \right) = \frac{n}{m}. $$

To measure load balance of a VM ‘VMi,’ the amount of deviation caused by the VM ‘VMi’ from the ideal expected average load ‘A’ can be calculated as

$$ {\text{Deviation}}({\text{VM}}_{i} ) = {\text{Absolute}} \left( {\mathop \sum \limits_{i = 0}^{m} [ {\text{VM}}_{i} = x] - A} \right). $$

Load balancing using MX–MN scheduling algorithm: The MX–MN algorithm first finds the minimum execution time (ET) from all the tasks. Later, it chooses the task ‘T’ with maximum ET from them, depicted as follows:

$$ {\text{MX--MN}} \left( T \right) = {\text{Max}} \left[ {{\text{Min}}\left[ {\mathop \sum \limits_{i = 0}^{n} {\text{E.T.}} \left( {T_{i} } \right)} \right] } \right]. $$

Load balancing using MCT scheduling algorithm: The MCT algorithm schedules the task ‘T’ based on the expected Minimum Completion Time (CT) among all the tasks, which can be depicted as follows:

$$ {\text{MCT}} \left( T \right) = {\text{Min}} \left[ { \mathop \sum \limits_{i = 0}^{n} {\text{C.T.}} \left( {T_{i} } \right) } \right]. $$

Load balancing using MN–MN scheduling algorithm: The MN–MN algorithm first finds the minimum execution time (ET) from all the tasks. Later, it chooses the task ‘T’ with minimum ET from them. The below equation depicts the same:

$$ {\text{MN--MN}} \left( T \right) = {\text{Min}} \left[ {{\text{Min}} \left[ {\mathop \sum \limits_{i = 0}^{n} {\text{E.T.}} \left( {T_{i} } \right)} \right]} \right]. $$

5 Empirical Analysis of the Results and Their Implications

This section includes the detailed empirical analysis of the results of the experiment conducted with respect to the load-balancing mechanism along with their implications, which is further divided into four sub-sections: Sections 5.1, 5.2, 5.3, and 5.4 include the empirical analysis with respect to load balancing for Cybershake 30, 50, 100, and 1000 tasks, respectively.

5.1 Scenario 1: Empirical Analysis with Respect to Cybershake 30 Tasks

Table 1 depicts the deviation percentage of algorithms for Cybershake 30 tasks.

Table 1 Deviation percentage of load balancing for Cybershake 30

Figure 2 depicts the deviation graph of algorithms for Cybershake 30.

Fig. 2
A line graph of the percentage of deviation versus the number of virtual machines. M X-M N begins at 59, then drops to 40, and remains constant throughout. M N-M N begins around 62, rises to 90, and then remains constant. M C T begins around 41, rises to 55, and then remains constant.

Deviation graph for resource scheduling algorithms for Cybershake 30

Table 2 depicts the empirical analysis of load balancing for the resource scheduling algorithms with respect to Cybershake 30 tasks.

Table 2 Empirical analysis of load balancing with respect to Cybershake 30 tasks

From Fig. 2, Tables 1 and 2, following points can be observed for Cybershake 30 tasks:

  • ↑ VM = ↑ LB: As VMs increase, load balancing improves for MX–MN.

  • ↑ VM = ↓ LB: As VMs increase, load balancing degrades for MCT and MN–MN.

  • Performance (MX–MN) ≈ Performance (MCT) ≈ Performance (MN–MN).

5.2 Empirical Analysis with Respect to Cybershake 50 Tasks

Table 3 depicts the deviation percentage of algorithms for Cybershake 50 tasks.

Table 3 Deviation percentage of load balancing for Cybershake 50

Figure 3 depicts the deviation graph of algorithms for Cybershake 50.

Fig. 3
A line graph of the percentage of deviation versus the number of virtual machines. M X-M N, M C T, and M N-M N begin at around 30, 31, and 50 and then increase.

Deviation graph for resource scheduling algorithms for Cybershake 50

Table 4 depicts the empirical analysis of load balancing for the resource scheduling algorithms with respect to Cybershake 50 tasks.

Table 4 Empirical analysis of load balancing with respect to Cybershake 50 tasks

From Fig. 3, Tables 3 and 4, following points can be observed for Cybershake 50 tasks:

  • ↑ VM = ↓ LB: As VMs increases, load balancing degrades for all algorithms.

  • Performance (MX–MN) > Performance (MN–MN) > Performance (MCT).

5.3 Empirical Analysis with Respect to Cybershake 100 Tasks

Table 5 depicts the deviation percentage of algorithms for Cybershake 100 tasks.

Table 5 Deviation percentage of load balancing for Cybershake 100

Figure 4 depicts the deviation graph of algorithms for Cybershake 100.

Fig. 4
A line graph of the percentage of deviation versus the number of virtual machines. M C-M N, M C T, and M N-M N begin around 19, 41, and 10, and gradually increase to above 80. M X- M N decreases between 15 and 20.

Deviation graph for resource scheduling algorithms for Cybershake 100

Table 6 depicts the empirical analysis of load balancing for the resource scheduling algorithms with respect to Cybershake 100 tasks.

Table 6 Empirical analysis of load balancing with respect to Cybershake 100 tasks

From Fig. 4, Tables 5 and 6, following points can be observed for Cybershake 100 tasks:

  • ↑ VM = ↓ LB: As VMs increase, load balancing degrades for all algorithms.

  • Performance (MX–MN) > Performance (MN–MN) > Performance (MCT).

5.4 Empirical Analysis with Respect to Cybershake 1000 Tasks

Table 7 depicts the deviation percentage of algorithms for Cybershake 1000 tasks.

Table 7 Deviation percentage of load balancing for Cybershake 1000

Figure 5 depicts the deviation graph of algorithms for Cybershake 1000.

Fig. 5
A line graph of the percentage of deviation versus the number of virtual machines. M C-M N, M C T, and M N-M N begin around 4, 4.9, and 3 and gradually increase. M X- M N falls to 3 after 45 V M s. The values are estimated.

Deviation graph for resource scheduling algorithms for Cybershake 1000

Table 8 depicts the empirical analysis of load balancing for the resource scheduling algorithms with respect to Cybershake 100 tasks.

Table 8 Empirical analysis of load balancing with respect to Cybershake 1000 tasks

From Fig. 5, Tables 7 and 8, following points can be observed for Cybershake 1000 tasks:

  • ↑ VM = ↓ LB: As VMs increase, load balancing degrades for all algorithms.

  • Performance (MX–MN) > Performance (MN–MN) > Performance (MCT).

6 Conclusion

Load balancing plays a critical role in improving cloud performance. With an enhanced load-balancing technique, the performance of the cloud will be enhanced; otherwise, the cloud faces increased downtime with improper load balancing. Therefore, it becomes vital to study the resource scheduling algorithms with respect to the load-balancing mechanism. In this research paper, the Cybershake 30, 50, 100, and 1000 tasks were processed and executed in the WorkflowSim environment utilizing the resource scheduling algorithms MX–MN, MCT, and MN–MN under four different scenarios. Based on the experiment, results, and empirical analysis, it can be concluded that the load balancing degrades as the number of tasks increases in each scenario. The performance of all these algorithms is similar when the task size is comparatively smaller. With a gradual increase in the tasks in every scenario, the MX–MN algorithm gives the best performance, followed by performances of MN–MN and MCT algorithms, respectively. To improve the load-balancing mechanism, the cloud system should be provided with an intelligence mechanism. The machine learning (ML) technique of reinforcement learning (RL) is well known for enhancing the performance of any system when applied to it. RL's mechanism is similar to how humans learn, i.e., using feedback, trial and error, and past experiences. The significant advantage of applying RL to the cloud is that no past data is required for the cloud to learn. The cloud will first be in a learning phase with RL. Over time, the cloud system will understand and adapt load balancing, improve its resource scheduling, and ultimately improve the overall cloud performance.