System and method for live migration of guest
First Claim
1. A method for live migration of a guest in a computer system using device assignment, the method comprising:
- copying one or more pages of the guest from an initial computer system to a target computer system, the initial computer system having one or more processors coupled to a network interface controller (NIC) through an input/output memory management unit (IOMMU);
determining, using the one or more processors, which pages have been copied;
determining, using the one or more processors, incremental changes made to the pages that have been copied, the determining including accessing page table entries in the IOMMU, wherein the page table entries were modified by the NIC; and
copying the incremental changes from the initial computer system to the target computer system.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are provided to perform live migration of a guest in a computer system using device assignment. In this method and apparatus, one or more pages of the guest are copied to a target computer system. It is determined which pages have been copied, and what incremental changes have been made to the pages that were copied. For example, the incremental changes may be indicated to a hypervisor of an initial host of the guest by a network interface controller or other device in the computer system. The incremental changes are then copied to the target computer system. Detection and copying of incremental changes may continue until a time when all dirty pages can be copied to the target computer system.
99 Citations
17 Claims
-
1. A method for live migration of a guest in a computer system using device assignment, the method comprising:
-
copying one or more pages of the guest from an initial computer system to a target computer system, the initial computer system having one or more processors coupled to a network interface controller (NIC) through an input/output memory management unit (IOMMU); determining, using the one or more processors, which pages have been copied; determining, using the one or more processors, incremental changes made to the pages that have been copied, the determining including accessing page table entries in the IOMMU, wherein the page table entries were modified by the NIC; and copying the incremental changes from the initial computer system to the target computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for live migration of a guest in a computer system using device assignment, the apparatus comprising:
-
a memory; one or more processors in communication with the memory, the one or more processors coupled to a network interface controller (NIC) through an input/output memory management unit (IOMMU), the one or more processors performing tasks comprising; copying one or more pages of the guest to a target computer system; determining which pages have been copied; determining incremental changes made to the pages that have been copied, the determining including accessing a buffer of bytes, the buffer comprising a plurality of entries with each entry corresponding to at least a portion of a page of the guest, wherein the buffer is updated by the NIC when the NIC writes to the page of the guest; and copying the incremental changes to the target computer system. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for live migration of a guest in a computer system using device assignment, the method comprising:
-
copying one or more pages of the guest from an initial computer system to a target computer system, the initial computer system having one or more processors coupled to a network interface controller (NIC) through an input/output memory management unit (IOMMU); receiving at the one or more processors information from the guest regarding which of the one or more pages it intends to give write access to the NIC; determining, using the one or more processors, which pages have been copied; determining, by the NIC, incremental changes made to the pages that have been copied based on the information received from the guest; and copying, using the one or more processors, the incremental changes from the initial computer system to the target computer system.
-
-
16. A system for live migration of a guest in a computer system using device assignment, comprising:
-
a memory; one or more processors in communication with the memory, the one or more processors coupled to a network interface controller (NIC) through an input/output memory management unit (IOMMU), the one or more processors performing tasks comprising; copying one or more pages of the guest to a target computer system; determining which pages have been copied; determining incremental changes made to the pages that have been copied, the determining including accessing page table entries in the IOMMU, wherein the page table entries were modified by the NIC; and copying the incremental changes to the target computer system.
-
-
17. A system for live migration of a guest in a computer system using device assignment, comprising:
-
a memory; one or more processors in communication with the memory, the one or more processors coupled to a network interface controller (NIC) through an input/output memory management unit (IOMMU), the one or more processors performing tasks comprising; copying one or more pages of the guest to a target computer system; receiving information from the guest regarding which of the one or more pages it intends to give write access to the NIC; determining which pages have been copied; determining, with the NIC, incremental changes made to the pages that have been copied based on the information received from the guest; and copying, using the one or more processors, the incremental changes to the target computer system.
-
Specification