Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-9, 2016 ISSN: 2454-1362, http://www.onlinejournal.in Load Balancing in Cloud Computing with Enhanced Optimal Cost Scheduling Algorithm Sandeep Kaur1 & Sukhwinder Sharma2 1&2 Department of Computer Science, Baba Banda Singh Bahadur College of Engineering, Fatehgarh Sahib, Punjab, India Abstract: Cloud computing is a trending technology to provide ease of access to services that a user requires with pay-as-you-go model. The number of user requests on the servers increase tremendously therefore increasing load on the servers. This requires a proper load balancing technique to balance the load on the virtual machines. In this paper we have modified an existing algorithm Optimal Cost Scheduling algorithm to introduce a new algorithm Enhanced Optimal Cost Scheduling. The scheduler uses new algorithm to processes the user requests on the given virtual machines which results in reduced waiting time and turnaround time which is a profit for both the service provider and service consumer. 1. Introduction Cloud computing introduced a new era of service delivery and deployment where any user can access, create, deploy any kind of service like software, storage, network, operating system and so on with having access to the internet. The whole internet can be assumed as a cloud which hosts different kind of services that can be accessed by the user. The key idea is to reduce the hardware and operational costs. Access to data is easier, with the growing number of web-enabled devices used in today’s business environment (tablets, smartphones, etc.). Cloud computing makes IT management easier and more responsive and it is cost effective to the changing needs of the business [10]. Cloud computing architecture consists of three basic entities – datacenter, CIS (Cloud Information Service), and broker. Datacenter is the physical location where servers are placed. Host is a physical server in that datacenter and VMs are created on the hosts. Each host and VM has some hardware configurations which are registered on to the CIS. Broker is an entity which submits tasks (cloudlets) to the datacenter. It contacts CIS to get the info about datacenter (resources) and then directly contact the datacenter and assigns the cloudlets to VMs running on it. Load balancing plays a key role in execution of these cloudlets. It distributes load over different nodes in the cloud to maximize resource utilization. There are several techniques to provide load Imperial Journal of Interdisciplinary Research (IJIR) balancing in cloud computing with each having its own methodology for distribution of cloudlets. The idea of each algorithm is to facilitate resources by providing maximum throughput and minimum response time [1]. The load balancer executes tasks on different virtual machines by routing them in a manner proposed by the underlying algorithm. The routing fashion differs the tasks execution time which contributes to effectiveness of underlying algorithm in terms of reduced execution time and maximum resource utilization. In this study our aim is to understand the existing load balancing algorithms and introduce a new Enhanced Optimal Cost Scheduling algorithm which gives maximum throughput in terms of reduced response time for service user and reduced execution cost for service provider making more profit for the provider. 2. Related Work Mrs. Nagamani H. Shahapure and Dr. Jayarekha P proposed an optimal cost scheduling algorithm which helps us to reduce execution cost and processing power. Cloud resources that have been used are minimal. It also works for cost optimization at cloud service provider, while re-scheduling already takes in requests to make space for a newly arrived request. This algorithm does not work when all VM in the data centers are busy and new requests are in waiting state. In future an algorithm will be developed which automatically replicates the VMs. As number of resources will be increased replication of VM takes place. It can then accept huge amount of requests compared to the existing algorithm. An algorithm can be developed to optimize response time of besteffort execution of request [16]. According to Mayanka Katyal and Atul Mishra, Cloud Computing is a new trend emerging in IT environment with wild requirements of infrastructure, and Load Balancing is an important aspect of cloud computing environment. Efficient load balancing mechanism results into efficient resource utilization. Provisioning of resources is carried out on-demand basis in pay-as-you-saymanner. Load Balancing also supports users’ prioritization by applying appropriate scheduling criteria. This paper presents various load balancing Page 1460 Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-9, 2016 ISSN: 2454-1362, http://www.onlinejournal.in schemes in cloud computing environment based upon requirements specified in Service Level Agreement (SLA) [5]. According to Mohsin Nazir, Cloud Computing envisioned as the future architecture of IT Enterprises. A major move towards cloud computing can be expected in recent future. Cloud computing is really beneficial to companies wanting a competitive position in today’s economy. It offers attractive pricing, staff is free for other duties, and moreover it works on pay as needed services model which will continue to provide more businesses into this field. [4]. Soumya Ray and Ajanta De Sarkar performed their study on existing VM load balancing algorithm by implementing it in CloudSim simulation tool using java language. They observed that VM load balancing algorithm performs in two scenarios during compile time or run time. The execution time categorizes it into static or dynamic. Dynamic algorithms are less stable than static algorithms and difficult to predict behavior of dynamic algorithm also. They really works better in case of distributed environments. They proposed Novel dynamic load balancing algorithm as the future implementation of their research work. [6]. Shridhar G.Damanal and G. Ram Mahana Reddy proposed an efficient dynamic algorithm to manage load at the server. This algorithm dynamically studies workload of VMs to distribute load among them intelligently. In comparison to existing ActiveVM load balance algorithm, VM 0 is used almost ten times more than VM 24. Consequence is that initial VMs are over utilized and later VMs are underutilized. Hence they proposed algorithm to solve problem of inefficient utilization of VMs compared to existing algorithm [7]. Raza Abbas Haidri, C. P. Katti and P. C. Saxena proposed a load balancer which intelligently binds cloudlets to virtual machines in order to minimize response time and turnaround time so as to fulfill the desired objective. The proposed model is based on centralized load balancing mechanism. Before executing provisioning of cloudlets to VM, load balancer first calculates remaining capacities of all VMs. It finds more powerful VM and then dispatch cloudlet on to it. The proposed model ensures an even distribution of workload among the VMs [2]. Vikas Kumar and Shiva Prakash have surveyed the cloud computing’s load balancing issues and analyzed different existing techniques used in load balancing. They studied various researchers’ work done in the domain of load balancing, and did a research comparison. Their thorough study concludes that the issue of efficient load balancing is still open so that higher user satisfaction and more efficient resource utilization can be achieved [11]. According to Jaspreet Kaur, the key challenge of every IT engineer to develop efficient products that Imperial Journal of Interdisciplinary Research (IJIR) can enhance the business performance is Cost and Time. It follows in the cloud based IT sectors also. In her research paper, Equal Spread Current Execution Load balancing algorithm dynamically allocates the VM resources to the job in queue providing reduced cost in data transfer. The simulation is used to provide overall time and cost results, and a successful comparison of various load balancing algorithms [13]. Rukman Patla and Rubal Jeet proposed a system composed of many replicated machines known as Virtual redundant machine (VRM) that are able to unload the overloaded data centers once it detects that a datacenter is overloaded. This fulfills the purpose of attaining Virtual machine migration which is one of the major challenges for load balancing in cloud computing. It is required to achieve a better Process Management, better Response time and better Resource allocation to end users. In their proposed solution, infinite user requests will effect VRMs only. [14]. Rattan Mishra and Anant Jaiswal discussed the basic concept of cloud computing and the issues in load balancing here. The load balancing technique has been analyzed by using the concept of ant colony optimization algorithm. They studied and explained the mechanism of mobile agents to balance the load of cloud. The basic purpose of this research paper is to develop an efficient load balancing algorithm based on concept of ant colony optimization, and to regulate different parameters such as CPU load, network delay, and network load and memory capacity for clouds of different size. [9] 3. System Architecture The basic architecture of system is depicted in Figure 1. There are three basic entities in Cloud computing (Cloudsim) architecture – Datacenter, Cloud Information system (CIS), and Broker. Virtual machines reside on the host (physical servers). There exists one-to-many mapping between a host and VMs i.e. multiple VMs can be mapped onto a single host subject to its availability and capabilities. Primary responsibility of host is to assign processing cores to VM. Each host and VM has its hardware configurations- processing elements (PE), RAM, memory, bandwidth, etc. Allocation policy or algorithm must ensure that critical characteristics of VM and host do not mismatch. Page 1461 Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-9, 2016 ISSN: 2454-1362, http://www.onlinejournal.in Computing. Figure 1. Cloud computing system architecture A cloud user chooses a service pack from list of service packs available with the cloud service provider. Then it submits its requests to the broker which acts as a service agent between the service consumer (user) and service provider. The broker looks for the Cloud service providers (CSP) who can fulfill the VM request by querying the CIS. Any new resource created, should be registered to the CIS. Once the Cloud service provider has been chosen by Broker, it submits the VMs list to the Datacenter. The datacenter performs VM provisioning according to allocation policy decided by the cloud service provider. Figure 2. Load Balancing Architecture This workload distribution architecture reduces both resource over-utilization and under-utilization depending upon the underlying balancing mechanism. Figure 3 shows a redundant copy of cloud service is implemented on virtual server B. When user request for cloud service A comes in, it is directed to both virtual server A and virtual B to ensure equal load distribution. 4. Proposed Work The proposed work is load balancing based upon Enhanced Optimal Cost Scheduling Algorithm. It is consequence of enhancements to an existing load balancing algorithm which provides better performance over the existing results. It is a kind of Resource Scheduling Algorithm which distributes load evenly across the available nodes in a cloud computing environment. The algorithm achieves better resource utilization and improved response time which is desired and fruitful for both the user and provider. In the existing algorithm, processes are assigned to VMs based upon calculated Burst Time. Priority is given to a VM with least Burst Time i.e. next process in waiting queue is assigned to VM which is having least Burst Time. But executing of processes is carried out in FCFS fashion which means the process which comes first is executed first upon the assigned VM. In the proposed algorithm, process execution technique is altered where each process is executed based upon ascending order of Burst time value. Process with least Burst time is executed first and process with highest Burst time is executed in last. This reduces waiting time and turnaround time for process execution. This technique reduces execution cost to a great extent. Figure 2 depicts how user traffic is distributed over different servers in Cloud Figure 3. Load distribution with Optimal Scheduler The proposed algorithm works on pay-as-you-go cloud computing mechanism where a user request for the cloud service for a specific time and pay the amount as per cost defined by the cloud service provider. The service provider uses following notations [16] to calculate Profit for the services provided to the user. Table 1. Key Variables Used. Variables Rj VMj Cj u_cost e_cost u_time Prj j P Pkg Imperial Journal of Interdisciplinary Research (IJIR) Meaning Available cloud resources Available virtual machines Price fixed for VMj executing Rj Cost paid by user for service Cost taken by VM to serve the user User waiting time Provider’s profit on resource Number of instances ranging from 1 to n Processor Grouped resource packages Page 1462 Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-9, 2016 ISSN: 2454-1362, http://www.onlinejournal.in By using above notations, cost is defined as C that depends upon package containing the service. Let Cj = (VMj ,Pkg ,Rj) The algorithm works as follows: u cost=u cost[j]; [Initialize user cost] u_time=u_time[j]; [Initialize user time] e_cost = (Time taken by VM *u_time); [Calculate the actual cost] Pr = u_cost - e_cost; [Calculate the profit] This algorithm is beneficial for both the cloud provider and cloud users. The profit gained by the service provider is calculated as: u_cost = ∑u_cost (VM)/hour [user pays according to the package selected] e_cost = ∑e_cost (VM)/hour [actual cost involved in executing] 5.1. Simulator Modules Datacenter – it is container for hosts on which VMs are provisioned according to the requirement of the underlying load balancing algorithm. CISRegistry – it is central registration system where datacenter registers its available resources and broker queries the registered entries to choose a datacenter according to its required configuration. DatacenterBroker – It acts as a mediator between user and datacenter to make user avail datacenter resources. It takes in user request and queries CIS for datacenter with similar configurations. It then directly submits cloudlets to the datacenter selected for the user request. LoadBalancer – It distributes equal tasks among available VMs while execution of cloudlets is being performed. This component works according to the load balancing policy implemented in the solution. 6. Experimental Results 5. Simulation Details Cloudsim simulation tool is used to carry out the research work execution. The algorithm logic is implemented in Java language. Cloudsim simulation tool consists of virtual components – virtual machines (VMs), hosts, datacenter, and cloudlets. Hardware configurations are pre-defined in code for various components of the simulator. These components together forms a virtualized cloud environment to perform algorithm testing. Below figure depicts mechanism of VM creation and task scheduling in Cloudsim: A user is bound to select a service pack to get the service he is intended to use. The service pack contains a list of services available with the service provider within that particular service pack. These services are available on time basis and user has to pay according to selected service and time he chooses to run the service. First a user has to register in the application to get access to the available service packs. Once he completes registration process, he needs to enter a subscription request form with details of cost and time that he needs to pay for. The request is submitted to the service provider. If request is accepted, user has to pay charges accordingly. Then VM provisioning is carried out by the datacenter according to the underlying algorithm. This is the process of user taking the cloud service in pay as you go model. Basic process of task scheduling is done by Round Robin algorithm. The Enhanced Optimal Cost Scheduling algorithm works better over Round Robin and Optimal cost Scheduling algorithms and reduces the average waiting time and average turnaround time up to a great extent. Thus reducing the cost of execution of cloudlets. Figure 5 shows user request form with details of request he has chosen, cost of request and time duration he wanted the request. Figure 4. VM creation and task scheduling in Cloudsim Imperial Journal of Interdisciplinary Research (IJIR) Page 1463 Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-9, 2016 ISSN: 2454-1362, http://www.onlinejournal.in Req6 24 25 Figure 7 shows the log file generated after execution of all the three algorithms. It contains information about the execution of different processes on pre-configured VMs, time quantum, the burst time, waiting time and turnaround time for each process. Also shows the average waiting time and average turn around for overall execution for each of the algorithms in comparison. The log file also displays cost and profit details at the end. Figure 5. User Request Form Once the request is submitted, it is sent to VMs on datacenter for execution. The cost details of a request when submitted is given in graph below: Figure 6. Profit and time details for single request Table 2 gives details for the requests submitted for execution. It shows the request id, their cost and time duration for using the particular services. Table 2. User request information Request Id Req1 Req2 Req3 Req4 Req5 Cost($) 12 14 20 18 19 Time(Hr) 15 15 16 20 22 Imperial Journal of Interdisciplinary Research (IJIR) Figure 7. Log file of execution Page 1464 Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-9, 2016 ISSN: 2454-1362, http://www.onlinejournal.in Table 3 gives analysis after comparison of the three algorithm based on different parameters. The three algorithms compared are Round Robin, Optimal Cost Scheduling and Enhanced Optimal Cost Scheduling. Table 3. Comparative analysis. Parameters Scalability Execution Time Turnaround Time VM Load Distribution Waiting Time Service Provider Cost/Hr Round Robin Optimal Cost Scheduling Yes Slow Yes Fast Enhanced Optimal Cost Scheduling Yes Fast More(35) Less(28) Less (20) Slow Slow Fast More(24) Less(20) Less(12) High Less Less Table 4. Cost comparison Req1 Req2 Req3 Req4 Req5 Req6 Figure 9 shows the cost analysis of the three algorithms. The proposed algorithm gives better results in terms of lesser execution cost at the service provider end. Figure 9. Cost comparison of three algorithms Table 4 gives costs induced per hour by the client and cost taken per hour by the service provider, calculating the net profit obtained by the provider. Request Figure 8. Average waiting time and turnaround time Cost/hour of client 100 140 200 180 190 240 Cost/hour of provider 90 126 180 162 171 216 Profit of provider 10 14 20 18 19 24 Figure 8 shows the comparison of waiting time and turnaround time for the existing algorithms and the proposed algorithm. 7. Conclusion and Future Work Load balancing in cloud computing can be achieved with efficient resource scheduling mechanism. The enhanced resource scheduling algorithm introduced here provides much better results to implement profitable solution for scheduling resources in the cloud. Minimal cloud resources are used to implement the results. The proposed algorithm works proficiently to achieve minimum execution cost for service provider and reduced execution time for service user. It works when the VMs in datacenter are in idle state. Future work can be concentrated on reducing execution cost further based on other parameters like energy, power consumption, CPU time and some other similar things that can be valuable to achieve an economical solution for developing a resource scheduling algorithm in cloud computing. 8. References [1] Amandeep, Yadav V. and Mohammad F., “Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study”, International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 – 0882, Volume 3, Issue 1, April 2014. [2] Damanal S. G. and Reddy G. R. M., “Optimal Load Balancing in Cloud Computing By Efficient Utilization of Virtual Machines” IEEE 2014 [3] Haidri R.A., Katti C. P., Saxena P. C., “A Load Balancing Strategy for Cloud Computing Environment” , Imperial Journal of Interdisciplinary Research (IJIR) Page 1465 Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-9, 2016 ISSN: 2454-1362, http://www.onlinejournal.in International Conference on Signal Propagation and Computer Technology (ICSPCT) 2014 IEEE [4] Kansal N. J. and Chana I., “Cloud Load Balancing Techniques: A Step Towards Green Computing”, IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 1, No 1, January 2012. [5] Katyal M. and Mishra A.,” “A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment”, International Journal of Distributed and Cloud Computing, Volume 1, Issue 2 December 2013. [16] Shahapure M. H. and Jayarekha P, “Load Balancing with Optimal Cost Scheduling Algorithm”, International Conference on computation of Power, Energy, Information and Communication (ICCPEIC) 2014 IEEE. [17] Srinivas J, REDDY K.V.S. and QYSER A.MOIZ, “Cloud Computing Basics”, International Journal of Advanced Research in Computer and Communication Engineering Vol. 1, Issue 5, July 2012. [18]http://www.tutorialspoint.com/cloud_computing/, 17Apr-15 [6] Kaur J., “Comparison of load balancing algorithms in a Cloud”, International Journal of Engineering Research and Applications (IJERA), ISSN: 2248-9622, Vol. 2, Issue 3, pp.1169-1173, May-Jun 2012. [7] Kherani F. F. and Vania J., “Load Balancing in cloud computing”, International Journal of Engineering Development and Research (IJEDR), Volume 2, Issue 1,ISSN: 2321-9939, 2014. [8] Kumar V. and Prakash S., “A Load Balancing Based Cloud Computing Techniques and Challenges”, International Journal of scientific research and management [9] Mishra R. and Jaiswal A., “Ant Colony Optimization: A Solution of Load Balancing in Cloud”, International Journal of Web & Semantic Technology (IJWest), Vol 3, No 2, April 2012. [10] Monjur A. and Mohammad A. H. “Cloud Computing and Security Issue in The Cloud” International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.1, January 2014. [11] Nazir M., “Cloud Computing: Overview & Current Research Challenges”, IOSR Journal of Computer Engineering (IOSR-JCE) ISSN: 2278-0661, ISBN: 22788727Volume 8, Issue 1 (Nov. - Dec. 2012), PP 14-22. [12] Pasha N., Agarwal A. and Rastogi R., “Round Robin Approach for VM Load Balancing Algorithm in Cloud Computing Environment”, International Journal of Advanced Research in Computer Science and Software Engineering, Volume 4, Issue 5, ISSN: 2277 128X, May 2014. [13] Patla R. and Jeet R., “Load Balancing in the Cloud Computing Using Virtual Machine Migration: A Review”, International Journal of Application or Innovation in Engineering & Management (IJAIEM), Volume 3, Issue 5, ISSN 2319 – 4847, May 2014. [14] Ray S. and Sarkar A.D., “Execution Analysis of Load Balancing Algorithms in Cloud Computing Environment”, International Journal on Cloud Computing: Services and Architecture (IJCCSA), Vol.2, No.5, October 2012. [15] Selvi S. T., Valliyammai C. and Dhatchayani V. N., “Resource Allocation Issues and Challenges in Cloud Computing”, International Conference on Recent Trends in Information Technology 2014 IEEE (IJSRM), Volume2, Issue5, Pages 815-824, 2014. Imperial Journal of Interdisciplinary Research (IJIR) Page 1466