A Survey on the Use of Preferences for Virtual Machine Placement in Cloud Data Centers
With the rapid development of virtualization techniques, cloud data centers allow for cost-effective, flexible, and customizable deployments of applications on virtualized infrastructure. Virtual machine (VM) placement aims to assign each virtual machine to a server in the cloud environment. VM Placement is of paramount importance to the design of cloud data centers. Typically, VM placement involves complex relations and multiple design factors as well as local policies that govern the assignment decisions. It also involves different constituents including cloud administrators and customers that might have disparate preferences while opting for a placement solution. Thus, it is often valuable to return not only an optimized solution to the VM placement problem but also a solution that reflects the given preferences of the constituents. In this article, we provide a detailed review on the role of preferences in the recent literature on VM placement. We examine different preference representations found in the literature, explain their existing usage, and explain the adopted solving approaches. We further discuss key challenges and identify possible research opportunities to better incorporate preferences within the context of VM placement.