Post-copy migration of a group of virtual machines that share memory
First Claim
1. A method comprising:
- determining, by a processing device executing a hypervisor on a source host, that a group of virtual machines undergoing live migration from the source host to a destination host share a memory space on the source host, wherein at least one shared memory page in the shared memory space is migrated simultaneously with the virtual machines undergoing live migration;
receiving, by the processing device executing the hypervisor on the source host, from a virtual machine of the group of virtual machines, a request to access a first shared memory page of the shared memory space on the source host;
determining that the first shared memory page of the shared memory space on the source host has been migrated by determining that a valid bit of a page table entry corresponding to the first memory page in a memory page table of a host operating system on the source host indicates that the first memory page has been designated as not present on the source host; and
responsive to determining that the first shared memory page of the shared memory space on the source host has been migrated to the destination host;
stopping, by the hypervisor of the source host, execution of the virtual machine on the source host, andmigrating, by the hypervisor of the source host, the virtual machine to the destination host, wherein a hypervisor of the destination host is configured to receive a request to access the first shared memory page from the virtual machine on the destination host and to grant access to the first shared memory page.
1 Assignment
0 Petitions
Accused Products
Abstract
A hypervisor of a source host receives a request to migrate a group of virtual machines that provide network function virtualization support (NFV) from the source host to a destination host. The hypervisor of the source host determines that a first virtual machine of the group of virtual machines being migrated to the destination host shares a memory space on the source host with the group of virtual machines on the source host. Upon receiving a request from a second virtual machine of the group of virtual machines on the source host to access a first memory page of the shared memory space on the source host that has been migrated to the destination host, the hypervisor of the source host initiates migration of the second virtual machine to the destination host.
48 Citations
18 Claims
-
1. A method comprising:
-
determining, by a processing device executing a hypervisor on a source host, that a group of virtual machines undergoing live migration from the source host to a destination host share a memory space on the source host, wherein at least one shared memory page in the shared memory space is migrated simultaneously with the virtual machines undergoing live migration; receiving, by the processing device executing the hypervisor on the source host, from a virtual machine of the group of virtual machines, a request to access a first shared memory page of the shared memory space on the source host; determining that the first shared memory page of the shared memory space on the source host has been migrated by determining that a valid bit of a page table entry corresponding to the first memory page in a memory page table of a host operating system on the source host indicates that the first memory page has been designated as not present on the source host; and responsive to determining that the first shared memory page of the shared memory space on the source host has been migrated to the destination host; stopping, by the hypervisor of the source host, execution of the virtual machine on the source host, and migrating, by the hypervisor of the source host, the virtual machine to the destination host, wherein a hypervisor of the destination host is configured to receive a request to access the first shared memory page from the virtual machine on the destination host and to grant access to the first shared memory page. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computing apparatus, comprising:
-
a memory; and a processing device, operatively coupled to the memory, to execute a hypervisor on a source host to; determine that a group of virtual machines undergoing live migration from the source host to a destination host share a memory space on the source host, wherein at least one shared memory page in the shared memory space is migrated simultaneously with the virtual machines undergoing live migration; receive from a virtual machine of the group of virtual machines, a request to access a first shared memory page of the shared memory space on the source host; determine that the first shared memory page of the shared memory space on the source host has been migrated, wherein the processing device to determine that a valid bit of a page table entry corresponding to the first memory page in a memory page table of a host operating system on the source host indicates that the first memory page has been designated as not present on the source host; and responsive to determining that the first shared memory page of the shared memory space on the source host has been migrated to the destination host; stop, by the hypervisor of the source host, execution of the virtual machine on the source host, and migrate, by the hypervisor of the source host, the virtual machine to the destination host, wherein a hypervisor of the destination host is configured to receive a request to access the first shared memory page from the virtual machine on the destination host and to grant access to the first shared memory page. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium, having instructions stored therein, which when executed by a processing device of a computer system, cause the processing device to:
-
determine, by the processing device executing a hypervisor on a source host, that a group of virtual machines undergoing live migration from the source host to a destination host share a memory space on the source host, wherein at least one shared memory page in the shared memory space is migrated simultaneously with the virtual machines undergoing live migration; receive, by the processing device executing the hypervisor on the source host, from a virtual machine of the group of virtual machines, a request to access a first shared memory page of the shared memory space on the source host; determine, by the processing device executing the hypervisor on the source host, that the first shared memory page of the shared memory space on the source host has been migrated wherein the instructions to cause the processing device to determine that a valid bit of a page table entry corresponding to the first memory page in a memory page table of a host operating system on the source host indicates that the first memory page has been designated as not present on the source host; and responsive to determining that the memory space on the source host has been migrated to the destination host; stop, by the hypervisor of the source host, execution of the virtual machine on the source host, and migrate, by the hypervisor of the source host, the virtual machine to the destination host, wherein a hypervisor of the destination host is configured to receive a request to access the first shared memory page from the virtual machine on the destination host and to grant access to the first shared memory page. - View Dependent Claims (15, 16, 17, 18)
-
Specification