Method for sharing memory of virtual machine and computer system using the same
US-9058197-B2 · Jun 16, 2015 · US
US9934157B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9934157-B2 |
| Application number | US-201514952833-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 25, 2015 |
| Priority date | Nov 25, 2015 |
| Publication date | Apr 3, 2018 |
| Grant date | Apr 3, 2018 |
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.
A system and methods for migrating a virtual machine (VM). In one embodiment, a hypervisor receives a request to migrate the contents of a memory of a source VM in a first physical memory area to a destination VM in a second physical memory area, where the first and second physical memory areas are disjoint. The hypervisor executes the destination VM in response to the request, and detects an access of a page of memory of the destination VM. The hypervisor determines, in view of a data structure maintained by a guest operating system executing in the destination VM, that a first page of a memory of the source VM in the first physical memory area is currently in use by the destination VM. In response to the detecting, the hypervisor: copies, in view of the first page of VM memory being used by the destination VM, the contents of the first page to a corresponding page of the destination VM; and maps, in view of a second page of VM memory not being used by the destination VM, (i) a physical memory page that is external to the first physical memory area and to the second physical memory area to (ii) a page of the destination VM corresponding to the second page.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving by a processing device of a physical machine, via a hypervisor executed by the processing device, a request to migrate contents of a memory of a source virtual machine (VM) in a first physical memory area to a destination VM in a second physical memory area, wherein the first physical memory area and the second physical memory area are disjoint; executing, by the hypervisor, the destination VM in response to the request; detecting, by the hypervisor, an access of a page of memory of the destination VM; and in response to the detecting: determining by the hypervisor, in view of a data structure maintained by a guest operating system executing in the destination VM, that a first page of a memory of the source VM in the first physical memory area is currently in use by the destination VM; copying by the hypervisor, in view of the first page being used by the destination VM, contents of the first page of the VM memory of the source VM to a corresponding page of the destination VM; determining by the hypervisor, in view of the data structure, that a second page of the memory of the source VM in the first physical memory area is not currently in use by the destination VM; and mapping by the hypervisor, in view of the second page not being used by the destination VM, (i) a physical memory page that is external to the first physical memory area and to the second physical memory area to (ii) a page of the destination VM corresponding to the second page. 2. The method of claim 1 wherein the second physical memory area is associated with the physical machine, and wherein the first physical memory area is associated with a different physical machine. 3. The method of claim 2 wherein the copying comprises sending by the hypervisor, to a different hypervisor executed by the different physical machine, a request for the contents of the first page, and wherein the hypervisor receives from the different hypervisor a message specifying an address of the data structure. 4. The method of claim 1 wherein the first physical memory area and the second physical memory area are associated with the physical machine. 5. The method of claim 1 wherein the physical memory page that is external to the first physical memory area and to the second physical memory area is a zero page of the physical machine, and wherein the mapping to the zero page is read-only. 6. The method of claim 5 further comprising: detecting by the processing device, via the hypervisor, a command to write to the page in the second physical memory area that is mapped to the zero page; and in response to detecting the command, allocating a writeable physical memory page and mapping the page in the second physical memory to the allocated writeable physical memory page instead of to the zero page. 7. The method of claim 1 further comprising: determining, by the hypervisor, that every page of the destination VM has been copied or mapped; and in response to determining that every page of the destination VM has been copied or mapped, generating, by the hypervisor, a signal that indicates that the migration has completed. 8. An apparatus comprising: one or more physical memories comprising a first physical memory area and a second physical memory area that are disjoint; and a processing device, operatively coupled to the one or more physical memories, to: execute a hypervisor; receive, via the hypervisor, a request to migrate contents of a memory of a source virtual machine (VM) in the first physical memory area to a destination VM in the second physical memory area; execute via the hypervisor, in response to the request, the destination VM; determine via the hypervisor, in view of a data structure maintained by a guest operating system executing in the destination VM, that a first page of a memory of the source VM in the first physical memory area is currently in use by the destination VM; copy via the hypervisor, in view of the first page being used by the destination VM, the contents of the first page of the memory of the source VM to a corresponding page of the destination VM; determine via the hypervisor, in view of the data structure, that a second page of the memory of the source VM in the first physical memory area is not currently in use by the destination VM; and map via the hypervisor, in view of the second page not being used by the destination VM, (i) a physical memory page that is external to the first physical memory area and to the second physical memory area to (ii) a page of the destination VM corresponding to the second page. 9. The apparatus of claim 8 wherein the first physical memory area is associated with a first physical memory and the second physical memory area is associated with a second physical memory. 10. The apparatus of claim 9 wherein to copy the contents of the first page the hypervisor sends, to a different hypervisor executed by a different physical machine, a request for the contents of the first page, and wherein the hypervisor is further to receive, from the different hypervisor, a message specifying an address of the data structure. 11. The apparatus of claim 8 wherein the physical memory page that is external to the first physical memory area and to the second physical memory area is a zero page, and wherein the mapping to the zero page is read-only. 12. The apparatus of claim 11 wherein the processing device is further to: detect, via the hypervisor, a command to write to the page in the second physical memory area that is mapped to the zero page; and in response to detecting the command, allocate, via the hypervisor, a writeable physical memory page and map the page in the second physical memory to the allocated writeable physical memory page instead of to the zero page. 13. The apparatus of claim 8 wherein the processing device is further to: determine, via the hypervisor, that every page of the destination VM has been copied or mapped; and in response to determining that every page of the destination VM has been copied or mapped, generate a signal that indicates that the migration has completed. 14. A non-transitory computer-readable medium comprising instructions that, when executed by a processing device of a physical machine, cause the processing device to execute a hypervisor to: receive a request to migrate contents of a memory of a source virtual machine (VM) in a first physical memory area to a destination VM in a second physical memory area, wherein the first physical memory area and the second physical memory area are disjoint; execute the destination VM in response to the request; detect an access of a page of memory of the destination VM; and in response to the detecting: determine, in view of a data structure maintained by a guest operating system executing in the destination VM, that a first page of a memory of the source VM in the first physical memory area is currently in use by the destination VM; copy, in view of the first page being used by the destination VM, contents of the first page of the memory of the source VM to a corresponding page of the destination VM; determine, in view of the data structure, that a second page of the memory of the source VM in the first physical memory area is not currently in use by the destination VM; and map, in view of the second page not being used by the destination VM, (i) a physical memory page that is external to the first physical memory area and to the second physical memory area to (ii) a page of the destination VM corresponding to the second page. 15. The non-t
using page tables, e.g. page table structures · CPC title
Distributed memory · CPC title
Emulated environment, e.g. virtual machine · CPC title
Storage comprising a plurality of storage devices · CPC title
Latency reduction · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.