Post-copy VM migration speedup using free page hinting

US9934157B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9934157-B2
Application numberUS-201514952833-A
CountryUS
Kind codeB2
Filing dateNov 25, 2015
Priority dateNov 25, 2015
Publication dateApr 3, 2018
Grant dateApr 3, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9934157B2 cover?
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 a…
Who is the assignee on this patent?
Red Hart Israel Ltd, Red Hat Israel Ltd
What technology area does this patent fall under?
Primary CPC classification G06F12/1009. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).