Enhanced Weighted Round Robin Algorithm to Balance the Load for Effective Utilization of Resource in Cloud Environment

Cloud computing contains basically virtualization, networking, distributing computing, software and web services over the cloud. Cloud computing provide basis on demand hosting computing resources and cloud services over the cloud or internet on pay per use basis. Due of high availability, fault tolerance, scalability, management simplicity and low cost Cloud computing currently become best method of computation over large scalable network environment .Efficient load balancing make cloud computing environment more efficient and also get better user satisfaction. The idea of this paper is to propose load balancing algorithm for utilization of resource efficiently and to compare the performance of projected algorithms with well-known load balancing algorithms. The newly proposed algorithm will consider size of cloudlet, expected completion time of tasks by virtual machine and runtime properties of virtual machines to map’s the incoming request to virtual machine in impartially and efficiently. The response time of EWRR method is less in comparison of others methods. It has been found that EWRR having the better result in comparison of RR, Throttled, ACO and Hybrid response times which are 0.77, 2.20,8.31, 20.82 and 100 respectively. In this paper, by proposing a virtual machine load balancing algorithm that aims to improve the average response time and average processing time of the system in the cloud environment.


Introduction
Now a day's Cloud computing is a growing technology. It symbolizes a business model within which any enterprise will create a colossal economy by sinking infrastructure investments. As we know in cloud, users typically pay money for the what he or she used for example storage, CPU, and network information measure, and application services, platforms calculated by the amount of instance hours incur during a pay as you use model. Cloud association includes services from completely different mass suppliers providing shoppers, additionally to sharing a good vary of resources, the chance to settle on the simplest cloud service suppliers. We tend to establish several basic options of cloud federation like the simplest value, service elasticity and handiness to fulfill an exact business or technological wants among their organization. Cloud computing has 5 elementary attributes, per the definition of cloud computing projected by the us. First, customers get computing resources on require and selfservice. Cloud-computing customers use an automatic interface and acquire the process power, storage, and network they have, with no want for human intervention. Second, they will access these resources over the network. Third, the supplier of these resources contains a massive pool of them, and allocates them to customers out of the pool, that enables the supplier to urge economies of scale by shopping for in bulk. Customers don't get to recognize or care regarding the precise physical location of these resources. Fourth, the resources are elastic. Customers who need more resources can get more rapidly. When they need less, they can scale back. And last, the purchasers pay just for what they use or reserve, as they go. If they stop using resources, they stop paying. In cloud computing environment there are randomly arrival of tasks, CPU typically load a particular resources heavily, whereas the other resources are not too much loaded idle, thus the cloud atmosphere want one thing which will balancing this task to totally different processors or C.P.U. instead of sharing the tasks. Load balancing is the method of dispense workloads across numerous computing resources. To balance load in cloud environment there are various techniques or algorithm. The algorithms or load balancer decides the relocation of task from a greatly burdened virtual machine to associate unused virtual machine or minimum loaded virtual machine, whenever it discover associate idle virtual machine or minimum loaded virtual machine by utilizing the resources present condition information. Load balancing is useful to achieve a high client satisfaction, resource uses, quantitative relation, consequently raising the general performance and resource usefulness of the system. Main downside concerning to balancing load within cloud computing environment is to style a load balancing algorithm within which the load of the network, process power of the virtual machine, the operating load of every virtual machine, and also the size of the cloudlets or the request coming back from the users have taken in thought. Most up-to-date research papers works on the load balancing algorithm, however the paper stay unable to form into thought of the above factors. Some research paper attempt to improve the employment, performance, response time without in view of above factor. The analysis aimed to answer the subsequent queries the way to enhance load balancing algorithm by considering request size and VM power capability.

Objective
The main objective of ours research is to propose enhanced weighted round robin load balancing algorithm for efficient and effective resource uses in cloud computing. After combining static and dynamic load balance we can optimize the performance of virtual machine distinctively or choosing the algorithm that has higher duration of the jobs, resource capability, and inter-dependency of multiple tasks, efficiently predicting the leastutilized virtual machines and overload avoiding on any of the virtual machines. The performance of projected algorithm or enhanced WRR algorithm was analyzed with reference to well-known exiting round robin, throttled, ant-colony and hybrid load balancing algorithm at the cost of average latent period and datacenter time interval.

Literature Review on Some connected Works
The tasks are unpredictable when they arrive to the system when we are talking about cloud atmosphere. The randomness is due to dynamic behavior of the cloud. In order to satisfy the user requirements the load balancing algorithm allocating load vigorously amongst the nodes and to supply utmost resource uses by classifying the overall presented load to each nodes. The efficiency of cloud computing environment is based on the load balancing idea For this reasons several investigator proposes new load balancing algorithm. RR Load balancing algorithm designed to allot asks to next virtual machine in Round Robin fashion. First virtual machine is chosen indiscriminately, then choose the next virtual machine in circular fashion. According to Weighted RR Load balancing algorithm contemplate the resource capability of the virtual machines. To Support the load for the virtual machine the algorithm assigned there request to virtual machine based on the weightage specified to the virtual machine assign the upper range of tasks to virtual machine with high weight virtual machine. Throttled Load balancing algorithm maintains the index table of VM with the state of VM. The state of these virtual machines is either busy or available state. As new request arrive the data center organizer will search for the available virtual machine within the index table, if virtual machine is found, the virtual machine ID is distributed to the load balancer. According to Ant Colony Optimization Algorithm discussed based on capacity that accommodates a certain, probability of being a destination and pheromone (or probabilistic routing) table. Ant colony algorithm works in similar manner with the ant's life when ants attempt to discover shortest path between nest and source of food. So this algorithm takes real ants behavior as the base to start balancing the load [30].

Proposed Algorithm
Load balancer has responsibility to insure the work load distribution evenly among the node of processors. If it identifies any of VMs over loaded, load balancer shave the responsibility to migrates tasks from the excess loaded Virtual machine to fewer loads or ideally under loaded virtual machines. Enhanced WRR load balancing algorithm had been an enhancement of RR load balancing algorithm which we proposed in this paper. An unpremeditated to RR Algorithm was proposed that improvements weighted robin algorithms to the next level by handling the unevenness of virtual machine loads in the network. The main drawback of RR load balancing algorithm was that it did not taken consideration of any size of the users requests to assign the appropriate virtual machine to the incoming request. It only decides the next virtual machine simply by using the rotational decision. This proposed procedure of the weighted RR load balancing algorithm considers the load of VMs, along with the processing capacity and length of the task, to decide which VM should be allocated with the next task to be processed. The enhanced WRR load balancing algorithm has the static algorithm assign the VMs based on the processing capacity of the VMs. The dynamic loads balancing part or at run time, additionally use the load on each of the VMs along with the information about the capacity of VM to decide the allotment of the jobs to the appropriate virtual machines. Sometime at run time of system, tasks may take more or longer time of execution than the initially expected time due to execution of or more cycle on same program by means of complicated run time data. Balancer is responsible to identify overloaded or unutilized and under loaded or underutilized VMs.If all VMs are busy, then the load balancer will not take any job migration among the VM. If it finds the idle VM,it will move the job from the over loaded virtual machines to unutilized VMs. The load balancer examine virtual machines load on the completion of any of the task on any virtual machine. It never analyses virtual machines load independently at a time to avoid the overhead on the virtual machine. Enhanced RR load balancing algorithm decides the allocation of task or mapping of incoming request to appropriate VM based on the waiting time of the task. First step of this algorithm is to identify the waiting time of the tasks. Based on the length of an incoming job Waiting time is calculated. The length of cloudlet of each task is mapped in hash table.
Waiting Time = � L*T

Figure 1. Enhanced Round Robin Load Balancing Flowchart
Enhanced Round Robin Load Balancing Algorithm Step 1: From the incoming request recognize the length of cloudlets or the length of cloudlet.
Step 2: Based on the waiting time of each virtual machine, calculate the load for each virtual machine.
Step 3: Based on the waiting time calculated on Step 2, a weight is given to each virtual machine. A virtual machine with less waiting time has more weight.
Step 4: Arrange the virtual machine weight in there descending order.
Step 5: Assign an incoming task or cloudlet to virtual machine which has more weight or less waiting time. More tasks are assigned to virtual machine with more weight or less waiting time than the others.
Step 6: Check the status of the virtual machine. If find the over loaded virtual machine Step 7: Select the virtual machine which has less waiting time and assigned the task for that virtual machine.
Step 8: Continue the process till it has overloaded virtual machines.
Step 9: Go back to step 2. Enhanced Weighted RR Load Balancing Algorithm uses the waiting time of the VM to allot the weight to the VM. Depends on the waiting time, the virtual machine with lower waiting time assigned more weight and for less waiting time of virtual machine assignee less weight. Indeed, the virtual machine assigned more weight will assign more task than the other virtual machines.

System Implementation
Cloud Analyst simulator had been selected to carried system accomplishment and testing of algorithms performance by mean of response time and DC manipulation (processing) time of enhanced WRR algorithm with the present RR, throttled, ant-colony and hybrid load balancing algorithm. The main reason for selecting this simulator is because of the simulator can able to study the behavior of big scale application on the Web.
To carry out the simulation the following step is followed. a) Define the time or the duration of the simulation runtime. b) Depends on the data of the huge application define the User Base characteristic's. c) Depends on the data of the huge application define the Data Center characteristic's. d) Allocate the VM for the application of every Data Center. e) Select the algorithm going to be simulated within the load balancing algorithm. f) Review and adjust the internet characteristics based on the network bandwidth matrix and network latency.

Table 1. Cost assumption
In Table 1 we assume an approach with the current cloud service provider service costs such as Amazon EC2.Basedon the geographical locality of the user table shows the assumption of the client usage. Table 2. Assumption of scale of user usage of the application.
In Table 2 the experiments had been carried out using different scenarios. In each scenario the performance measure is recorded and evaluated by the response-time and data processing requesttime. By changing the number and distribution of Data center with respect to the virtual machine. In experiment 1 homogenous environment is used for the experiments, homogenous means the same request and the same data size of the request is used for all User Base in each region.
A. Experiment 1 Experiment1 cloud analyst had been configured using 1 Data center with 25 virtual machines (each virtual machine with 1024Mb of memory running on physical processors capable of speeds of 100MIPS ) to handle 1000 user requests or cloudlets with each 1000 byte of data from each user base in different region.

C. Experiment 3
In Experiment 3 cloud analyst is configured using 2 Data Center with 25 VMs (each virtual machine with 1024Mb of memory running on physical processors capable of speeds of 100MIPS)to handle inconstant request per user and data size for every requested user from each User Base in different region. It had been applied in two Data center in region ZERO and region ONE. The data center (DC1 and DC2) is configured us 25 virtual machines for both region 0 and region 1, image size as 10000, 512 capacities of memories and 1000 BW. DC 1 is configured in the region 0 and DC 2 is configured in region 1. The first data center will process request from the UB1, UB3, UB4, UB5, UB6 and second data center has been processed requests from theUB2.

Result and Discussion
Testing has been done four times for each virtual load balancing algorithm. Experimentation had been used to verify response time by balancing the load using algorithm with the DC manipulation (processing) time in small size user request and large size user request and heterogeneous environment or inconstant user request size. After a successful experimentation on the same data set the following result was been gained and discussed in chart below.   The main reason for the Enhanced Weighted RR load balancing algorithm to have improved response time and data center manipulation (processing) time than other algorithm of load balancing is because of when the DC regulator assign the incoming request from the user by considering the both the static and dynamic nature of the environment, that means: to transfer tasks from over load VMs to the least loaded VMs by considering waiting time of the VMs. These properties of the algorithm make it more efficient in homogenous cloud environment. Due to no consideration of the size of cloudlet or user request size, number of task in queue and the dynamic nature of VMs or the capacity of the virtual machines in RR, Throttled, Hybrid ,Ant-Colony algorithm shows that performance reduction or response time and DC manipulation(processing) time is improved. As the size of the request raises the response time and DC processing time had been increased. The enhanced weighted RR load balancing algorithm has faster compilation time and less DC manipulation (processing) time in the heterogonous jobs or request from the users than any other algorithms. The main reason is that EWRR algorithm considers the request length from user along with the VMs capacity to migrate jobs from the overfull virtual machine to least loaded virtual machine. This property of the algorithm assistance it to have better response time and DC manipulation (processing) time than other VM load balancing algorithm. Additionally the dynamic nature EWRR algorithm of calculating the waiting time of the VM to assign weighted to each virtual machine. Experiment 2 is performed to measures the response time and DC manipulation(processing) time concerning to variable size request from diverse region, as size of the request differ by size the performance of the algorithm to handle the task is degraded, except in EWRR load balancing algorithm. Reason behind to have less response and datacenter processing time is because of EWRR calculate the length of the task to balanced load among the processors. Furthermore, the main intention of EWRR algorithm is that as the load balancer find any virtual machine complete its jobs, load balancer find highly loaded virtual machine and migrate the task to any other ideally under loaded virtual machine based on the weight calculated. This property of EWRR algorithm helps to have less response time and DC process time. Generally, for heterogonous tasks size cloud environment EWRR

Future work
As part of future enhancement and recommendation is suggested to be done in future are: In the enhanced round robin load balancing algorithm while migrates job from ideally overfull virtual machines to minimum loaded virtual machine did not ensured transfer of the present status of the tasks between the virtual machines. So that, to have less reaction time and datacenter processing time it is better to transfer the status of tasks between virtual machine. Enhanced algorithm for WRR load balancing it is suitable to add the perception skill of handling tasks with priority.

Conclusion
Many cloud computing data center network architectures and task scheduling algorithms are stated in the cited works with their pluses and limitations. In the literatures explored in this paper Enhanced WRR load balancing algorithm had been an enhancement of RR load balancing algorithm which we proposed in this paper. An unpremeditated to RR Algorithm was proposed that improvements weighted robin algorithms to the next level by handling the unevenness of virtual machine loads in the network. The main drawback of RR load balancing algorithm was that it did not taken consideration of any size of the users requests to assign the appropriate virtual machine to the incoming request. It only decides the next virtual machine simply by using the rotational decision. This proposed procedure of the weighted RR load balancing algorithm considers the load of VMs, along with the processing capacity and length of the task, to decide which VM should be allocated with the next task to be processed. The enhanced WRR load balancing algorithm has the static algorithm assign the VMs based on the processing capacity of the VMs. Enhanced RR load balancing algorithm.