Eliding redundant copying for virtual machine migration
AssigneeAmazon Technologies, Inc.
InventorsAli Ghassan Saidi, Adi Habusha
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided to reduce the number of redundant copy operations performed as part of a live migration of a virtual machine executing a guest. While pre-copying for the live migration of the VM, the guest may continue to write to the pages. A hypervisor may clear the dirty pages and schedule the copy operations of the modified pages in a processing engine for copying to a target device. In one embodiment, before initiating the copy operation, the processing engine may check if the page has been modified again and omit the copy operation if the page has been modified again.
Claims20
A system comprising:
- a host processor configured to execute a hypervisor, wherein the hypervisor is configured to:
- clear a dirty page indicator in a page table entry (PTE) corresponding to a page associated with a guest operating system (OS), wherein the guest OS is executing within a virtual machine (VM) running on the host processor, and wherein the dirty page indicator was set by the host processor as a result of a modification of the page by the guest OS;
- and
- provide an address of the PTE corresponding to the page to schedule a copy operation for live migration of the VM;
- and
- a processing engine configured to:
- receive the address of the PTE;
- read the dirty page indicator in the PTE using the address;
- determine whether the page has been modified again based on the dirty page indicator;
- and
- omit the copy operation upon determining that the page has been modified again.
A method, comprising:
- receiving, by a processing engine, an address of a page table entry (PTE) in memory corresponding to a page associated with a guest to schedule a copy operation subsequent to modification of the page by the guest, wherein the guest is executing within a virtual machine (VM) running on a host processor in a host device, the PTE comprising a dirty page indicator to indicate whether the page has been modified, and wherein the dirty page indicator in the PTE was cleared prior to scheduling of the copy operation;
- reading, by the processing engine, the dirty page indicator in the PTE using the address;
- determining, by the processing engine, that the page has been modified after being scheduled for the copy operation based on the dirty page indicator;
- and
- omitting, by the processing engine, the copy operation based upon the determination that the page has been modified.
A processing engine comprising:
- memory configured to store information associated with a copy operation to be performed for a page, wherein the information is received from a hypervisor executing on a host processor coupled to the processing engine, the hypervisor configured to clear a dirty page indicator that was set in a page table entry (PTE) corresponding to the page, and wherein the page is associated with a guest executing within a virtual machine (VM) executing on the host processor;
- a processor configured to:
- read the PTE corresponding to the page using the information;
- determine that the page has been modified again based on the dirty page indicator in the PTE;
- and
- omit the copy operation based upon the determination that the page has been modified;
- and
- a direct memory access (DMA) controller configured to perform the copy operation.
Dependencies are inferred from the claim text.