I. Introduction
Cloud Computing is a new paradigm where computing resources are made available to the users in a pay per use manner [1] [16]. Cloud Computing provides computing resources mainly in 3 forms namely Software as a Service (SaaS), Platform as Service (PaaS) and Infrastructure as a Service (IaaS). In SaaS, a Software application is made available to the requester. Salesforce is an example for SaaS. In PaaS, Application development platform is made available to the requester. Microsoft Azure is one of the example for PaaS. In IaaS, an Infrastructure is provided as a service to the requester. Some of the providers who offers IaaS are Amazon, Rackspace etc. Virtualization [18] is the technology behind the cloud which realize the vision of utility computing. Some of the hypervisors used in virtualization are Xen, KVM, VMware ete. Cloud provides computing resources in the form of virtual machine, which is a abstract machine runs on physical machine. The requester using the virtual machine will have the feel of working on physical machine. Cloud comprises of huge number physical servers. It is necessary to avoid hotspot for efficient resource utilization in a cloud. Overloaded servers results in performance degradation of applications and under loaded servers results in inefficient resource utilization. It is necessary to provide right amount of resource dynamically to the applications running in virtual machines in order to meet the performance. In this paper we present an algorithm for the same.