Virtual machine packing method using scarcity
Abstract
A method for packing virtual machines onto host devices may calculate scarcity values for several different parameters. A host's scarcity for a parameter may be determined by multiplying the host's capacity for a parameter with the overall scarcity of that parameter. The sum of a host's scarcity for all the parameters determines the host's overall scarcity. Hosts having the highest scarcity are attempted to be populated with a group of virtual machines selected for compatibility with the host. In many cases, several different scenarios may be evaluated and an optimal scenario implemented. The method gives a high priority to those virtual machines that consume scarce resources, with the scarcity being a function of the available hardware and the virtual machines that may be placed on them.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system, the system comprising:
system memory; one or more processors; one or more hosts, the one or more hosts offering a plurality of resources for use by virtual machines; a virtual machine manager, using the one or more processors, configured to:
determine a scarcity of each of the plurality of resources based on the demand for each of the plurality of resources by the one or more virtual machines in view of the supply for each of the plurality of resources at the one or more hosts;
determine a scarcity score for each of the one or more hosts, the scarcity score calculated from a local supply of each of the plurality of resources available at the host in view of the scarcity for each of the plurality of resources; and
assign the one or more virtual machines to the one or more hosts giving precedence to assigning virtual machines demanding resources that are more scare to hosts that have larger supplies of the resources that are more scarce based on the determined scarcity for each of the plurality of resources and the determined scarcity score for each of the one or more hosts.
2 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to place the one or more virtual machines onto the one or more hosts by looping through the one or more virtual machines according to a virtual machine order.
3 . The system of claim 2 , further comprising the virtual machine manager, using the one or more processors, configured to:
calculate a virtual machine scarcity score for each of the one or more virtual machines; and determine the virtual machine order for the one or more virtual machines by ranking each of the one or more virtual machines relative to one another based on the calculated virtual machine scarcity scores for each of the one or more virtual machines.
4 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for a binary resource.
5 . The system of claim 1 , a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to assign at least one virtual machine with a binary resource to a host.
6 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for at non-consumable resource.
7 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for at consumable resource.
8 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to consider and reject an assignment of a virtual machine to a host.
9 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for a resource based on the scarcity of a plurality of sub resources associated with the resource.
10 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts based on a power consumption score for each of the one or more virtual machines.
11 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to:
assign a virtual machine to a host, the host selected from among the one or more host; and assign another virtual machine providing redundancy for the virtual machine to another host, the other host selected from among the one or more hosts.
12 . The system of claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts taking into account the placement of a group of virtual machines already placed on the one or more hosts.
13 . The system of claim 1 , further comprising:
one or more additional virtual machines assigned to the one or more hosts; and the virtual machine manager, using the one or more processors, configured to:
determine the demand for each of the plurality of resources based on the individual demand for each of the plurality of resources by each of the one or more virtual machines; and
determine the supply for each of a plurality of resources, the supply calculated based on the amount of the resource available at each of the one or more hosts in view of the amount of the resource consumed by the one or more additional virtual machines.
14 . A method for use at a computer system, the method for determining placement of one or more virtual machines onto one or more hosts, the one or more hosts offering a plurality of resources for use by virtual machines, the method comprising:
determining a scarcity of each of the plurality of resources based on the demand for each of the plurality of resources by the one or more virtual machines in view of the supply for each of the plurality of resources at the one or more hosts; determining a scarcity score for each of the one or more hosts, the scarcity score calculated from a local supply of each of the plurality of resources available at the host in view of the scarcity for each of the plurality of resources; and assigning the one or more virtual machines to the one or more hosts giving precedence to assigning virtual machines demanding resources that are more scare to hosts that have larger supplies of the resources that are more scarce based on the determined scarcity for each of the plurality of resources and the determined scarcity score for each of the one or more hosts.
15 . The method of claim 14 , further comprising:
calculating a virtual machine scarcity score for each of the one or more virtual machines; and determining a virtual machine order for the one or more virtual machines by ranking each of the one or more virtual machines relative to one another based on the calculated virtual machine scarcity scores for each of the one or more virtual machines; and wherein assigning the one or more virtual machines to the one or more hosts comprises placing the one or more virtual machines onto the one or more hosts by looping through the one or more virtual machines according to the virtual machine order.
16 . The method of claim 14 , wherein assigning the one or more virtual machines to the one or more hosts comprises considering and rejecting an assignment of a virtual machine to a host.
17 . The method of claim 14 , wherein determining a scarcity of each of the plurality of resources comprises determining a scarcity for a resource based on the scarcity of a plurality of sub resources associated with the resource.
18 . The method of claim 14 , wherein assigning the one or more virtual machines to the one or more hosts comprises assigning the one or more virtual machines to the one or more hosts taking into account the placement of a group of virtual machines already placed on the one or more hosts.
19 . The method of claim 14 , wherein assigning the one or more virtual machines to the one or more hosts comprises assigning the one or more virtual machines to the one or more hosts based on a power consumption score for each of the one or more virtual machines.
20 . A computer program product for use at a computer system, the computer program product for implementing a method for placing one or more virtual machines onto one or more hosts, the one or more hosts offering a plurality of resources for use by virtual machines, the computer program product comprising one or more computer storage memories having stored thereon computer-executable instructions that, when executed at a processor, cause the computer system to perform the method, including the following:
determine a scarcity of each of the plurality of resources based on the demand for each of the plurality of resources by the one or more virtual machines in view of the supply for each of the plurality of resources at the one or more hosts; determine a scarcity score for each of the one or more hosts, the scarcity score calculated from a local supply of each of the plurality of resources available at the host in view of the scarcity for each of the plurality of resources; and assign the one or more virtual machines to the one or more hosts giving precedence to assigning virtual machines demanding resources that are more scare to hosts that have larger supplies of the resources that are more scarce based on the determined scarcity for each of the plurality of resources and the determined scarcity score for each of the one or more hosts.Join the waitlist — get patent alerts
Track US2019065225A9 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.