International Journal of Computer Science Trends and Technology (IJCST) – Volume 2 Issue 4, July-Aug 2014 ISSN: 2347-8578 www.ijcstjournal.org Page 99 An Efficient Priority Based Load Balancing Algorithm for Cloud Environment Harmandeep Singh Brar 1 , Vivek Thapar 2 Research Scholar 1 , Assistant Professor 2 , Department of Computer Science and Engineering, Guru Nanak Dev Engineering College, Punjab Technical University, Ludhiana, 141006 Punjab –India ABSTRACT Widespread use of computers for almost every task encountered in our day-to-day lives has increased the demand for resources like computing power, storage and bandwidth. The problem was initially addressed with the provisioning of computer networks, which later lead to the development of concepts and paradigms like distributed computing, grid computing and cluster computing. A recent addition to this list has been “cloud computing”, aiming to provide users with all their computing requirements through the notion of “services”. But such provisioning requires sophisticated techniques to handle the workload and respond to user requests in time. One of these major issues in cloud computing is load balancing, which is the process of assigning tasks to virtual machines in such a way that neither of them either gets overwhelmed by requests or remains idle for a longer duration. Such algorithms must be efficient enough as not to waste host resources and robust enough to withstand increasing number of users. Larger the organization, greater is the cost and hence the risk involved. It is therefore better and safe to analyze the risks involved in implementing the algorithms for providing a particular level of services. This involves an evaluation of the algorithms, applications and policies. The most successful and easy method is to simulate the working environment using a simulation tool. Cloudsim is a simulation toolkit that provides suitable facilities to model and simulate different types of cloud environments. It has a provision of applying any of the three existing cloud broker policies and load balancing algorithms, and also provides facility to extend the toolkit by implementing and testing newer algorithms. This paper proposes a priority based load balancing algorithm, wherein execution length of cloudlets is input as the workload to the system and is used to assign priority to the tasks. A comparison of the execution times of cloudlets is also being made using the proposed algorithm and the existing Round Robin load balancing algorithm. Keywords:- Cloud computing, Software as a Service, Platform as a Service, Hardware as a Service, Hypervisor, Service proximity, Round Robin, Throttled, Active monitoring, Fairness, Execution length, Real time. I. INTRODUCTION Cloud computing provides a way of letting users access resources like computing power, memory, applications, bandwidth and development environments in the form of services using a pay-per-use method. These services are provided by a cloud service provider using a set of protocols and service level agreements with the clients. The hosts are housed in data centres, which are maintained by the service provider. A third part, called a service broker is required in order to act as an intermediary for routing user requests to the most appropriate data centres and provide efficiency and better performance. The process of sending a user request, through processing it and returning the result to the user, involves a number of policies and algorithms at each logical layer. Brokers make use of service broker policies in order to select the most appropriate data centre for servicing a user request. Load balancers, on the other hand, make use of an efficient load balancing algorithm in order to send the request to the most suitable virtual machine. The aim here is to select a virtual machine in such a way that no virtual machine gets overwhelmed by requests, when some others may be completely free. Another task involves Virtual machine management, which is handled by the hypervisor or the Virtual Machine Manager. The job of the hypervisor regards creation, deletion, management and migration of virtual machines within the hosts. Amongst the tasks discussed above, load balancing is an important issue that needs to be addressed for greater efficiency. Selection of the most appropriate virtual machine affects completion time of the task, and hence the number of jobs performed and the cost involved. A number of load balancing algorithms have been discussed in literature, and a few have efficiently been implemented to address the issue of load balancing in cloud computing. But the best amongst these algorithms are not suitable for all of the situations encountered in our day-to-day lives. One such major area is that of real-time applications that are governed by real-time completion of the tasks. In many cases, delayed completion may result cause catastrophic effects. Therefore, an efficient load balancing algorithm is required to serve such applications. In order to test the efficiency of algorithms, using a real cloud set-up is often not feasible. The most effective alternative is to simulate the environment and model the scenario using the RESEARCH ARTICLE OPEN ACCESS