International Journal of Soft Computing and Engineering (IJSCE) ISSN: 2231-2307, Volume-5 Issue-3, July 2015 61 Published By: Blue Eyes Intelligence Engineering & Sciences Publication Pvt. Ltd. Hybrid Load Balancing Algorithm in Heterogeneous Cloud Environment Hafiz Jabr Younis, Alaa Al Halees, Mohammed Radi Abstract— Cloud computing is a heterogeneous environment offers a rapidly and on-demand wide range of services to the end users.It’s a new solution and strategy for high performance computing where, it achieve high availability, flexibility, cost reduced and on demand scalability. The need to efficient and powerful load balancing algorithms is one of the most important issues in cloud computing to improve the performance. This paper proposed a hybrid load balancing algorithm to improve the performance and efficiency in heterogeneous cloud environment. The algorithm considers the current resource information and the CPU capacity factor and takes advantages of both random and greedy algorithms. The hybrid algorithm has been evaluated and compared with other algorithms using cloud Analyst simulator. The experiment results show that the proposed algorithm improves the average response time and average processing time compared with other algorithms. Keywords—Cloud Computing, Cloud Analyst, Scheduling algorithm, Virtual Machine Load Balancing. I. INTRODUCTION In recent years, Cloud computing become a new computing model emerged from the rapidly development of internet. It leads the new IT revolution. Cloud computing considered an evolution of distributed systems. The National Institute of Standards and Technology's (NIST) define a Cloud computing as "cloud computing is a model for enabling ubiquitous, 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 or service provider interaction. "[3] cloud computing has moved computing and data away from desktop and portable PCs into large data centers[2]. Cloud computing is a heterogeneous environment offers a rapidly and on-demand wide range of services[1]. Heterogeneous environment means having different hardware characteristics including CPU, memory, storage and other hardware[2].Load balancing considered as one of the most challenges in cloud computing. It is the major factor to improve the performance of the cloud computing. The current load balance scheduling algorithms in cloud computing environment is not highly efficient[5]. Load balancing in cloud computing environment is very complex task till today, because prediction of user request arrivals on the server is not possible, and each virtual machine has different specification, so it becomes a very difficult to schedule job and balance the load among node[6]. Recently, Revised Version Manuscript Received on May 25, 2015. Hafiz Jabr Younis, Faculty of Information Technology Islamic University of Gaza (IUG) Gaza, Palestine Alaa Al Halees, Faculty of Information Technology Islamic University of Gaza (IUG) Gaza, Palestine Mohammed Radi, Faculty of Applied Science, Al-Aqsa University, Gaza, Palestine Many research works have proposed a load balancing algorithms in cloud computing such as Round Robin, Equally Spread Current Execution and Throttled Load Balancing Algorithm. The current load balance scheduling algorithms in heterogeneous cloud computing environment is not highly efficient[5]. This research proposes a hybrid load balancing algorithm to improve the performance and efficiency in heterogeneous cloud computing environment. The proposed algorithm takes advantages of both random and greedy algorithms and considers the current resource information and the CPU capacity factor to achieve the objectives. The hybrid algorithm has been evaluated and compared with other algorithms using cloud Analyst simulator. The result showed improvements on average response time and on processing time by considering the current resource information and the CPU capacity factor compared with other algorithms, and this means the performance has improved. The paper in general will be organized as follows: Section two is devoted to cloud computing overview. In section three the load balancing overview. In section four the related works. In section five we define the proposed algorithm. Section six is about experiment and results. Section seven is for the conclusion and future work. II. CLOUD COMPUTING Cloud computing is a heterogeneous environment offers a rapidly and on-demand wide range of services [1]. Heterogeneous environment means having different hardware characteristics including CPU, memory, storage and other hardware [2]. The business owner can start and expand without invest in the infrastructure with lowering operating and maintenance cost. It has moved computing and data away from desktop and portable PCs. The cloud is a virtualization of resources that maintains and manages itself [13]. It builds on a wide range of different computing technologies such as high-performance computing, distributed systems, virtualization, storage, networking, security, management and automation, Service-Oriented Architecture (SOA), Service-Level Agreement (SLA) and Quality of Service (QoS)...etc.[14]. A. Cloud Service Model Cloud Computing as shown in Figure 1 can be delivered through such delivery models as follow: • Infrastructure as a Service (IaaS): This model of Cloud computing provide Hardware as a Service via Internet such as storage, CPU and other. There are many IaaS providers such as Amazon Elastic Cloud Compute (EC2), Rackspace[4][5]. • Platform as a Service (PaaS): Cloud computing provide a platform as a services that required for building application, where user using tools and libraries for Cloud service providers, and also consumers deployed their applications without costing of hardware.