IP Library › Granted Patent US 11,579,942
Granted Patent B2
US 11,579,942 · App. 16/890,156 · Granted Feb 14, 2023

VGPU scheduling policy-aware migration

Inventors: Uday Pundalik Kurkure (Los Altos Hills, CA); Hari Sivaraman (Livermore, CA); Lan Vu (Palo Alto, CA)
Assignee: VMWARE, INC.
G06F9/5088G06F9/45558G06F9/4881G06F9/5077G06T1/20G06F2009/4557G06F2009/45579G06F2009/45583
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,579,942
App. No.
16/890,156
Granted
Feb 14, 2023
Kind
B2
Abstract

Disclosed are aspects of virtual graphics processing unit (vGPU) scheduling-aware virtual machine migration. Graphics processing units (GPUs) that are compatible with a current virtual GPU (vGPU) profile for a virtual machine are identified. A scheduling policy matching order for a migration of the virtual machine is determined based on a current vGPU scheduling policy for the virtual machine. A destination GPU is selected based on a vGPU scheduling policy of the destination GPU being identified as a best available vGPU scheduling policy according to the scheduling policy matching order. The virtual machine is migrated to the destination GPU.

Claims (54)

1. A system comprising:

at least one computing device comprising at least one processor and at least one data store;

machine readable instructions accessible to the at least one computing device, wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

identify virtual graphics processing unit (vGPU) scheduling migration rules comprising at least one of:

a best-effort matching order that indicates best-effort scheduling, equal-share scheduling, and fixed-share scheduling in decreasing order;

an equal-share matching order that indicates equal-share scheduling, best-effort scheduling, and fixed-share scheduling in decreasing order; and

a fixed-share matching order that indicates fixed-share scheduling, best-effort scheduling, and equal-share scheduling in decreasing order;

identify at least one graphics processing unit (GPU) that is compatible with a current vGPU profile for a virtual machine, wherein the at least one GPU comprises a corresponding at least one vGPU scheduling policy;

determine, based on a current vGPU scheduling policy for the virtual machine, an ordered list of scheduling policies corresponding to: the best-effort matching order, the equal-share matching order, or the fixed-share matching order;

select a destination GPU from the at least one GPU based on a vGPU scheduling policy of the destination GPU being identified as a best available one of the corresponding at least one vGPU scheduling policy according to the ordered list of scheduling policies; and

migrate the virtual machine to the destination GPU.

2. The system of claim 1 , wherein the current vGPU scheduling policy is provided as a key to select the ordered list of scheduling policies.

3. The system of claim 1 , wherein the corresponding at least one vGPU scheduling policy controls how time slices are allocated to vGPUs of the at least one GPU.

4. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

configure the destination GPU to a particular vGPU profile based on at least one of: the current vGPU profile, and a GPU memory requirement of the virtual machine.

5. The system of claim 1 , wherein the vGPU scheduling policy corresponds to: best-effort scheduling, equal-share scheduling, or fixed-share scheduling.

6. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

identify at least one host that matches threshold migration requirements, wherein the at least one host comprises the at least one GPU.

7. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

determine that a number of virtual machines running on the destination GPU is less than a maximum number of virtual machines for the destination GPU.

8. A method performed by at least one computing device executing machine-readable instructions, the method comprising:

Identifying virtual graphics processing unit (vGPU) scheduling migration rules comprising at least one of:

a best-effort matching order that indicates best-effort scheduling, equal-share scheduling, and fixed-share scheduling in decreasing order;

an equal-share matching order that indicates equal-share scheduling, best-effort scheduling, and fixed-share scheduling in decreasing order; and

a fixed-share matching order that indicates fixed-share scheduling, best-effort scheduling, and equal-share scheduling in decreasing order;

identifying at least one graphics processing unit (GPU) that is compatible with a current vGPU profile for a virtual machine, wherein the at least one GPU comprises a corresponding at least one vGPU scheduling policy;

determining, based on a current vGPU scheduling policy for the virtual machine, an ordered list of scheduling policies corresponding to: the best-effort matching order, the equal-share matching order, or the fixed-share matching order;

selecting a destination GPU from the at least one GPU based on a vGPU scheduling policy of the destination GPU being identified as a best available one of the corresponding at least one vGPU scheduling policy according to the ordered list of scheduling policies; and

migrating the virtual machine to the destination GPU.

9. The method of claim 8 , wherein the current vGPU scheduling policy is provided as a key to select the ordered list of scheduling policies.

10. The method of claim 8 , wherein the corresponding at least one vGPU scheduling policy controls how time slices are allocated to vGPUs of the at least one GPU.

11. The method of claim 8 , further comprising:

configuring the destination GPU to a particular vGPU profile based on at least one of: the current vGPU profile, and a GPU memory requirement of the virtual machine.

12. The method of claim 8 , wherein the vGPU scheduling policy corresponds to: best-effort scheduling, equal-share scheduling, or fixed-share scheduling.

13. The method of claim 8 , further comprising:

identifying at least one host that matches threshold migration requirements, wherein the at least one host comprises the at least one GPU.

14. The method of claim 8 , further comprising:

determining that a number of virtual machines running on the destination GPU is less than a maximum number of virtual machines for the destination GPU.

15. A non-transitory computer-readable medium comprising machine readable instructions, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:

identify virtual graphics processing unit (vGPU) scheduling migration rules comprising at least one of:

a best-effort matching order that indicates best-effort scheduling, equal-share scheduling, and fixed-share scheduling in decreasing order;

an equal-share matching order that indicates equal-share scheduling, best-effort scheduling, and fixed-share scheduling in decreasing order; and

a fixed-share matching order that indicates fixed-share scheduling, best-effort scheduling, and equal-share scheduling in decreasing order;

identify at least one graphics processing unit (GPU) that is compatible with a current vGPU profile for a virtual machine, wherein the at least one GPU comprises a corresponding at least one vGPU scheduling policy;

determine, based on a current vGPU scheduling policy for the virtual machine, an ordered list of scheduling policies corresponding to: the best-effort matching order, the equal-share matching order, or the fixed-share matching order;

select a destination GPU from the at least one GPU based on a vGPU scheduling policy of the destination GPU being identified as a best available one of the corresponding at least one vGPU scheduling policy according to the ordered list of scheduling policies; and

migrate the virtual machine to the destination GPU.

16. The non-transitory computer-readable medium of claim 15 , wherein the current vGPU scheduling policy is provided as a key to select the ordered list of scheduling policies.

17. The non-transitory computer-readable medium of claim 15 , wherein the corresponding at least one vGPU scheduling policy controls how time slices are allocated to vGPUs of the at least one GPU.

18. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

configure the destination GPU to a particular vGPU profile based on at least one of: the current vGPU profile, and a GPU memory requirement of the virtual machine.

19. The non-transitory computer-readable medium of claim 15 , wherein the vGPU scheduling policy corresponds to: best-effort scheduling, equal-share scheduling, or fixed-share scheduling.

20. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

identify at least one host that matches threshold migration requirements, wherein the at least one host comprises the at least one GPU.

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 Oct 13, 2022
From: KURKURE, UDAY PUNDALIK; SIVARAMAN, HARI; VU, LAN
To: VMWARE, INC.
Reel/Frame 061409/0882 →
Continuity (1)
Related Publication 20210373972A1 · Dec 2, 2021