IP Library Granted Patent US 11,762,573
Granted Patent B2
US 11,762,573 · App. 17/990,564 · Granted Sep 19, 2023

Preserving large pages of memory across live migrations of workloads

Inventors: Arunachalam Ramanathan (Union City, CA); Yury Baskakov (Newton, MA); Anurekh Saxena (Newcastle, WA); Ying Yu (Bellevue, WA); Rajesh Venkatasubramanian (San Jose, CA); Michael Robert Stunes (Bellevue, WA)
Assignee: VMware, Inc.
G06F3/0647G06F3/0604G06F3/0676G06F3/0679G06F9/45558G06F2009/4557
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,762,573
App. No.
17/990,564
Granted
Sep 19, 2023
Kind
B2
Abstract

A method of preserving the contiguity of large pages of a workload during migration of the workload from a source host to a destination host includes the steps of: detecting at the destination host, receipt of a small page of zeros from the source host, wherein, at the source host, the small page is part of one of the large pages of the workload; and upon detecting the receipt of the small page of zeros, storing, at the destination host, all zeros in a small page that is part of one of the large pages of the workload.

Claims (38)

1. A method of preserving contiguity of large pages of a workload during migration of the workload from a source host to a destination host, the method comprising:

receiving from the source host at a first time, a first small page of the workload, wherein in system memory of the source host, the first small page is part of a first large page of the workload;

receiving from the source host at a second time after the first time, the first small page, wherein previous contents of the first small page have been modified since the receiving of the first small page at the first time; and

in response to the receiving of the first small page at the second time, storing, in system memory of the destination host, the modified contents of the first small page in a second small page of the workload, wherein the second small page is part of a second large page of the workload.

2. The method of claim 1 , wherein a location in the system memory of the source host, of the first small page relative to the first large page, is the same as a location in the system memory of the destination host, of the second small page relative to the second large page.

3. The method of claim 2 , wherein the source host detected the modified contents of the first small page based on a write trace installed on the first small page.

4. The method of claim 2 , wherein the workload is a virtual machine (VM), and the migration of the VM comprises quiescing the VM at the source host and resuming the VM at the destination host.

5. The method of claim 4 , wherein the second time is after the resuming of the VM at the destination host.

6. The method of claim 5 , further comprising:

in response to the receiving of the first small page at the first time, and before the second time, storing the previous contents of the first small page in the second small page.

7. The method of claim 6 , further comprising:

after the storing of the previous contents of the first small page, and before the second time, storing metadata at the destination host, wherein the metadata indicates that the second small page is remote.

8. A non-transitory computer-readable medium comprising instructions that are executable by a destination host, wherein the instructions when executed cause the destination host to carry out a method of preserving contiguity of large pages of a workload during migration of the workload from a source host to the destination host, the method comprising:

receiving from the source host at a first time, a first small page of the workload, wherein in system memory of the source host, the first small page is part of a first large page of the workload;

receiving from the source host at a second time after the first time, the first small page, wherein previous contents of the first small page have been modified since the receiving of the first small page at the first time; and

in response to the receiving of the first small page at the second time, storing, in system memory of the destination host, the modified contents of the first small page in a second small page of the workload, wherein the second small page is part of a second large page of the workload.

9. The non-transitory computer-readable medium of claim 8 , wherein a location in the system memory of the source host, of the first small page relative to the first large page, is the same as a location in the system memory of the destination host, of the second small page relative to the second large page.

10. The non-transitory computer-readable medium of claim 9 , wherein the source host detected the modified contents of the first small page based on a write trace installed on the first small page.

11. The non-transitory computer-readable medium of claim 9 , wherein the workload is a virtual machine (VM), and the migration of the VM comprises quiescing the VM at the source host and resuming the VM at the destination host.

12. The non-transitory computer-readable medium of claim 11 , wherein the second time is after the resuming of the VM at the destination host.

13. The non-transitory computer-readable medium of claim 12 , the method further comprising:

in response to the receiving of the first small page at the first time, and before the second time, storing the previous contents of the first small page in the second small page.

14. The non-transitory computer-readable medium of claim 13 , the method further comprising:

after the storing of the previous contents of the first small page, and before the second time, storing metadata at the destination host, wherein the metadata indicates that the second small page is remote.

15. A computer system comprising:

a source host comprising system memory; and

a destination host comprising system memory, wherein the destination host is configured to:

receive from the source host at a first time, a first small page of a workload, wherein in the system memory of the source host, the first small page is part of a first large page of the workload;

receive from the source host at a second time after the first time, the first small page, wherein previous contents of the first small page have been modified since the receiving of the first small page at the first time; and

in response to the receiving of the first small page at the second time, store, in the system memory of the destination host, the modified contents of the first small page in a second small page of the workload, wherein the second small page is part of a second large page of the workload.

16. The computer system of claim 15 , wherein a location in the system memory of the source host, of the first small page relative to the first large page, is the same as a location in the system memory of the destination host, of the second small page relative to the second large page.

17. The computer system of claim 16 , wherein the source host is configured to:

detect the modified contents of the first small page based on a write trace installed on the first small page.

18. The computer system of claim 16 , wherein the workload is a virtual machine (VM), and to migrate the VM from the source host to the destination host, the source host is configured to quiesce the VM, and the destination host is further configured to resume the VM.

19. The computer system of claim 18 , wherein the second time is after the resuming of the VM by the destination host.

20. The computer system of claim 19 , wherein the destination host is further configured to:

in response to the receiving of the first small page at the first time, and before the second time, store the previous contents of the first small page in the second small page; and

after the storing of the previous contents of the first small page, and before the second time, store metadata indicating that the second small page is remote.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (2)
Continuation 17384469 · Jul 23, 2021
Related Publication 20230082951A1 · Mar 16, 2023