IP Library › Granted Patent US 9,052,949
Granted Patent B2
US 9,052,949 · App. 13/529,921 · Granted Jun 9, 2015

Scheduling a processor to support efficient migration of a virtual machine

Inventors: Gabriel Tarasuk-Levin (Mountain View, CA); Rajesh Venkatasubramanian (San Jose, CA)
Assignee: VMware, Inc.
G06F9/4856G06F9/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 9,052,949
App. No.
13/529,921
Granted
Jun 9, 2015
Kind
B2
Abstract

A virtualized computer system implements a process to migrate a virtual machine (VM) from a source host to a destination host. During this process, a processing unit at the source host, which is executing instructions of the VM, is scheduled so that the rate of modification of guest physical memory pages is reduced. The determination of when to schedule the processing unit in this manner may be made based on a current rate of modification of the pages, a transmission rate of guest physical memory pages from the source host to the destination host, or a prior VM migration performance.

Claims (36)

1. A method of migrating a virtual machine (VM) running in a source host to a destination host, the source host having at least one processing unit for executing instructions of the VM, said method comprising:

transmitting contents of a plurality of pages of guest physical memory of the VM from the source host to the destination host over a network;

determining a modification rate of the pages at the source host while the contents are being transmitted over the network;

scheduling the processing unit so as to slow down a rate at which the processing unit is executing instructions of the VM based on the modification rate and a transmission rate of the contents over the network; and

transmitting contents of the pages that have been modified from the source host to the destination host over the network;

wherein the scheduling of the processing unit comprises inserting a pause into the instructions of the VM; and

wherein the pause is inserted into the instructions of the VM if a ratio of the transmission rate to the modification rate is lower than a threshold value.

2. The method of claim 1 , wherein the processing unit is scheduled to lower the modification rate.

3. The method of claim 1 , further comprising:

scheduling the processing unit based on a historical performance of the VM.

4. The method of claim 3 , wherein the scheduling of the processing unit based on the historical performance is performed prior to transmitting contents of any of the pages of the guest physical memory of the VM.

5. The method of claim 4 , wherein the historical performance of the VM corresponds to a prior migration performance of the VM.

6. A method of migrating a virtual machine (VM) running in a source host to a destination host, the source host having at least one processing unit for executing instructions of the VM, the method comprising:

transmitting contents of a plurality of pages of guest physical memory of the VM from the source host to the destination host over a network;

scheduling the processing unit so as to slow down a rate at which the processing unit is executing instructions of the VM based on a transmission rate of the contents over the network; and

transmitting contents of the pages that have been modified from the source host to the destination host over the network;

wherein the scheduling of the processing unit comprises inserting a pause into the instructions of the VM;

wherein the pause is inserted into the instructions of the VM if the transmission rate is lower than a threshold amount.

7. The method of claim 6 , wherein the processing unit is scheduled to lower a modification rate of the pages.

8. The method of claim 6 , further comprising:

scheduling the processing unit based on a historical performance of the VM.

9. The method of claim 8 , wherein the scheduling of the processing unit based on the historical performance is performed prior to transmitting contents of any of the pages of the guest physical memory of the VM.

10. The method of claim 9 , wherein the historical performance of the VM corresponds to a prior migration performance of the VM.

11. A non-transitory computer-readable storage medium comprising instructions for causing a computing device to carry out a method of migrating a virtual machine (VM) from a source host to a destination host, the source host having at least one processing unit for executing instructions of the VM, said method comprising the steps of:

transmitting contents of a plurality of pages of guest physical memory of the VM from the source host to the destination host over a network;

scheduling the processing unit so as to slow down a rate at which the processing unit is executing instructions of the VM based on a transmission rate of the contents over the network; and

transmitting contents of the pages that have been modified from the source host to the destination host over the network;

wherein the method further comprises determining a modification rate of the pages at the source host, and the processing unit is scheduled based on the modification rate and the transmission rate of the network;

wherein the scheduling of the processing unit comprises inserting a pause into the instructions of the VM; and

wherein the pause is inserted into the instructions of the VM if a ratio of the transmission rate to the modification rate is lower than a threshold value.

12. The computer-readable storage medium of claim 11 , wherein the processing unit is scheduled to lower a modification rate of the pages.

13. The computer-readable storage medium of claim 11 , wherein the method further comprises scheduling the processing unit based on a historical performance of the VM prior to transmitting contents of any of the pages of the guest physical memory of the VM.

14. The method of claim 1 further comprising:

setting bits corresponding to the plurality of pages of guest physical memory in a bitmap such that a corresponding bit in the bitmap is set when a page of guest physical memory is modified while the contents of the pages are being transmitted over the network; and

clearing a bit corresponding to a modified page of guest physical memory after the page has been transmitted;

wherein a page of guest physical memory is determined to have been modified if its corresponding bit in the bitmap is set.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2012
From: TARASUK-LEVIN, GABRIEL; VENKATASUBRAMANIAN, RAJESH
To: VMWARE, INC.
Reel/Frame 028422/0820 →
Continuity (1)
Related Publication 20130346613A1 · Dec 26, 2013