Migrating virtual machines between oversubscribed and undersubscribed compute devices
US-9438466-B1 · Sep 6, 2016 · US
US9727366B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9727366-B2 |
| Application number | US-201514694011-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 23, 2015 |
| Priority date | Apr 23, 2015 |
| Publication date | Aug 8, 2017 |
| Grant date | Aug 8, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments relate to generating a virtual machine (VM) migration plan. A method includes determining an initial mapping of VMs to hosts as an origin state and a final mapping of VMs to hosts as a goal state. Candidate paths are generated from the initial mapping to the final mapping. The candidate paths are evaluated based on a heuristic state transition cost from the origin state through intermediate states to the goal state by recursively obtaining a list of transitions that a parent state underwent. A heuristic goal cost is identified to reach the goal state from the intermediate states based on a fewest number of VM movements. The VM migration plan is generated based on the heuristic state transition cost of the candidate paths in combination with the heuristic goal cost of a sequence of transitions from the origin state to the goal state having a lowest total cost.
Opening claim text (preview).
What is claimed: 1. A system for generating a virtual machine migration plan, the system comprising: a memory having computer readable instructions; and a processor for executing the computer readable instructions, the computer readable instructions including: determining an initial mapping of a plurality of virtual machines to a plurality of hosts as an origin state; determining a final mapping of the virtual machines to the hosts as a goal state; generating a plurality of candidate paths to transition from the initial mapping to the final mapping; evaluating the candidate paths based on a heuristic state transition cost to transition from state-to-state from the origin state through a plurality of intermediate states to the goal state by recursively obtaining a list of transitions that a parent state underwent to reach the parent state from the origin state, wherein the heuristic state transition cost is based on a fixed cost assigned to each one of a plurality of enumerated transition types comprising: a partial transition type that places at least one but not all of the virtual machines onto at least one of the hosts according to the goal state, an endgame transition type that fully satisfies the goal state, a countermovement transition type that takes away at least one of the virtual machines from a targeted host of the goal state, a cycle transition type that moves at least one of the virtual machines back onto a previous host, and a random transition type that shuffles locations of one or more of the virtual machines; identifying a heuristic goal cost to reach the goal state from the intermediate states based on a fewest number of virtual machine movements; and generating the virtual machine migration plan based on the heuristic state transition cost of the candidate paths in combination with the heuristic goal cost of a sequence of transitions from the origin state to the goal state having a lowest total cost. 2. The system of claim 1 , further comprising: forming a mapping data structure for each of the initial mapping and the final mapping; and computing the heuristic goal cost based on assignment of a distance between the origin state and the goal state on a per host basis using the mapping data structures. 3. The system of claim 2 , further comprising iterating over each of the hosts to compute a number of virtual machines present in one state but absent in another state moving from the origin state towards the goal state and from the goal state towards the origin state. 4. The system of claim 1 , wherein the virtual machine movements are performed using remote direct memory access. 5. The system of claim 1 , further comprising: analyzing a sequential migration plan in the virtual machine migration plan to redefine one or more portions of the virtual machine migration plan as parallel migrations. 6. The system of claim 5 , further comprising: sequentially scanning the virtual machine migration plan for one or more virtual machines that move at least twice to define parallelism gates; generating one or more candidate parallel migration plans based on the parallelism gates in combination with serial migrations from the virtual machine migration plan, the one or more candidate parallel migration plans each including at least two virtual machine to host movements performed in parallel; and comparing the one or more candidate parallel migration plans to determine a combination of the serial migrations and at least one of the one or more candidate parallel migration plans that meets migration criteria with a lowest total migration cost. 7. A computer program product for generating a virtual machine migration plan, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code executable by a processor for: determining an initial mapping of a plurality of virtual machines to a plurality of hosts as an origin state; determining a final mapping of the virtual machines to the hosts as a goal state; generating a plurality of candidate paths to transition from the initial mapping to the final mapping; evaluating the candidate paths based on a heuristic state transition cost to transition from state-to-state from the origin state through a plurality of intermediate states to the goal state by recursively obtaining a list of transitions that a parent state underwent to reach the parent state from the origin state, wherein the heuristic state transition cost is based on a fixed cost assigned to each one of a plurality of enumerated transition types comprising: a partial transition type that places at least one but not all of the virtual machines onto at least one of the hosts according the goal state; an endgame transition type that fully satisfies the goal state; a countermovement transition type that takes away at least one of the virtual machines from a targeted host of the goal state; a cycle transition type that moves at least one of the virtual machines back onto a previous host; and a random transition type that shuffles locations of one or more of the virtual machines; identifying a heuristic goal cost to reach the goal state from the intermediate states based on a fewest number of virtual machine movements; and generating the virtual machine migration plan based on the heuristic state transition cost of the candidate paths in combination with the heuristic goal cost of a sequence of transitions from the origin state to the goal state having a lowest total cost. 8. The computer program product of claim 7 , further comprising: forming a mapping data structure for each of the initial mapping and the final mapping; computing the heuristic goal cost based on assignment of a distance between the origin state and the goal state on a per host basis using the mapping data structures; and iterating over each of the hosts to compute a number of virtual machines present in one state but absent in another state moving from the origin state towards the goal state and from the goal state towards the origin state. 9. The computer program product of claim 7 , wherein the virtual machine movements are performed using remote direct memory access. 10. The computer program product of claim 7 , further comprising: analyzing a sequential migration plan in the virtual machine migration plan to redefine one or more portions of the virtual machine migration plan as parallel migrations; sequentially scanning the virtual machine migration plan for one or more virtual machines that move at least twice to define parallelism gates; generating one or more candidate parallel migration plans based on the parallelism gates in combination with serial migrations from the virtual machine migration plan, the one or more candidate parallel migration plans each including at least two virtual machine to host movements performed in parallel; and comparing the one or more candidate parallel migration plans to determine a combination of the serial migrations and at least one of the one or more candidate parallel migration plans that meets migration criteria with a lowest total migration cost. 11. The computer program product of claim 10 , wherein generating the one or more candidate parallel migration plans further comprises capping one or more of: a maximum number of parallel inbound migrations, a maximum number of outbound migrations, and a number of cumulative migrations. 12. The computer program product of claim 11 , wherein the capping one or more of: the maximum number of parallel inbound migrations, the maximum number of outbound migrations, and the number of cumulative migrations is performed on a per-host leve
Physics · mapped topic
Hypervisor-specific management and integration aspects · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title
Machine learning · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.