A REVIEW OF THE LOAD BALANCING TECHNIQUES AT CLOUD SERVER Kiran Bala, Sahil Vashist, Rajwinder Singh, Gagandeep Singh Department of Computer Science & Engineering, Chandigarh Engineering College, Landran(Pb), India er.kiran2628@gmail.com Sahilvashist90@gmail.com ABSTRACT Cloud Computing is an emerging platform for the analysis of the services, service providers and features associated with them. Load Balancing refers to distributing the tasks, generated at the client end, at the server end to save the server from over burden. Although the cloud computing is an efficient platform for such task still there has been a lot of mechanisms already presented in the literature so far to prevent the server from overload. Algorithms like FCFS, Priority, Round Robin already work has been done by various authors in the area of load balancing at the data centers. This paper reports the existing work done to prevent the server from overloading. The paper outlines the future research worker in area of load balancing by this technique. KEYWORDS: Cloud Computing, Load Balancing, Scheduling Algorithms, FCFS, Group-Based Scheduling Algorithm 6 INTRODUCTION A Cloud computing is a most demanded advanced technology throughout the world in large scale distributed computing. It has moved away application services from desktop and portable PCs into large data centers through Internet. Cloud can provide a services that runs on servers on a leased basis and with ability to scale up or down according to their services request. Example online shopping and University websites. Thus, cloud computing is a framework for enabling a suitable, on-demand network access from a shared pool of computing resources (e.g. applications, services, networks, servers and storage). These resources can be accessible quickly with minimal management effort, cost or service provider interaction. Cloud computing can be accessible anywhere there is a reliable internet connection and also independent of client platform that is used. Cloud computing can freeing up the valuable recourses and reassign the unused resources [1]. One way to think of cloud computing is to consider your
experience with email. Your email client, if it is Yahoo, Gmail, Hotmail, and so on, takes care of housing all of the hardware and software necessary to support your personal email account. When you want to access your email you open your web browser, go to the email client, log in and access the data. The most important part of the equation is having internet access. Your email is not housed on your physical computer; you access it through an internet connection, and you can access it anywhere. In figure1 shows that any devices like desktops, PCs, laptops etc can connect and access the data from cloud at any time. computing resources which can include applications and operating system Suppose we need the entire infrastructure to develop a system then it would be provided by the cloud data centre itself.like if we need the operating system from the cloud then the user will have to pay to the cloud for the infrastructure and the services would be provided to the user. Example Amazon s Elastic Compute Cloud (EC2) which is a web services that provide resizable compute capacity in the cloud. PAAS- It stands for Platform as a service in which the platform for the development would be provided by the cloud data centre. Suppose there is an application to be developed over VISUAL STUDIO or on JAVA, the visual studio platform would be provided by the cloud data centre itself and it would be charged from the user side. Example Google App Engine, enable user to host and build web application on the systems. SAAS-: Figure 1 represents the cloud 1.1There are three layers in a cloud computing paradigm It stands for software as a service. These services are applications over Internet. The user can run these applications using a web-browser. If any software is required to the user, then it would be provided by the cloud data center itself. Example Google Docs [2]. Figure 2 shows that the layers of cloud and user can access these services through web-browser,thin clients,terminal etc. IAAS- It stands for Infrastructure as a service, is capability to provided the services like processing, storage, networks and other 7
Figure2 represents the layer of Cloud 2.LOAD BALANCING Load Balancing is a process to distribute workload to the among various nodes(servers, hard drives, network interfaces, or other computing resources) to make utilization of resources effectively and improve the response of tasks.typical implementations of datacenter rely on expensive, powerful and large computing hardware and network infrastructure, which includes the usual risks associated with any physical device, including hardware failure, power and/or network interruptions, and resource limitations in times of high demand. Load balancing is one of the central issues in cloud computing. The load can be in term of CPU load, memory capacity, delay or network load.. In this scenario, different algorithms are there which efficiently distributes the task at different locations. This scenario completely depends upon the work load which is generated. If the work is less than the resources then there is no 8 need of the load balancing but if the number of resources are less than that of the number of tasks generated then load balancing is required.load balancing ensures that all the processor in the system does approximately the equal amount of work at any instant of time [3]. 2.1NEED OF BALANCING THE SERVERS IN TERMS OF LOAD Load balancing in clouds is a method that distributes the excess dynamic local workload across all the nodes. By balancing the load in the cloud help to achieve a high user satisfaction and improve resource utilization, also sure that no single node is overwhelmed, hence improving the overall system performance. Proper load balancing can help in utilizing the available resources, thereby minimizing the consumption of resources. It also helps in implementing failover, avoiding bottlenecks, enabling scalability and over-provisioning, reducing response time etc.[4] The goal of Load Balancing are[5] Improve the performance Maintain system stability Build fault tolerance system Accommodate future modification..figure3 shows that load balancers can perform a range of specialized runtime workload distribution functions, such as: Asymmetric Distribution - Issuing larger workloads to IT resources with higher processing capacities.
Workload Prioritization - Scheduling, queuing, discarding, and distributing workloads according to their priority levels. Content-Aware Distribution - Distributing requests to different IT resources as dictated by the content of each request. A load balancer is programmed or configured with a set of performance and quality-of-service rules and parameters with the general objectives of optimizing IT resource usage, avoiding overloads, and maximizing throughput. The load balancer is typically located on the communication path between the IT resources generating the workload and the IT resources performing the workload processing. This mechanism can be designed as a transparent agent that remains hidden from, or as a proxy component that abstracts the IT resources performing the workload from their requestors.. FCFS stands First come first server algorithm. Each and every scheduler has a job queue in which job waits for its turn to get executed.the architecture of the FCFS algorithm is as follows. Start If (job.length>0) D=Check(system.count ); If (D>0) While (task.count<d) Assign system with the task If (task.count>d) Initialize queue (); First element.queue =execute ; Perform while (job.count!=0) FCFS is a very simple algorithm which does not involve any sophisticated architecture system in which only that job is executed first which reaches first in the queue.[6] 3.2GROUP BASED SCHEDULING FOR LOAD BALANCING : Figure3 Represents load balancing at cloud 3.ALGORITHMS AND THEIR COMPARISONS 3.1FCFS ALGORITHM: This algorithm has an edge over the FCFS algorithm. In this algorithm grouping is done on the basis of the properties of the jobs. The job properties can be decided according to its generation point. This algorithm follows the initial architecture of the FCFS algorithm in which if the job count is only 1 then the system available would be allocated to the server. After that the groups of the jobs would be created according to their properties so that similar type of jobs may get assigned to one server and the need of rebroadcasting to search for systems gets vanished.the algorithm of the group based scheduling is as follows 9
Start If (job.count>0)&&(job.count==1) Provide server (job) If (job.count>=2) Initiate group (job.property) System.assigned.fisible.property(job) Stop The comparative result of the execution may be classified as follows Algorithm Jobs Time in Completed initiated ms FCFS 100 1000 52 GROUP 100 1000 73 It is clear from the above table that the group based algorithm is much efficient than the fcfs algorithm. Furthermore the Group based algorithm may be more classified according to the priority of the jobs or dependency of the jobs[7]. 4.CONCLUSION This paper covered a overview of the load balancing and the efficient techniques which can be used for the load balancing purpose.in this paper we discussed FCFS algorithm and group based scheduling algorithm. From the comparison of these two algorithm, group based scheduling algorithm is much better than FCFS. In FCFS there are several applications with a large number of jobs which are lightweight but jobs need small processing requirements, total communication time and cost will increases when each small jobs sending/receiving a request to/from resources. So, there is a need of efficient job grouped-based scheduling technique. It completes the jobs by grouping the similar job in groups according to their property. After that these group is assigned to the one server and another group is assigned to another server according to property of server. By doing this the task can be completed with less processing requirements, utilization of resources, cost and in less time. By this way the load can be balanced to assign similar task to one server. In future our focus on developing an efficient algorithm which not only reduce the communication cost and time but also balance the load among resources. REFERENCES [1] Siva Theja M. and R. Srikant Stochastic Models of Load Balancing and Scheduling in Cloud Computing Clusters IEEE, 2012. [2] L. Khanna, A.Jaiswal Cloud Computing: Security Issues And Description Of Encryption Based Algorithm To Overcome Them International Journal of Advanced Research in Computer Science and Software Engineering,Vol. 3, March 2013. [3] S. MOHARANA, RAJADEEPAN D. RAMESH & D. POWAR ANALYSIS OF LOAD BALANCERS IN CLOUD COMPUTING International Journal of Computer Science and Engineering (IJCSE), Vol. 2, Issue 2, May 2013, pp-101-108. [4] A. Nahir, A. Orda, D. Raz Distributed Oblivious Load Balancing Using 10
Prioritized Job Replication Vol. 21, pp-123-256, IEEE, 2013. [5] T. Desai, J. Prajapati, A Survey Of Various Load Balancing Techniques And Challenges In Cloud Computing INTERNATIONAL Mobile Computing, Vol. 2, May 2013, pg.214 218. JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH, VoL 2, NOVEMBER 2013 SURVEY ARTICLE 11