Self Adaptive Particle Swarm Optimization for Efficient Virtual Machine Provisioning in Cloud

Self Adaptive Particle Swarm Optimization for Efficient Virtual Machine Provisioning in Cloud

R. Jeyarani (Coimbatore Institute of Technology, India), N. Nagaveni (Coimbatore Institute of Technology, India) and R. Vasanth Ram (PSG College of Technology, India)
DOI: 10.4018/978-1-4666-2047-6.ch006
OnDemand PDF Download:
List Price: $37.50


Cloud Computing provides dynamic leasing of server capabilities as a scalable, virtualized service to end users. The discussed work focuses on Infrastructure as a Service (IaaS) model where custom Virtual Machines (VM) are launched in appropriate servers available in a data-center. The context of the environment is a large scale, heterogeneous and dynamic resource pool. Nonlinear variation in the availability of processing elements, memory size, storage capacity, and bandwidth causes resource dynamics apart from the sporadic nature of workload. The major challenge is to map a set of VM instances onto a set of servers from a dynamic resource pool so the total incremental power drawn upon the mapping is minimal and does not compromise the performance objectives. This paper proposes a novel Self Adaptive Particle Swarm Optimization (SAPSO) algorithm to solve the intractable nature of the above challenge. The proposed approach promptly detects and efficiently tracks the changing optimum that represents target servers for VM placement. The experimental results of SAPSO was compared with Multi-Strategy Ensemble Particle Swarm Optimization (MEPSO) and the results show that SAPSO outperforms the latter for power aware adaptive VM provisioning in a large scale, heterogeneous and dynamic cloud environment.
Chapter Preview


Cloud Computing is emerging as a promising distributed computing paradigm. It delivers a wide range of services like Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). The cloud resources and services are dynamically provisioned like utilities. The elastic nature of the cloud facilitates users to have as much or little of service depending on their need at any given time. The IaaS model supports on demand provisioning of virtualized resources as a service. In this model, service consumers specify hardware and software configuration of Virtual Machines (VM) to be created and they execute their jobs on each VM (Smith & Nair, 2005). As the nature of the submitted jobs is parallelizable, a VM may require multiple cores for efficient execution. The key challenge is the implementation of efficient VM provisioner which leases suitable hosts for launching VMs that fulfill the customer requirements at the same time minimizing power consumption to facilitate the providers.

Moreover the state of the resource pool gets frequently changed due to the sporadic nature of the resource requirements. Hot migration capabilities of virtualization contribute to resource dynamics where VMs are moved rapidly between physical machines for load balancing and server consolidation (Smith & Nair, 2005). Some servers are shut down periodically for preventive maintenance after migrating the running VMs onto suitable servers, making a few servers unavailable for specific duration (Beltran, 2005; Dikaiakos, Pallis, Katsaros, Mehra, & Vakali, 2009; French, 2009) or the resource dynamics could be due to the failure of hosts. When there is unexpected peak load, few servers are powered on to mitigate the need for resources. Apart from the said dynamics involved due to servers’ availability, there are a few more dynamic attributes such as increase or decrease in the number of Processing Elements (PEs) available, size of memory, storage capacity and bandwidth of the servers during VM creation, VM deletion or VM migration. The Dynamic Voltage and Frequency Scaling (DVFS) technique inherent in recent microprocessor technology also introduces variable processing speed based on the load (Hamidi & Vafaei, 2009; Wang, von Laszewskiy, Dayalz, & Wang, 2010; Russell & Yoon, 2009). All of the above mentioned resource dynamics necessitates the need for a Meta-Scheduler which monitors the environment, detects the state change in the resources and finds the optimal or near optimal schedule for placing the VM instances onto available physical servers.

As the main feature of cloud computing is on-demand access to resources, the datacenters are over provisioned to handle the unexpected workload surges. The major issue here is in managing extremely large and dynamic datacenters for power conservation, while fulfilling the incoming VM requests. In the datacenter of a public cloud, generally hundreds and thousands of servers run at any instance of time, hosting many virtual machines and at the same time the cloud system keeps receiving the batches of VM requests. In this scenario, when there is a need to find few target hosts say hosts out of powered on hosts, which can fulfill a batch of incoming VM requests, then there is possible permutations of allocating the jobs to hosts making the problem combinatorial (Coffman, 1976).

Complete Chapter List

Search this Book: