AN IWRR METHOD BASED ON EFFICIENT LOAD BALANCING IN CLOUD COMPUTING Sachin Mishra1 ,Prof. Kailash Patidar2 M. Tech Scholar, SSSIST Sehore, Department of Computer Science & Engg Abstract: Cloud computing is a new innovative era of computing technology which serves computing resources as a service. Cloud computing allows cloud user to automatically access or deploy their data and applications in various computing servers. Cloud Service providers ensure that cloud service should be fully available to all the registered cloud users without any delay or failure. Load balancing method plays a vital role in task scheduling. Load balancing methods enables task scheduler to assign task efficiently between all the virtual machines, and ensure optimistic utilization of computing resources. Load balancing migrate tasks to underutilized virtual machines for effectively sharing the computing resources. Round robin method is widely used for load balancing in cloud computing, using this algorithm; the scheduler allocates one VM to a node in a cyclic manner. Weighted round robin is an improved form of round robin method. However, there is a lack of effective mechanisms to decide the weights assigned to each server to achieve overall optimal revenue of the system. In this paper we are presenting an improved weighted round robin method which uses multiple PEs in the participating heterogeneous VMs along with the heterogeneous multiple PEs capable jobs with distributed computing capabilities and load balancing also applies at the time of transferring the state of jobs between the VMs at the job migrations. It also uses active load indicator parameter which monitors system load on each interval. Proposed method and existing methods are implemented by using Cloud Simulator and various comparison parameters are calculated. Results analysis clearly shows that proposed improved weighted round robin method performs outstanding over existing load balancing methods. Keywords- Load balancing, Cloud Computing, Round robin, Weighted Round Robin, Improved Round Robin. I. INTRODUCTION Cloud Computing Cloud computing is a model for enabling convenient, on demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort. Cloud computing is based on virtualization. Virtualization is the principle aspect of cloud system. Using virtualization technique, cloud computing virtualized a single system into number of virtual systems. Basically a virtual machine is a software implementation of physical resource [1, 2]. A hypervisor (a firmware or low-level program) also called virtual machine monitor is responsible for sharing of a single physical instance of cloud resources among various tenants. Figure 1.1 shows basic cloud computing model. Three main services provided by the cloud are IaaS, SaaS, and PaaS. But there are many issues in cloud computing environment like security, power consumption, and load balancing. Load balancing is the main issue in the cloud environment. Load balancing is the concept in which the network workload is distribute between other nodes in the network. On the other words when sudden work load comes in the network of cloud computing the load balancer distribute that load among the other computers in the network [3,6].
@IJRTER-2016, All Rights Reserved
46
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
Figure 1.1 - Cloud Computing
To enhance the global throughput of these cloud environments, workloads should be evenly distributed among the available resources. Through load balancing we can achieve optimal resources utilization, minimum response time, maximum throughput and avoid overload. Cloud computing has some benefits like scalability, virtualization, Mobility, Low infrastructure cost, Increased storage [4, 5]. II. LOAD BALANCING Load Balancing is a technique in which the workload on the resources of a node is shifts to respective resources on the other node in a network without disturbing the running task [8]. 2.1 Why Load balancing in cloud? To improve the performance substantially. To have a backup plan in case the system fails even partially. To maintain the system stability. To accommodate future modifications in the system. Increase user satisfaction. Improve resource utilization ratio. 2.2 Challenges in load Balancing – While developing such effective Load balancing algorithm following challenges are encounters [11, 15] Estimation of load-Estimates the total load Comparison of load-Compare all the load Stability of different system-Different systems have different stability Performance of system-How system is performing. Interaction between the nodes-How node are communication to each other. Nature of work to be transferred-Which type of work should be transfer. Selection of nodes-This load considered can be in terms of CPU load, amount of memory used, delay or Network load.
@IJRTER-2016, All Rights Reserved
47
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
III. LOAD BALANCING METHODS Load balancing methods have following categories [4]1. Sender Initiated: If the load balancing algorithm is initiated by the sender. 2. Receiver Initiated: If the load balancing algorithm is initiated by the receiver. 3. Symmetric: It is the combination of both algorithms sender initiated and receiver initiated. Depending on the current state of the system, load balancing algorithms can be divided into 2 categories as given ina. Static algorithm- It doesn’t depend on the current state of the system. Prior knowledge of the system is needed. b. Dynamic algorithm: Decisions on load balancing are based on current state of the system. No prior knowledge is needed. So it is better than static approach. 3.1 Existing Load Balancing Methods3.1.1 Round Robin Method- The Round Robin algorithm mainly focuses on distributing the load equally to all the nodes. Using this algorithm, the scheduler allocates one VM to a node in a cyclic manner [13]. The round robin scheduling in the cloud is very similar to the round robin scheduling used in the process scheduling. The scheduler starts with a node and moves on to the next node, after a VM is assigned to that node. This is repeated until all the nodes have been allocated at least one VM and then the scheduler returns to the first node again. Hence, in this case, the scheduler does not wait for the exhaustion of the resources of a node before moving on to the next [17]. Advantage of Round robin The main advantage of this algorithm is that it utilizes all the resources in a balanced order. An equal number of VMs are allocated to all the nodes which ensure fairness. Disadvantage: In this method it considers current load on each virtual machine.
3.1.2 Algorithm for Round Robin Method//Round Robin Method for Load Balancing1. The task scheduler maintains a queue of ready Processes and a list of blocked and swapped out processes. 2. The PCB of newly created process is added to end of ready queue. The PCB of terminating process is removed from the scheduling data structures. 3. The scheduler always selects the PCB at head of the ready queue. 4. When a running process finishes its slice, it is moved to end of ready queue. 5. the event handler perform the following action, i. When a process makes an input -output request or swapped out, its PCB is removed from ready queue to blocked/swapped out list. ii. When input-output operation awaited by a process finishes or process is swapped in its process control block is removed from blocked/swapped list to end of ready queue 3.2 2. Weighted Round Robin Method [6] The weighted round robin considers the resource capabilities of the VMs and Assigns higher number of tasks to the higher capacity VMs Based on the weightage given to each of the VMs.
@IJRTER-2016, All Rights Reserved
48
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
Limitation- It is failed to consider the length of the tasks to select the appropriate VM. 3.3.2 Algorithm for Weighted Round Robin-Steps for WRRLB scheduling is as follows Step 1: Master system (VMM) receives information regarding virtual machine from slave (VM-1….n). If the master node capability doesn’t catch the data, it will determine the virtual machine to be dead. This study proposed by parameter W. IfW=0 is set up, it will define the virtual machine to be working and still alive now. If W=1 then node is dead. If W=2 then node is in previous state. Step 2: If Master node receives the data from slave, then it gets the information’s regarding data (memory used, cpu time etc.) Step 3: Then Master node builds the weighted table containing the details which is collected from step 2. Step 4: Then the master node sorts (Round-robin method) all the virtual machine’s according to their performance. Which is 1≦i≦N, Where N is the number of the virtual machines. Step 5: The scheduling capability generates the weighted table. Step 6: The virtual machine control capability receives the weighted table from the Step 5, and distributes the task to the virtual machines according to the weighted value. IV. OBJECTIVE OF THE WORK & PROPOSED IWRRLB METHOD In this research paper we are presenting an improved weighted round robin method for efficient load balancing in cloud computing. Proposed method uses multiple PEs in the participating heterogeneous VMs along with the heterogeneous multiple PEs capable jobs with distributed computing capabilities and load balancing also applies at the time of transferring the state of jobs between the VMs at the job migrations. It also uses active load indicator parameter which monitors system load on each interval. The main objective of the work is to achieved followings Higher Response Time –Higher response time shows better performance for the system. So it is always a desirable, for better system performance. Lesser Execution Time – Lesser execution time shows better performance. Load balancing method type- Dynamic Load balancing shows better performance. Partitioning method- Dynamic partitioning method is required for large environment. Prediction of Task arrival patterns –Predict cloud load earlier by using symmetric load balancing. Priority of Task- During load balancing it is also challenging to execute jobs priority wise. 4.1 Modules in proposed System- Proposed IWRRLB uses following modules for load balancing. 1. Initial State (Static Scheduler)-The static scheduler has the function to find the most suitable VM and assign the tasks to VMs based on the algorithms (simple round robin, weighted round robin, and improved weighted round robin) applied in the scheduler. 2. The dynamic scheduler- has the function to place the run time arrival jobs to the most suitable VMs based on the least utilized VM at that particular job arrival time. 3. Load balancer/scheduler controller- decides the migration of task from a heavily loaded VM to an idle VM or least loaded VM at run time whenever it finds an idle VM or least loaded VM by utilizing the resource monitor information.
@IJRTER-2016, All Rights Reserved
49
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
4. Resource monitor communicates with all the VMs resource probers and collects the VM capabilities, current load on each VM, and number of jobs in execution/waiting queues in each VM to decide the appropriate VMs to the jobs. 5. The task requirement estimator identifies the length of the tasks to be executed and transfers the estimated results to the load balancer for its operative decisions 4.2 Proposed IWRRLB Method for Cloud Load BalancingStep 1- Identify the number of executing/pending tasks in each VM and arrange it in increasing order on a Queue. 1.1 Set numTaskInQueue = Number of Executing/Waiting Tasks in each VM and arrange it in increasing order. 1.2 Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing, waiting & paused list. 1.2.1 Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList + JobsRemainingLengthInPauseList 1.2.2 đ??śVđ?&#x2018;&#x161;is the processing capacity of the VM. 1.2.3 Set pendingETime = pendingJobsTotLength/đ??śVđ?&#x2018;&#x161; Step 2- If the number of tasks in the first item of the queue is greater than or equal to â&#x20AC;&#x153;1â&#x20AC;?, then terminate the Load Balancing logic execution else proceed to the 3rd step. 2.1 If (numTaskInQueue.first() â&#x2030;Ľ 1) then Return; 2.2 Set load indicator parameter on each machine Load <=Max_capicilty Set Load indiator ==0 for Balance or undeloaded Load >= Max_capicilty Set Load indiator ==1 for oveloaded Step 3- If the number of tasks in the last item of the queue is less than or equal to â&#x20AC;&#x153;1â&#x20AC;?, then terminate the Load Balancing logic execution else proceed to the 4th step. 3.1 If (numTaskInQueue.last()â&#x2030;¤1) then Return; Step 4 Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing, waiting & paused list and then divided the value by the processing capacity of the VM. 4.1 Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList + JobsRemainingLengthInPauseList 4.2 SetpendingExecutionTime=pendingJobsTotLength/đ??śVđ?&#x2018;&#x161; Step 5- Arrange the VMs based on the least pending time to thehighest pending time and group it, in case two VMs fall in the same pending time. 5.1 Sort the VMMap by the Pending Execution time of each VM Step 6- Remove a task from the higher pending time VM, which contains more than one task and assign this task to the lower pending time VM, which has no task to process. 6.1 While (true) Set OverLoadedVM = VMMap.get(VMMap.size()) Set LowLoadedVM = VMMap.get(0) Varlower posit ion = 1 ; Load_indiacator indicates VMs status Var upper posit ion = 1 ; 6.2 While(true) If (OverLoadedVM.taskSize()>1 &&LowLoadedVM.taskSize()<1) Break; Else if (OverLoadedVM.taskSize()>1)
@IJRTER-2016, All Rights Reserved
50
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
LowLoadedVM = VMMap.get(lowerposition) Lowerposition++ Else if (LowLoadedVM.taskSize()<1) OverLoadedVM=VMMap.get(VMMap.size()-upperposition) Upperposition++ Else BreakTheOuterWhileLoop 6.3 End While Set migratableTask = OverLoadedVM.getMigratableTask() LowLoadedVM.assign(migratableTask) Break 6.4 End While Step 7 Execute step from the step-1 Step 8- Then the steps 2 and 3 will decide the load balancing further. Step -9 this load balancing will be called after every task completion irrespective of any VMs. Finally load indicator set to 0 for all th machines which indicates system is balance. V. SIMULATION AND COMPARISON OF RESULTS Proposed IWRRLB, existing Round robin and Weighted Round robin methods were simulated by using Cloud Sim simulator 3.1 and following performance comparisons parameters are calculated. S. No. Cloud devices No. of Used devices Physical Characteristics 1 Cloudlets 100-1000 length = 150000 bits PesNumber = 1 fileSize = 300 mips outputSize = 300 mips 2 Brokers 10-Jan NA 3 Data Centers 10-100 maxPower = 250 staticPowerPercent = 0.7 ram = 10000 storage = 1000000 bw = 100000 4 Virtual Machines 20-100 pesNumber = 1 ram = 128 bw = 2500 size = 2500 vmm = "Xen" Table 5 â&#x20AC;&#x201C; Cloud Simulator Setup parameters
@IJRTER-2016, All Rights Reserved
51
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
5.1 Makespan -Can be defined as the overall task completion time.
No of Tasks
Make Span Time in Ms
1000 800 600 400 200 0
RRLB WRRLB IRRLB 30
554
515
465
40
652
521
570
50
917
887
744
Series1 Series2 RRLB No of Tasks
WRRLB
IRRLB
Series3
Make Span Time in Ms
Table & Graph 5.1 Makespan Results for Existing RRLB, WRRRLB and Proposed IWRRLB
5.2 Response Time- It is the amount of time taken from when a process is submitted until the first response is produced. Less response time shows better efficient performance. 5.2.1
Response Time Vs Number of Task/Instructions-Response time is calculated for RRLB, WRRLB, IRRLB where numbers of task/ instructions are variable from 10 to 100 tasks. Response Time in seconds 80 70 Number of task
60 50
Response Time in seconds RRLB
40
Response Time in seconds WRRLB
30 20
Response Time in seconds IRRLB
10 0 1
2
3
4
5
6
7
8
Graph 5.2.1 Response Time for Existing RRLB, WRRRLB and Proposed IWRRLB
@IJRTER-2016, All Rights Reserved
52
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
5.2.2 Response Time Vs Number of Virtual Machines-Response times is calculated for RRLB, WRRLB, IRRLB for various numbers of virtual machines from 5 to 30 Response Time in seconds
Number of Virtual Machines
Response Time in seconds RRLB
Response Time in seconds WRRLB
30 Response Time in seconds IWRRLB
25 20 15 10 5
2.22 1.65 1.33
4.85 4.21 3.56
3.87 2.85 2.65
1
6.27 5.34 4.87
2
3
4
7.98 6.45 5.99
5
10.45 9.87 8.12
6
Graph 5.2.2 Response Time for Existing RRLB, WRRRLB and Proposed IWRRLB
5.3 Waiting Time- Waiting time is defined as how long each process has to wait before it gets it's time slice. The table and figure 5.5.4 shown below is the Waiting time to access the resources for the users of the cloud.
Waiting Time in seconds 70 60
Task
50
Number of task/ Instructions
40
Waiting Time in seconds RRLB
30
Waiting Time in seconds WRRLB
20 10
Waiting Time in seconds IRRLB
0
1
2
3
4
5
6
7
Graph 5.3 Waiting Time for Existing RRLB, WRRRLB and Proposed IWRRLB
@IJRTER-2016, All Rights Reserved
53
International Journal of Recent Trends in Engineering & Research (IJRTER) Volume 03, Issue 01; January - 2017 [ISSN: 2455-1457]
The above results clearly shows that proposed IWRRLB method have better response time, Make span time and waiting time over existing RRLB, WRRLB method for cloud computing. VI. CONCLUSIONS AND FUTURE WORK Cloud Computing offers a very large number of opportunities of using IT infrastructure as a utility with many possibilities like scaling down and scaling up depending upon the needs of the organization. However, similar to most rising technologies cloud computing is also having issues that need to be resolved. This research paper presents an introduction to cloud computing then explained the challenges that need to be focused in the coming future also cover various load balancing methods, its need and challenges for cloud data. This thesis explains Load Balancing problem as the main problem. The Load balancing method proposed IWRRLB overcomes the load balancing problem for cloud computing. The result analysis shows the performance of the proposed methodology and existing load balancing methods. Various comparison parameters are calculated for all the three methods. A simulation result clearly shows that our proposed methodology IWRRLB having outstanding results in terms of makespan time and execution time as compared to existing methods. In future proposed method IWRRLB method can be implementing in real time environment instead of a simulator. REFERENCES 1.
2. 3. 4. 5. 6. 7. 8.
9. 10. 11. 12. 13. 14. 15.
16. 17.
D. Chitra Devi and V. Rhymend Uthariara, Load Balancing in Cloud Computing Environment Using Improved Weighted Round Robin Algorithm for Non-preemptive Dependent Tasks, Hindawi Publishing Corporation e Scientific World Journal Volume 2016, PP 1-14. Z. Xiao, W. Song, and Q. Chen, “Dynamic resource allocation using virtual machines for cloud computing environment,” IEEE Transactions on Parallel and Distributed Systems,vol.24, no. 6, pp. 1107–1117, 2013. L.D.DhineshBabuandP.VenkataKrishna,“Honeybeebehavior inspired load balancing of tasks in cloud computing environments, “Applied Soft Computing Journal,vol.13,no.5,pp.2292–2303, 2013. J. Cao, K. Li, and I. Stojmenovic, “Optimal power allocation and load distribution for multiple heterogeneous multicore server processors across clouds and data centers,”IEEE Transactions on Computers,vol.63,no.1,pp.45–58,2014. R. N. Calheiros and R. Buyya, “Meeting deadlines of scientific workflows in public clouds with tasks replication,”IEEE Transactionson Parallel and Distributed Systems, vol. 25,no. 7, pp. 1787–1796, 2014. R. Basker, V. Rhymend Uthariaraj, and D. Chitra Devi, “An enhanced scheduling in weighted round robin for the cloud infrastructure services,” International Journal of Recent Advance in Engineering & Technology,vol.2,no.3,pp.81–86,2014. Z. Yu, F. Menng, and H. Chen, “An efficient list scheduling algorithm of dependent task in grid,” in Proceedings of the 3rd IEEE International Conference on Computer Science and Information Technology (ICCSIT ’10), IEEE, Chengdu, China, July 2010. H.M.FardandH.Deldari,“An economic approach for scheduling dependent tasks in grid computing,” in Proceedings of the 11th IEEE International Conference on Computational Science and Engineering (CSEWorkshops ’08), pp. 71–76, IEEE, San Paulo, Brazil, July 2008 T. Valte, T. J. Valte and R. Elsenpeter, Cloud Computing - A Practical Approach, TATA McGRAW-HILL, 2010. S. Angeles, 20 january 2014. [Online]. Available: http://www.businessnewsdaily.com/5791-virtualizationvs-cloud-computing.html. [Accessed 20 april 2016]. J. Celestia, "Cloud Computing Infrastructure," 2016. [Online]. Available: http://www.tutorialspoint.com/cloud_computing/cloud_computing_infrastructure.htm. [Accessed 2016]. S. Nayak and P. Patel, "Analytical Study for Throttled and propsed Throttled algorithm for load Balancing in Cloud Computing using Cloud Analyst," International Journel of Science Technology & Engineering, vol. 1, no. 12, pp. 90-100, 2015. R. Kumar and T. Prashar, "Performance Analysis of Load Balancing Algorithms in cloud computing," International Journal of Computer Applications, vol. 120, no. 7, pp. 19-27, June , 2015. S. Mohapatra, K. S. Rekha and S. Mohanty, "A comparision of four popular heurisitcs for Load balancing of Virtual Machines in Cloud Computing," International journal of Computer Applications, vol. 68, no. 6, pp. -38, 2013. Ranjan Kumar Mondal, Debabrata Sarddar Load Balancing with Task Subtraction of Same Nodes‖. International Journal of Computer Science and Information Technology Research ISSN 2348-120X (online) Vol. 3, Issue 4, pp: (162-166), Month: October - December 2015. Ranjan Kumar Mondal, Enakshmi Nandi, and Debabrata Sarddar. "Load Balancing Scheduling with Shortest Load First." International Journal of Grid and Distributed Computing 8.4 (2015): 171-178. [10]. Ranjan Kumar Mondal, Payel Ray, Debabrata Sarddar Load Balancing with Task Division and Addition‖. International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 – 0882, Volume 5, Issue 1, January 2016: 15-19.
@IJRTER-2016, All Rights Reserved
54