Virtual Machine Placement

The placement of Virtual Machines over physical hosts is an important activity in all datacenters and a vital component of any cloud management framework. While provisioning resources to VMs, a cloud provider wants to maximize resource utilization by placing VMs over a minimal set of physical hosts. The problem is a variant of multidimensional bin-packing in this setting where items(VMs) of various sizes (resource vector in VM case) have to be packed in bins (hosts) of fixed capacity (capacity vector of host). On the other hand, from a user’s perspective, there should be minimal degradation of performance when applications are relocated to clouds. Howvevr, when applications are executing in virtualized scenarios, virtualization overheads manifest as extra resource usage by hypervisor (or virtual machine monitor) and this extra usage depends on virtualization technology used (paravirtualization or full virtualization). Particularly in case of I/O applications which are predominant in clouds, this overhead is significant and degrades performance of applications. Therefore, to honour performance Service Level Agreements (SLAs), this overhead must be captured in the problem definition of VM placement. Also, the Virtual Machine Placement Problem (VMPP) is dynamic in nature i.e after the initial placement, not only new VMs with varying resource requirements arrive and existing VMs leave but also the resource requirements for VMs change continuously. So, after doing initial placement, scheduling decisions need to be taken periodically at each scheduling cycle. And VMPP algorithms need to be invoked at each scheduling cycle catering to these elastic requirements of workloads. The existing technologies handle these elastic needs by migration of VMs from one host to other. Also, the VM migration is proposed as a solution to meet SLAs in case of changing resource requirements. However, migration in itself is a costly operation. It not only degrades the performance of applications for a certain time (during migration) but also introduces additional network and other overheads while migrating. This migration overhead depends on type of application and resources used by it, for example, applications having more memory and I/O footprint would have higher migration overheads compared to pure CPU intensive applications. To reduce these overheads and to honour SLAs, the provisioning algorithms must consider the previous placement of VMs for minimizing migration overhead and number of hosts used. In this work, we introduce the consideration of virtualization overhead in VMPP, propose a metric for quantification of migration overhead and then modify the VMPP to minimize this migration overhead. Also, we intend to solve VMPP in practical scenarios where scheduling decisions have to be taken in real time.

  1. Resource Usage Monitoring for KVM based Virtual Machines, Ankit Anand, Mohit Dhingra, J. Lakshmi, S. K. Nandy, (Invited Paper), The 18th International Conference on Advanced Computing and Communications (ADCOM 2012), Bangalore, Dec. 2012.(PDF)
  2. Virtual Machine Placement optimization supporting performance SLAs, Ankit Anand, J. Lakshmi, S. K. Nandy, IEEE-CloudCom, Bristol, UK, Dec. 2013. (PDF)
  3. Adaptive Virtual Machine Placement supporting performance SLAs, Ankit Anand, Project Report submitted in partial fulfilment of the requirements for the Degree of Master of Technology in Computational Science, 2013, SERC, IISc. (PDF)