  Virtual machine (VM) scheduling is an important technique to efficiently
operate the computing resources in a data center. Previous work has mainly
focused on consolidating VMs to improve resource utilization and thus to
optimize energy consumption. However, the interference between collocated VMs
is usually ignored, which can result in very worse performance degradation to
the applications running in those VMs due to the contention of the shared
resources. Based on this observation, we aim at designing efficient VM
assignment and scheduling strategies where we consider optimizing both the
operational cost of the data center and the performance degradation of running
applications and then, we propose a general model which captures the inherent
tradeoff between the two contradictory objectives. We present offline and
online solutions for this problem by exploiting the spatial and temporal
information of VMs where VM scheduling is done by jointly consider the
combinations and the life-cycle overlapping of the VMs. Evaluation results show
that the proposed methods can generate efficient schedules for VMs, achieving
low operational cost while significantly reducing the performance degradation
of applications in cloud data centers.
