Performance Analysis of an Improved Load Balancing Algorithm in Cloud Computing

: Cloud computing consists of a cluster of computing resources that are delivered over a network, which is accomplished by utilizing virtualization technologies to consolidate and allocate resources suitable for various different software applications. Therefore, an efficient task scheduling in the cloud would be required to improve the performance of the cloud. In this paper, implementation of a model that seeks to improve load balancing algorithm for virtual machine load balancing was performed using simulations. A method by which average burst time was used as the time quantum for the round robin load balancing algorithm to achieve more effective time sharing. Results obtained from the simulations along with performance evaluation carried out shows response time and data center processing time achieved using the improved model is slightly minimal compared to the other algorithms. This shows more effective load balancing by achieving a better overall throughput


Introduction
Cloud Computing is the collection of large number of resources like hardware and software that are provided by the cloud providers to the consumers as a service over the internet. In cloud computing every task requires to be executed by available resource to achieve minimum waiting time, reduce makespan and maximum utilization of resources. Considering the growing importance of cloud, finding new way to improve cloud services is an area of concern and research focus. The aim of task scheduling is to assign tasks to available resources such that the overall time compulsory to execute all tasks is minimized. Round Robin scheduling Algorithm is one of the task scheduling algorithm mostly used in cloud computing. The reason for this is that round robin algorithm employs time-sharing, giving each job a time slot or quantum thus result to be less complexity and maintains fairly load balancing [6].
Although, round robin scheduling algorithm is one of the standard and widely used algorithm in cloud computing, it has a potential drawback. The performance level of round robin scheduling on cloud depends on the slice/quantum time [11]. An improved round robin scheduling approach was selected for VM load balancing on the cloud environment by assigning slice/time quantum using average burst time [1]. In this paper, performance evaluation would be carried out based on the simulation results of the Improved Algorithm, Round Robin load balancing Algorithm, and Throttled Algorithm in terms of response time, data center processing time and overall throughput on load balancing in cloud computing. The remaining parts of this paper are organized as follows: Section 2 presents some related work and overview on the related work. Section 3 presents the methodology where the implementation tools and parameters would be discussed. Section 4 presents the results obtained and discussion of results. Finally, Section 5 concludes the paper.

Related Work
Previous work on scheduling algorithms on cloud computing were reviewed, and some of the important considerations in performance comparison considered by the previous work are being identified in this section.
A model that focused to improving the round robin load balancing algorithm for virtual machine load balancing on cloud to address the issue of time quantum so as to effectively utilize the principle of time sharing which may lead to better resource utilization. The improvement was the addition of a technique to get a specified time quantum for an effective time sharing principle, time quantum is set to be equal to the average of burst time of requests/tasks for context switching [1].
The authors proposed a hybrid algorithm based on Equally Spread Concurrent Execution and Throttled Algorithms. They took the advantages of both the algorithms and consider the average response time and earliest finish time as evaluation parameters to achieve less processing time and response time.
A simulation was carried out on Cloudsim based on combining the two algorithms. Parameters considered are the response time and processing time. From the simulation results, they found that the proposed hybrid algorithm took less processing time and response time. But the algorithm works good when no fault occurs in VM [9].
A method was proposed for load rebalancing on cloud based on Honeybee Foraging Algorithm and Active clustering algorithm. By using honeybee foraging algorithm, they would improve the average execution time and reduction in waiting time of tasks. Active clustering used for increase in throughput by utilization of resources. They proposed the integration of ant colony optimization to initiate the service load distribution under cloud computing architecture. The pheromone update mechanism has been proved as an efficient and effective tool to balance the load. Their modification supports to minimize the makespan of the cloud computing based services and portability of servicing, requests also have been converged using the ant colony optimization technique [2]. This work has proposed a task scheduling algorithm based on task length and speed of VMs. They have designed a rank based task scheduler which effectively utilizes resources and provides high performance. This algorithm has been tested using CloudSim toolkit with varying lengths of tasks and varying MIPS (speed) of VMs. The results have shown that Rank based task scheduler gives high performance than existing space-shared and time shared task schedulers [4].
A proposed a virtual machine-level load balancing algorithm based on Throttled algorithm, aims to improve the average response time and average processing time of the system in the cloud based on further optimizing the cloud manager in the load balancing algorithm by adding some parameters such as the expected completion time of each resource (VM) with lists of requests coming up. Simulations was carried out on Cloudsim using 30 cloudlets, 1 datacenter and 3 VM. Parameters such as the list of workloads of the system (Cloudlet), the queue list that has been submitted for each virtual machine, percentage of utilization of virtual machine, the expected completion time were used. From simulation results and comparison charts between average execution time and average response time of Throttled algorithm and the proposed algorithm, the average execution time and average response time of the proposed algorithm has been improved than Throttled algorithm [8].
An approach for scheduling workflow tasks over the available resources of cloud that minimized the execution time and execution cost under the given deadline and budget constraint was developed [10]. In their work, workflow tasks are executed in order of their priority which is basically computed using bottom level. The assigned priority is then used to initialize the Particle Swamp Optimization (PSO). After assigning the priority the tasks are sorted according to the descending order of bottom level. The tasks are then sent to different processors according to their order of execution for completing the workflow application. Experimented results show that this algorithm has a promising performance when compared with PSO [10].
This work has proposed a task scheduling technique for cloud computing. A new strategy of task scheduling is proposed in view of the aggregate order for allocation of resource to enhance the algorithm of Min-Min. The main concentration is on minimizing the aggregate executing time (makespan) of scheduling of task and expanding the utilization of assets. The results of their work shows that the proposed approach allows more versatile assets distribution for free occupations booking in the distributed computing environment [3].
Also, a work on load balancing in cloud computing environments using honey bee behavior, the proposed method achieves good load balancing across virtual machines which maximizes the throughput. Load is balanced according to the priorities of tasks so that waiting time of tasks in the queue is minimal. Compared to other traditional methods, this method is effective and overall execution time is improved [5].
In a new proposed algorithm which is using benefits of both Enhanced Max-Min and Max-Min algorithms. There is a limitation of Max-Min which is sometimes large task is mapped to the slow resource. This increases the total length of scheduling [12]. But in proposed algorithm possibility of scheduling long length tasks to the slow resource is reduced. The Proposed algorithm is tested by using five workflows named Maontage50, Montage10, CyberShake30, CyberShake50, and Inspiral50. One data center, one scheduler and five virtual machines are used. The software used for this experiment is Eclipse Java Neon and WorkflowSim1.0. Results of their evaluations show that proposed algorithm completes tasks execution with lower makespan and higher performance as compared to scheduling algorithms Max-Min and FCFS. Performance of proposed algorithm is around 8 percentages better than Max-Min algorithm and around 27 percentages better than FCFS for 5 virtual machines. Overall result shows that the proposed algorithm performs better than Max-Min algorithm when it comes to makespan [12].
Considering a heterogeneous cloud environment with non-pre-emptive self-governing tasks. proposed algorithm balances the load in cloud situation dynamically. In this method, they can dynamically input the data center parameters and user request parameters in the proposed algorithm, Enhanced Honeybee Inspired load balancing algorithm is a modification of existing proposed algorithm which stabilities the load based on the priority of the responsibilities and the resource obligation by calculating the capacity of virtual machines [13].
Authors in this work proposed two hybrid algorithms, namely a combination of fuzzy logic and PSO algorithm and a combination of simulated annealing and PSO algorithm, for improving task scheduling performance in cloud computing. A waiting time optimization algorithm based on the PSO algorithm is used to minimize task waiting time. The objectives of the two hybrid algorithms are to utilize resources, optimize performance metrics, minimize makespan, and achieve good load balancing [14].
A load balancing method based on constraint measure was presented, the capacity and load of each VM are initially computed. If the load is larger than the threshold value, then the load balancing algorithm allocates tasks to the VMs. The deciding factor of VMs is calculated, and the loads of VMs are checked by the algorithm. The selection factor for each task is then calculated, and the task with a better selection factor than those of others is allocated to the VMs [15].
An overview of related works on various task scheduling algorithms revealed that there are still lots of improvements that can be carried out. The major issues being observed on most proposed task scheduling algorithms are their ability to achieve better response time, makespan, cost, resource allocation, and energy consumption. Therefore, this work has considered the work by [1] and focused to implement the model in other to carry out a performance analysis of the model based on other algorithms.

Performance Parameters
The performance parameters considered for the implementation of this work are the response time, data center processing time and throughput. These parameters would be evaluated based on the proposed model [1], round robin load balancing algorithm and the throttled algorithm for performance analysis.

Response Time
The elapsed time between the end of an inquiry or demand on a computer system and the beginning of a response.

Data Center Processing Time
The exact time taken to complete the execution of a given task in the data center. The ultimate goal of any scheduling algorithm is minimizing the processing time.

Throughput
It is the number of task executed in the fixed interval of time. To improve the performance of the system, throughput should be high.

Simulation Setup
In this work, Java Programming Language was used for implementing the proposed algorithm. CloudAnalyst developed using CloudSim packages was used on NetBeans IDE to carry out the simulations.
Simulations were performed on the CloudAnalyst toolkit being deployed with one data center and varying the number of virtual machines (VM) and userbase (UB) as adopted by [7] where the parameter values are as follows:

Response Time Results
Using six instances to get the expected results, three simulations were carried out in each instance based on the improved algorithm, the round robin algorithm by [7], and the throttled algorithm respectively. The response time at each instance is presented as follows:

Response Time Results with 5 Virtual Machines and 10 Userbase
The response time of each userbase (UB) obtained using the round robin algorithm by [7], the improved algorithm and the throttled algorithm is shown in table 2 below. The chart representation of the result is shown in figure 1.

Response Time Results with 5 Virtual Machines and 30 Userbase
At this instance, the number of userbase was increased to 30 for the simulations. The response time for each userbase obtained from the simulations is shown in table 3 along with the chart representation in figure 2.

Response Time Results with 10 Virtual Machines and 30 Userbase
At this instance, the number of virtual machine was increased to 10 for the simulations keeping the number of userbase at 30. The response time for each userbase obtained from the simulations is shown in table 4 along with the chart representation in figure 3.

Response Time Results with 10 Virtual Machines and 40 Userbase
At this instance, the number of userbase was increased to 40 for the simulations keeping the number of virtual machines at 10. The response time for each userbase obtained from the simulations is shown in table 5 along with the chart representation in figure 4.

Response Time Results with 15 Virtual Machines and 40 Userbase
At this instance, the number of virtual machine was increased to 15 for the simulations keeping the number of userbase at 40. The response time for each userbase obtained from the simulations is shown in table 6 along with the chart representation in figure 5.

Response Time Results with 15 Virtual Machines and 50 Userbase
At this instance, the number of userbase was increased to 50 for the simulations keeping the number of virtual machines at 15. The response time for each userbase obtained from the simulations is shown in table 7 along with the chart representation in figure 6.

Overall Response Time
The overall response time was obtained for all instances. Table 8 shows the overall response time obtained from the simulations at each instance.

Data Center Processing Time
The data center processing time was also obtained in all the simulations carried out. The simulations were based on using the round robin load balancing algorithm by [7], the improved algorithm and the throttled algorithm. Results obtained from the simulations are shown in table 9 along with a chart representation show in figure 8.

Throughput
At the end of every successful simulation, total number of executed request is being displayed. Table 10 shows the number of requests executed from the simulations performed using the round robin load balancing algorithm by [7], the improved algorithm and the throttled algorithm.  Figure 9 shows the chart representation of the throughput simulations result at each instance respectively.

Discussion
In this work, a total of eighteen simulations were performed. The simulation is being categorized to six instances according to varying number of virtual machines and userbases. At each instance, three simulations were performed each for the round robin load balancing algorithm by [7], the improved algorithm and the throttled algorithm to obtain the response time, data center processing time and the throughput. This section would discuss the results of the simulations obtained as shown in the previous section.

Discussion of the Response Time Result
At the first instance, simulations were performed using 5 virtual machines and 10 userbase. The result shows that using the improved algorithm for the load balancing has achieved minimal response time for each userbase compared to the round robin load balancing algorithm by [7] and the throttled algorithm. The response time for each userbase gotten at the second instance when the number of userbase was increased from 10 to 30 also shows that the improved algorithm achieved the lowest response time when used as the load balancing algorithm.
At the third instance, the number of virtual machine was increased from 5 to 10 leaving the number of userbase at 30. The result obtained also shows that the minimum response time was achieved for the improved algorithm. When the number of userbase was increased from 30 to 40 in the fourth instance, the response time for each userbase obtained from using the algorithms shows that the improved algorithm has the lowest response time among the other algorithms.
In each simulation, an overall response time for all the userbases is being obtained. Table 8 shows the overall response time obtained at each instance. The results show that at each instance, using the improved algorithm as the load balancing algorithm always achieves the response time with the lowest value. Therefore, it shows that the improve algorithm would slightly perform better than the round robin load balancing algorithm by [7] and the throttled algorithm as a load balancing algorithm in the cloud environment.

Discussion of Data Center Processing Time Result
According to the results obtained from the simulations, it shows that at every instance, the improved algorithm achieves the lowest processing time. Therefore, with the series of simulations carried out, it was found out that using the improved algorithm for the load balancing would always achieve a better processing time for the data center compared to the round robin load balancing algorithm by [7] and the throttled algorithm.

Throughput
At the end of every completed simulation, the total number of executed requests are obtained. The result shows the number of executed requests in all the instances of the simulations performed. It was observed that more number of requests are being executed using the improved algorithm for load balancing in all the instances of the simulations.

Conclusion
This paper is an implementation of a model proposed by [1], where by simulations were performed to implement the improved algorithm in which a performance evaluation was carried out based on response time, data center processing time and overall throughput for the improved algorithm, the round robin load balancing algorithm by [7] and the throttled algorithm. From the evaluation carried out and the results obtained, it shows that the improved algorithm would result to more effective load balancing by achieving a minimal response time of user base tasks, minimal data center processing time, increase overall throughput and therefore results to better resource utilization on the cloud.