I. Introduction
Cloud computing can significantly reduce tenants’ cost of maintaining the physical infrastructure through centralized management, and thus more and more tenants (e.g., enterprises and individual users) are migrating their tasks to the cloud [1]. In order to provide computation resources to tenants, Cloud Service Providers (CSPs), e.g., Amazon Web Services (AWS) [2] and Google Cloud [3], virtualize computing resources as Virtual Machines (VMs), which are then leased to tenants. Considering the various requirements of different tenants and heterogeneity of physical machines (PMs), one of the most important problems faced by CSPs is VM placement.