You are on page 1of 4

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)

Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 3, Issue 1, January February 2014 ISSN 2278-6856

Design and implementation of an Efficient Scheduling algorithm for load balancing in Cloud Computing
1

Amritpal Singh, 2 Rajeev Kumar Bedi, 3 Sunil Kumar Gupta


1

Assistant Professor, Global Institute of Management, Amritsar 2 Assistant Professor, BCET, Gurdaspur 3 Associate Professor, BCET, Gurdaspur

Abstract:

Internet is the basic need in every segment of life. Due to wide use of internet services, load increases on servers. There is need of load balancing algorithms that can improve the performance of servers. Load balancing is a technique to distribute load across one or more servers, hard disks or other computing resources. Work has been done on homogenous kind of load balancing algorithms. But due to increase of diversification of resources in the cloud resources, there is need to work on heterogeneous kind of load balancing algorithms. The objective of this paper is to develop a new heterogeneous load balancing algorithms that can easily distribute the load across number of servers.

Computing, one important application is workload shift. In this application local computers have no work to do, when an application is running. The computers that are connected in the network handle all the workload.

Key Terms:- Load Balancing, Internet, Homogeneous, Heterogeneous

1. INTRODUCTION
Around one hundred and fifty years ago, business ran their day to day operations completely different from what business of the modern era do to run their day to day operations. Now, most of the civilized world would not know what to do with themselves without technology. Improvements in IT improve our lifestyles and business by allowing computers to reduce complications and enrich possibilities [2]. Cloud Computing provides an interface with the help of which a user can log in to a web based service and can accomplish his job very easily by using internet connection. Cloud Computing provides a service oriented architecture infrastructure that provide so many facilities to the user as IT resources, Dynamic service management, scaling and workload distribution. But even there are some disadvantages of using Cloud Computing, as user store their important data on Cloud, so users demand is, their data should be in safe hands. So the security is the main concern for people who are using Cloud Computing [3]. Cloud Computing is always in demand, when you think about what IT always needs: provide an infrastructure without much investment, training new personnel, or licensing new software. Cloud Computing is a concept where a number of computers are connected through a network [5]. Cloud Computing works on per-use module, it means you will pay to service provider as per your usage. Now these days, Industry and Academia basically totally based on Cloud Computing [4]. In Cloud Volume 3, Issue 1 January February 2014 Cloud Computing Framework Service Models: Following are the three basic service models used for Cloud Computing. Software as a service Software-as-a-Service (SaaS): Saas is a new model, which tells how software is delivered. In this service model, we access the software by using web browser and cost is paid on a subscription basis. As in other models, if a user wants to use software, he has to buy the license of the software. In this way Saas provides pay per use service to the customer. This model is faster and cost effective. Customers do not need to spend money on hardware, implementation or acquisition to run the application. Its the responsibility of the service provider to manage and run the application with security, reliability and performance. Saas can be used by Windows, Linux or Mac users, providing platform independence over the internet. Platform as a Service Platform-as-a-Service (PaaS): Paas is one of the category of Cloud Computing services that facilitate with computing platform and a solution stack as a service. Paas providing a service of deployment of applications without the cost and complexity of buying and managing the underlying hardware and software. Paas providing services to the customer as application design, application development, testing and deployment, also facilitate team collaboration, web service integration, security, scalability. Page 106

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 3, Issue 1, January February 2014 ISSN 2278-6856
the allocation of virtual machine, ID of ideal virtual machine is send by TLB to the data center controller and data center controller allocates the ideal virtual machine [10]. C. Least Connection Scheduling Algorithm The least-connection scheduling algorithm [10] directs network connections to the server with the least number of established connections. This is one of the dynamic scheduling algorithms; because it needs to count live connections for each server dynamically. For a virtual server that is managing a collection of servers with similar performance, least-connection scheduling is good to smooth distribution when the load of requests vary a lot [10].

Infrastructure as a Service Infrastructure-as-a-Service (IaaS): In case of Iaas, service providers provide computers-physical or virtual machines and other resources. Iaas also facilitate additional resources such as virtual-machines desk image library, raw and file-based storage, firewalls, load balancers, IP addresses and software bundles. Examples of Iaas providers include: -Amazon EC2, Azure Services Platform, Google Compute Engine etc.

2. Load Balancing
Load balancing is the process of improving the performance of distributed and parallel computing with the help of distribution of load among the processors or nodes. As the use of the web increasing day by day, with this there is need to increase the requirement for load balancing. The introduction of E-Commerce has lead many businesses to carry out the most of their day-to-day business online. As a result of the increase in demand of the web, web sites providers want to ensure the availability of access for their users and make sure that their requests are processed as quickly as possible.

4. SIMULATION SETUP PERFORMANCE ANALYSIS

AND

3. LOAD BALANCING ALGORITHMS


Virtual machine provides an environment with the help of which a user can run different application on it. The hardware infrastructure services connected to the Clouds is configured in the Cloudsim simulator by a Datacenter element for handling service requests. The requests are basically application elements configured within VMs, processing power is allocated to each request on Datacenters host components [11]. In cloudsim, DataCenter object manages all the activities related with data center management activities such as VM creation and destruction and does the routing of user requests received from User Bases via the Internet to the VMs [7]. The Data Center Controller [7], uses a VmLoadBalancer to track which VM is free and which VM should be assigned to the next request for processing. Mostly used Vmloadbalancer are Round Robin, active monitoring and throttled load balancing algorithms [10]. A. Round Robin Load Balancer (RRLB) In this, a number of requests are assigned by datacenter to a list of VMs on a rotating basis. The first request is assigned to a VM- selected randomly from the list of VMs and then the DataCenter controller assigns the particular requests in a circular order. Once the VM is assigned the request, the VM id is moved to the end of the list. In this manner, Round Robin Load Balancer works [9]. B. Throttled Load Balancer (TLB) In TLB, a record of the state of each virtual machine (busy/ideal) is maintained. If a request arrived regarding Volume 3, Issue 1 January February 2014

Figure 1:- Simulator Home Screen

Figure 2:- Simulation Setup Screen

Figure 3:- Simulation Run Screen Page 107

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 3, Issue 1, January February 2014 ISSN 2278-6856
Simulation setup and the performance of the different load balancing algorithms are done by using cloud analyst simulator. Users are divided on the world map into 6 regions shown in the table as well as the parameters of the Data Centers are shown in the tables. Table 1:- User Based configuration
User Base UB1 UB2 UB3 UB4 UB5 UB6 Region 0 1 2 3 4 5

Table 2:- Data Center Configuration


Data Center DC1 DC2 DC3 VMs 10 10 10 Memory 1024 2048 4096 Bandwidth 1000 1000 1000

new VM from the DataCenterController arrives, with the help of maintained data structure, it returns the most powerful VM, next in order which is currently not allocated/busy. Proposed Algorithm returns the VM id to the DataCenterController. The DataCenterController sends the request to the VM identified by that id. DataCenterController notifies the Proposed Algorithm of the new allocation. Proposed Algorithm updates the datastructure increasing the allocation count for that VM and adding the new allocation to the busy-list. When the VM finishes processing the request and the DataCenterController receives the response cloudlet, it notifies the Proposed Algorithm of the VM de-allocation and the particular VM is removed from the busy-list. In the same way, the above mentioned criteria is followed by Proposed Algorithm.

CONCLUSION
A scheduling algorithm needs to be tested in these three areas: allocation time, responsiveness, and efficiency. Our algorithm is more responsive in critical situations also as number of requests increases, size increases, traffic increases etc. Our algorithm works much better in the efficiency area in order to be successful in the fairness and responsiveness areas. The purposed algorithm implements the advantages of both the round robin and least connection algorithms. CPU processing time is also impressive as compare to other load balancing algorithms. Our algorithm works in heterogeneous environment so it is more scalable as than that of other algorithms.

PROPOSED ALGORITHM 1 BEGIN 2 CREATE VMs with different COMPUTING POWERS 3 FOR Vvm I to In of VMS DO 4 Assign Fflag=0, Rreq =0 5 Arrange the (I1, , In) index as per RAM (Mmem) of VMS in descending order 6 FOR Vvm I to In 7 Capacity Ccap= Mmem /512 8 IF Fflag==0 THEN 9 ALLOCATE the request 10 Rreq++ 10 If Rreq <Ccap THEN 11 GOTO STEP 9 12 ELSE 13 Assign Fflag =1 14 GOTO STEP 7 At the first stage, create VM's of different Datacenter according to computing power of host/physical server in terms of its core processor, processing speed, memory, storage etc. Then allocate weighted count according to the RAM allocated to the VM's in the datacenter.VM with RAM 2048 will handle four times as much task as a VM with 512 RAM. Proposed Algorithm maintains the VM sequence sorted in descending order of their RAM. VMs with RAM 2048 are placed before VMs with RAM 1024.So when the request arrives, VM with higher RAM is given the task with the condition that it is currently not busy. Otherwise VM next in order satisfying the same condition is returned. It also maintains a data structure that contains the associated weight count and the number of requests currently allocated to the VM. At start all VM's have 0 allocations. When a request to allocate a Volume 3, Issue 1 January February 2014

References /Bibliography
[1] Qi Zhang, Lu Cheng, Raouf Boutaba; Cloud computing: state-of-art- and research challenges; Published online: 20th April 2010, Copyright : The Brazillian Computer Society 2010. [2] Michael Armbrust, Armando Fox, Rean Griffith, Anthony D.Joseph, Randy Katz; Above the Clouds: A Berkeley View of Cloud Computing; The Regents of the University of California, 2009 [3] Christ of Weinhardt, Benjamin Blau, Jochen Stober; Cloud Computing- A Classification, Business Models, And Research Directions, Business and Information System Engineering. Vol 5. 2009, Pg 391-399 [4] Rodrigo N.Calheiros, Rajiv Ranjan, Cesar A. F. De Rose, and Rajkumar Buyya; CloudSim: A Novel Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services, Grid Computing and Distributed Systems (GRIDS) Laboratory, Dept. of Computer Science and Software Engineering, The University of Melbourne, Austrailia; Pontificial Catholic University of Rio Grande do Sul Porto Alegre, Brazil. Page 108

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 3, Issue 1, January February 2014 ISSN 2278-6856
[5] Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, Cesar A. F. De Rose, and Rajkumar Buyya, CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms, Software: Practice and Experience (SPE), Volume 41, Number 1, Pages: 23-50, ISSN: 0038-0644, Wiley Press, New York, USA, January, 2011 [6] Rajkumar Buyya, Rajiv Ranjan and Rodrigo N. Calheiros,; Modeling and Simulation of Scalable Cloud Computing Environments and the CloudSim Toolkit: Challenges and Opportunities. Proceedings of the 7th High Performance Computing and Simulation Conference (HPCS 2009, ISBN: 978-14244-4907-1, IEEE Press, New York, USA), Leipzig, Germany, June 21-24, 2009. [7] Bhathiya Wickremasinghe, Rodrigo N. Calheiros, Rajkumar Buyya,CloudAnalyst: A CloudSim-based Visual Modeller for Analysing Cloud Computing Environments and Applications, 20-23, April 2010, pp. 446-452. [8] Cloud computing insights from 110 implementation projects; IBM Academy of TechnologyThought Leadership White Paper, October 2010. [9] IoannisPsoroulas,IoannisAnagnostopoulos,VassiliLo umos, Eleftherios Kayafas, A Study of the Parameters Concerning Load Balancing Algorithms, IJCSNS International Journal of Computer Science and Network Security, Vol. 7, No. 4, 2007, pp. 202-214 . [10] Sandeep Sharma, Sarabjit Singh, Meenakshi Sharma Performance Analysis of Load Balancing Algorithms, World Academy of Science, Engineering and Technology, 38, 2008 pp. 269- 272. [11] CloudSim 2.1.1 API (Application Programming Interface) , The Cloud Computing and Distributed Systems (CLOUDS) Laboratory, The University ofMelbourne, http://www.cloudbus.org/cloudsim/doc/api/index.htm l
SUNIL KUMAR GUPTA is an Associate Professor in the Department of Computer Science & Engineering at BCET, Gurdaspur. His current research area of interest is distributed computing.

AMRITPAL SINGH is a student of M.Tech (CSE) at BCET, Gurdaspur, did his graduation in Information technology from BCET, Gurdaspur. His current research area of interest is Cloud Computing.

RAJEEV KUMAR BEDI is an Assistant Professor in the Department of Computer Science & Engineering at BCET, Gurdaspur. His current research area of interest is cloud computing.

Volume 3, Issue 1 January February 2014

Page 109

You might also like