Virtualization management software enables multiple virtual machines to be executed on a single hardware computing platform and manages the allocation of computing resources to each virtual machine. A set of hardware computing platforms can be organized as a server cluster to provide computing resources for a data center. In addition, the virtualization management software can be configured to move virtual machines between servers (also referred to herein as “host systems” or “host computers”) in the cluster. An example of this supporting technology is sold as VMware vMotion by VMware, Inc. of Palo Alto, Calif. An example of the virtualization management software is sold as VMware Distributed Resource Scheduler™ by VMware, Inc. of Palo Alto, Calif.
A cluster resource management service for a virtualized computing environment handles the placement and scheduling of a set of virtual machines (VMs) on a set of hosts that each belong to a cluster, in accordance with a set of constraints and objectives. To address constraint violations and achieve objectives, the cluster resource management service generates and can automatically execute migrations of VMs between hosts and can recommend powering hosts on or off. For a VM to be powered-on on a host within a cluster, the cluster needs to have sufficient computing resources compatible with the VM's execution constraints to meet the VM's admission control requirements, and those resources must be available in unfragmented form, i.e., all on a single host in the cluster.
Conventional techniques for Distributed Resource Scheduling (DRS) and Distributed Power Management (DPM) operate in a reactive mode to demand changes, where VM migration and host power-ons and power-offs are recommended “reactively” based on current VM demand data. Reactive operation of DRS and DPM ensures that the recommendations are justified by relevant observed data, however, launching VM migrations and/or host power-ons and power-offs while VM demand is increasing can have a negative performance impact on VM workloads.
Accordingly, there remains a need in the art for a technique that addresses the drawbacks and limitations discussed above.