I. Introduction
Cloud computing is a computing technology which consist of large numbers of servers to provide storage, services and resources. Whenever a user requires the services available in cloud, he/she can use the services by paying for it on timely basis. Now a day’s more users use cloud because of the advantages of the cloud. Different application consumes various amount and type of resources. Allocation of resources is the major challenging issue in cloud environment. In resource allocation the available resources such as CPU, memory, network, I/O, storage are assigned according to the requirements and usage in an effective way. We need to assign resources in an effective and efficient way so that we can reduce the load in the cloud data centers and increase the resource utilization rate.