Mechanism for Live Migration of Virtual Machines with Memory Optimizations
First Claim
1. A computer-implemented method, comprising:
- receiving, by a target host machine, a hash value for each of one or more memory pages of a migrating virtual machine (VM) from a source host machine;
obtaining, by the target host machine, a hash value for each of one or more memory pages hosted by the target host machine;
comparing, by the target host machine, the received hash values from the source host machine with the obtained hash values from the target host machine for matches;
for each of the received hash values from the source host machine that do not match any of the obtained hash values from the target host machine, sending, by the target host machine, a negative acknowledgment to the source host machine for that hash value; and
for each of the received hash values from the source host machine that do match any of the obtained hash values from the target host machine, using, by the target host machine, a memory page associated with the matching hash value at the target host machine for the migrating VM.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism for live migration of virtual machines (VMs) with memory optimizations is disclosed. A method of embodiments of the invention includes receiving a hash value for each of one or more memory pages of a migrating VM from a source host machine, obtaining a hash value for each of one or more memory pages hosted by a target host machine, and comparing the received hash values with the obtained hash values for matches. The method further comprises for each of the received hash values that do not match any of the obtained hash values, sending a negative acknowledgment to the source host machine for that hash value, and for each of the received hash values that do match any of the obtained hash values, using a memory page associated with the matching hash value at the target host machine for the migrating VM.
78 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
receiving, by a target host machine, a hash value for each of one or more memory pages of a migrating virtual machine (VM) from a source host machine; obtaining, by the target host machine, a hash value for each of one or more memory pages hosted by the target host machine; comparing, by the target host machine, the received hash values from the source host machine with the obtained hash values from the target host machine for matches; for each of the received hash values from the source host machine that do not match any of the obtained hash values from the target host machine, sending, by the target host machine, a negative acknowledgment to the source host machine for that hash value; and for each of the received hash values from the source host machine that do match any of the obtained hash values from the target host machine, using, by the target host machine, a memory page associated with the matching hash value at the target host machine for the migrating VM. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a memory; a processor communicably coupled to the memory; and a memory sharing agent executed from the memory and the processor, the memory sharing agent configured to; receive a hash value for each of one or more memory pages of a migrating virtual machine (VM) from a source host machine; obtain a hash value for each of one or more memory pages managed by the memory sharing agent; compare the received hash values from the source host machine with the obtained hash values from the memory sharing agent for matches; for each of the received hash values from the source host machine that do not match any of the obtained hash values from the memory sharing agent, send a negative acknowledgment to the source host machine for that hash value; and for each of the received hash values from the source host machine that do match any of the obtained hash values from the memory sharing agent, use a memory page associated with the matching hash value at a target host machine of the memory sharing agent for the migrating VM. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An article of manufacture comprising a machine-readable storage medium including data that, when accessed by a machine, cause the machine to perform operations comprising:
-
receiving a hash value for each of one or more memory pages of a migrating virtual machine (VM) from a source host machine; obtaining a hash value for each of one or more memory pages hosted by a target host machine; comparing the received hash values from the source host machine with the obtained hash values from the target host machine for matches; for each of the received hash values from the source host machine that do not match any of the obtained hash values from the target host machine, sending a negative acknowledgment to the source host machine for that hash value; and for each of the received hash values from the source host machine that do match any of the obtained hash values from the target host machine, using a memory page associated with the matching hash value at the target host machine for the migrating VM. - View Dependent Claims (17, 18, 19, 20)
-
Specification