Dynamic VM Allocation Algorithm using Clustering in Cloud Computing

Cloud computing has become the collective model for grouping the different technologies which are collaborated to provide the services on demand. Cloud computing is known as a dynamic service provider using very large scalable and virtualized resources over the Internet. These services include IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service) and DaaS (Data as a Service). VM allocation allows efficient sharing of virtual machines to available datacenters and these allocation policies help to evaluate and enhance the cloud performance. Different allocation policies are available and they have their own advantages and limitations. In this paper a new dynamic VM allocation policy is introduced that takes VMs as per user requirement and allocate them in cluster form to the available datacenters. These clusters of VMs are formed by using K-Means clustering algorithm. So before moving to any datacenters, sets of VMs are created and then passed to the nearest datacenterId. It allows fast accessing of servers and also efficient utilization of available resources. This reallocation of VMs improves the performance of CPU, memory and network operations by reducing the load on datacenters. The implementation of proposed algorithm is performed by using CloudSim3.0.1 simulator.