×

Rebalancing virtual resources for virtual machines based on multiple resource capacities

  • US 9,600,345 B1
  • Filed: 03/11/2016
  • Issued: 03/21/2017
  • Est. Priority Date: 01/29/2016
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer-implemented method of rebalancing a workload of a virtualized computing environment, the virtualized computing environment of a type including a shared pool of resources disposed in a plurality of hosts and a plurality of virtual machines resident on the plurality of hosts and configured to share the shared pool of resources, wherein the virtualized computing environment stores, for each virtual machine among the plurality of virtual machines, a respective first resource capacity that represents a first portion of the shared pool of resources for the respective virtual machine and a respective second resource capacity that represents a second portion of the shared pool of resources for the respective virtual machine that is greater than that of the first resource capacity, the method comprising:

  • identifying a virtual machine among the plurality of virtual machines that is allocated a smaller portion of the shared pool of resources than that of the respective second resource capacity for the respective second portion;

    determining using at least one processor if a home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host;

    in response to determining that the home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, resizing the identified virtual machine on the home host to allocate at least the respective second resource capacity to the identified virtual machine;

    in response to determining that the home host for the identified virtual machine has insufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, attempting to identify a first candidate host among the plurality of hosts that has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the first candidate host after accounting for the respective second resource capacity for each virtual machine among the plurality of virtual machines that is already resident on the first candidate host;

    in response to identifying the first candidate host, moving the identified virtual machine to the candidate host and allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the first candidate host;

    in response to failing to identify the first candidate host, attempting to identify a second candidate host among the plurality of hosts that has sufficient unused capacity to support allocating to the identified virtual machine the respective first resource capacity for the identified virtual machine on the second candidate host after accounting for the respective second resource capacity for each virtual machine among the plurality of virtual machines that is already resident on the second candidate host; and

    in response to identifying the second candidate host, moving the identified virtual machine to the second candidate host and allocating to the identified virtual machine the respective first resource capacity for the identified virtual machine on the second candidate host;

    wherein attempting to identify the second candidate host includes identifying multiple hosts among the plurality of hosts having sufficient unused capacity to support allocating the respective first resource capacity to the identified virtual machine after accounting for the respective second resource capacities for virtual machines already resident thereon and selecting the second candidate host from among the multiple hosts based upon the second candidate host having a greatest remaining resource capacity from among the multiple hosts, wherein a respective remaining resource capacity for the second candidate host is equal to that of another host among the multiple hosts, wherein selecting the second candidate host further includes selecting the second candidate host over the other host to minimize resource contention, wherein the virtualized computing environment further stores, for each virtual machine among the plurality of virtual machines, a respective shared weight representing a ratio to which the respective virtual machine receives unused resource capacity relative to other virtual machines, and wherein selecting the second candidate host over the other host to minimize resource contention includes selecting the second candidate host based upon the second candidate host having a lower sum of shared weights for virtual machines resident on the second candidate host than that of the other host.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×