Memory duplication by destination host in virtual machine live migration
First Claim
1. A method, comprising:
- receiving, by a processor of a destination host computer system, a first virtual address and a corresponding source physical address, the source physical address identifying a first physical memory portion on an origin host computer system, the first virtual address identifying a first virtual memory address range mapped to the first physical memory portion in a virtual address space of a first virtual machine undergoing live migration from the origin host computer system to the destination host computer system;
identifying a second virtual address corresponding to the source physical address, the second virtual address identifying a second virtual memory address range in a virtual address space of a second virtual machine undergoing live migration from the origin host computer system to the destination host computer system;
identifying a destination physical address corresponding to the second virtual address, the destination physical address identifying a second physical memory portion on the destination host computer system;
mapping, on the destination host computer system, the first virtual address to the destination physical address;
responsive to detecting a modification of a virtual memory page of the first virtual memory address range, copying, to a new physical memory page, a physical memory page corresponding to the virtual memory page; and
mapping the modified virtual memory page to the new physical memory page.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for memory de-duplication in a virtual machine undergoing live migration. An example method may comprise: receiving, by a hypervisor executing on a destination host computer system, a first virtual address and a corresponding physical memory range identifier, the physical memory range identifier identifying a first physical memory range on an origin host computer system, the first virtual address identifying a first virtual memory range mapped to the first physical memory range in a virtual address space of a first virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identifying a second virtual address corresponding to the physical memory range identifier, the second virtual address identifying a second virtual memory range in a virtual address space of a second virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identifying a destination physical address corresponding to the second virtual address, the destination physical address identifying a second physical memory range on the destination host computer system; and mapping, on the destination host computer system, the first virtual address to the destination physical address.
53 Citations
16 Claims
-
1. A method, comprising:
-
receiving, by a processor of a destination host computer system, a first virtual address and a corresponding source physical address, the source physical address identifying a first physical memory portion on an origin host computer system, the first virtual address identifying a first virtual memory address range mapped to the first physical memory portion in a virtual address space of a first virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identifying a second virtual address corresponding to the source physical address, the second virtual address identifying a second virtual memory address range in a virtual address space of a second virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identifying a destination physical address corresponding to the second virtual address, the destination physical address identifying a second physical memory portion on the destination host computer system; mapping, on the destination host computer system, the first virtual address to the destination physical address; responsive to detecting a modification of a virtual memory page of the first virtual memory address range, copying, to a new physical memory page, a physical memory page corresponding to the virtual memory page; and mapping the modified virtual memory page to the new physical memory page. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a memory comprising a first physical memory portion; and a processor, operatively coupled to the memory, to; receive a first virtual address and a corresponding source physical address, the source physical address identifying the first physical memory portion on an origin host computer system, the first virtual address identifying a first virtual memory address range mapped to the first physical memory portion in a virtual address space of a first virtual machine undergoing live migration from the origin host computer system to a destination host computer system; identify a second virtual address corresponding to the source physical address, the second virtual address identifying a second virtual memory address range in a virtual address space of a second virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identify a destination physical address corresponding to the second virtual address, the destination physical address identifying a second physical memory portion on the destination host computer system; map, on the destination host computer system, the first virtual address to the destination physical address; responsive to detecting a modification of a virtual memory page of the first virtual memory address range, copy, to a new physical memory page, a physical memory page corresponding to the virtual memory page; and map the modified virtual memory page to the new physical memory page. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-readable non-transitory storage medium comprising executable instructions that, when executed by a processor, cause the processor to:
-
receive, by the processor, a first virtual address and a corresponding source physical address, the source physical address identifying a first physical memory portion on an origin host computer system, the first virtual address identifying a first virtual memory address range mapped to the first physical memory portion in a virtual address space of a first virtual machine undergoing live migration from the origin host computer system to a destination host computer system; identify a second virtual address corresponding to the source physical address, the second virtual address identifying a second virtual memory address range in a virtual address space of a second virtual machine undergoing live migration from the origin host computer system to the destination host computer system; identify a destination physical address corresponding to the second virtual address, the destination physical address identifying a second physical memory portion on the destination host computer system; map, on the destination host computer system, the first virtual address to the destination physical address; responsive to detecting a modification of a virtual memory page of the first virtual memory address range, copy, to a new physical memory page, a physical memory page corresponding to the virtual memory page; and map the modified virtual memory page to the new physical memory page. - View Dependent Claims (14, 15, 16)
-
Specification