1 Introduction
Cloud computing provides a novel computing and storage model for IT services that offers opportunities not only to on-demand resource provision but also to better manageability. Virtual machine (VM) is the basic computing unit in a typical IaaS cloud. Server consolidation enabled by virtualization is a key technique to improve the resource utilization of physical machines (PMs) by consolidating multiple workloads (i.e., applications) running in virtual machines onto the same PM. By doing so, the server utilization is increased and the power consumption is reduced. Due to these and other benefits, today many enterprises use cloud computing to deploy their online services.