IP Library › Granted Patent US 11,886,898
Granted Patent B2
US 11,886,898 · App. 16/833,833 · Granted Jan 30, 2024

GPU-remoting latency aware virtual machine migration

Inventors: Lan Vu (Palo Alto, CA); Uday Pundalik Kurkure (Los Altos Hills, CA); Hari Sivaraman (Livermore, CA)
Assignee: VMware, Inc.
G06F9/45558G06T1/20G06F2009/4557G06F2009/45595
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,886,898
App. No.
16/833,833
Granted
Jan 30, 2024
Kind
B2
Abstract

Various aspects are disclosed for graphics processing unit (GPU)-remoting latency aware migration. In some aspects, a host executes a GPU-remoting client that includes a GPU workload. GPU-remoting latencies are identified for hosts of a cluster. A destination host is identified based on having a lower GPU-remoting latency than the host currently executing the GPU-remoting client. The GPU-remoting client is migrated from its current host to the destination host.

Claims (43)

1. A system comprising:

at least one computing device comprising at least one processor;

at least one memory comprising executable instructions, wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

monitor resources of a plurality of hosts of a datacenter cluster;

identify a host executing a plurality of virtual machines (VM) including a plurality of non-GPU-workload-based virtual machines and a graphics processing unit (GPU)-remoting client virtual machine (VM), the GPU-remoting client VM comprising a GPU workload;

determine that the GPU-remoting client VM is to be migrated in response to an identification that: the GPU-remoting client VM is currently co-located with a GPU remoting server VM, resource utilization of the host is greater than a threshold utilization, and the host lacks migratable non-GPU-remoting virtual machines, wherein the host is identified to lack migratable non-GPU-remoting virtual machines in an instance in which a respective one of the plurality of non-GPU-workload-based virtual machines executed by the host comprise at least one affinity rule with the host or a VM executed using the host;

determine GPU-remoting latencies for at least a subset of the plurality of hosts, a respective GPU-remoting latency corresponding to a host-to-host network latency between: a particular host executing the GPU remoting server VM, and a respective host of the at least the subset of the plurality of hosts, wherein the GPU remoting server VM enables access to a GPU resource using compute unified device architecture call execution;

identify, based on the monitored resources, a destination host comprising a lower GPU-remoting latency than the host; and

migrate the GPU-remoting client VM from the host to the destination host based on the destination host comprising the lower GPU-remoting latency than the host.

2. The system of claim 1 , wherein the destination host comprises a lowest GPU-remoting latency among the at least the subset of the plurality of hosts.

3. 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 the at least the subset of the plurality of hosts based on a respective one of the at least the subset of the plurality of hosts comprising sufficient resources for the GPU-remoting client virtual machine.

4. The system of claim 1 , wherein the host is identified to execute the GPU-remoting server virtual machine and the GPU-remoting client virtual machine, and a resource utilization of the host is greater than a threshold utilization.

5. The system of claim 1 , wherein the destination host executes the GPU-remoting server virtual machine, and the destination host comprises sufficient resources for the GPU-remoting client virtual machine.

6. The system of claim 1 , wherein the GPU-remoting client virtual machine accesses the GPU resource based on GPU-remoting Application Programming Interface (API) calls to the GPU-remoting server virtual machine, wherein the GPU resource is local to the GPU-remoting server virtual machine.

7. The system of claim 6 , wherein a respective one of the GPU-remoting API calls comprises data and parameters issued by the GPU workload.

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

monitor resources of a plurality of hosts of a datacenter cluster;

identify a host executing a plurality of virtual machines (VM) including a plurality of non-GPU-workload-based virtual machines and a graphics processing unit (GPU)-remoting client virtual machine (VM), the GPU-remoting client VM comprising a GPU workload;

determine that the GPU-remoting client VM is to be migrated in response to an identification that: the GPU-remoting client VM is currently co-located with a GPU remoting server VM, resource utilization of the host is greater than a threshold utilization, and the host lacks migratable non-GPU-remoting virtual machines, wherein the host is identified to lack migratable non-GPU-remoting virtual machines in an instance in which a respective one of the plurality of non-GPU-workload-based virtual machines executed by the host comprise at least one affinity rule with the host or a VM executed using the host;

determine GPU-remoting latencies for at least a subset of the plurality of hosts, a respective GPU-remoting latency corresponding to a host-to-host network latency between: a particular host executing the GPU remoting server VM, and a respective host of the at least the subset of the plurality of hosts, wherein the GPU remoting server VM enables access to a GPU resource using compute unified device architecture call execution;

identify, based on the monitored resources, a destination host comprising a lower GPU-remoting latency than the host; and

migrate the GPU-remoting client VM from the host to the destination host based on the destination host comprising the lower GPU-remoting latency than the host.

9. The non-transitory computer-readable medium of claim 8 , wherein the destination host comprises a lowest GPU-remoting latency among the at least the subset of the plurality of hosts.

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

identify the at least the subset of the plurality of hosts based on a respective one of the at least the subset of the plurality of hosts comprising sufficient resources for the GPU-remoting client virtual machine.

11. The non-transitory computer-readable medium of claim 8 , wherein the host is identified to execute the GPU-remoting server virtual machine and the GPU-remoting client virtual machine, and a resource utilization of the host is greater than a threshold utilization.

12. The non-transitory computer-readable medium of claim 8 , wherein the destination host executes the GPU-remoting server virtual machine, and the destination host comprises sufficient resources for the GPU-remoting client virtual machine.

13. The non-transitory computer-readable medium of claim 8 , wherein the GPU-remoting client virtual machine accesses the GPU resource based on GPU-remoting Application Programming Interface (API) calls to the GPU-remoting server virtual machine, wherein the GPU resource is local to the GPU-remoting server virtual machine.

14. The non-transitory computer-readable medium of claim 13 , wherein a respective one of the GPU-remoting API calls comprises data and parameters issued by the GPU workload.

15. A method performed by instructions executed by at least one processor, the method comprising:

monitoring resources of a plurality of hosts of a datacenter cluster;

identifying a host executing a plurality of virtual machines (VM) including a plurality of non-GPU-workload-based virtual machines and a graphics processing unit (GPU)-remoting client virtual machine (VM), the GPU-remoting client VM comprising a GPU workload;

determining that the GPU-remoting client VM is to be migrated in response to an identification that: the GPU-remoting client VM is currently co-located with a GPU remoting server VM, resource utilization of the host is greater than a threshold utilization, and the host lacks migratable non-GPU-remoting virtual machines, wherein the host is identified to lack migratable non-GPU-remoting virtual machines in an instance in which a respective one of the plurality of non-GPU-workload-based virtual machines executed by the host comprise at least one affinity rule with the host or a VM executed using the host;

determining GPU-remoting latencies for at least a subset of the plurality of hosts, a respective GPU-remoting latency corresponding to a host-to-host network latency between: a particular host executing the GPU remoting server VM, and a respective host of the at least the subset of the plurality of hosts, wherein the GPU remoting server VM enables access to a GPU resource using compute unified device architecture call execution;

identifying, based on the monitored resources, a destination host comprising a lower GPU-remoting latency than the host; and

migrating the GPU-remoting client VM from the host to the destination host based on the destination host comprising the lower GPU-remoting latency than the host.

16. The method of claim 15 , wherein the destination host comprises a lowest GPU-remoting latency among the at least the subset of the plurality of hosts.

17. The method of claim 15 , further comprising:

identifying the at least the subset of the plurality of hosts based on a respective one of the at least the subset of the plurality of hosts comprising sufficient resources for the GPU-remoting client virtual machine.

18. The method of claim 15 , wherein the host is identified to execute the GPU-remoting server virtual machine and the GPU-remoting client virtual machine, and a resource utilization of the host is greater than a threshold utilization.

19. The method of claim 15 , wherein the destination host executes the GPU-remoting server virtual machine, and the destination host comprises sufficient resources for the GPU-remoting client virtual machine.

20. The method of claim 15 , wherein the GPU-remoting client virtual machine accesses the GPU resource based on GPU-remoting Application Programming Interface (API) calls to the GPU-remoting server virtual machine, wherein the GPU resource is local to the GPU-remoting server virtual machine.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2023
From: VU, LAN; KURKURE, UDAY PUNDALIK; SIVARAMAN, HARI
To: VMWARE, INC.
Reel/Frame 064837/0982 →
Continuity (1)
Related Publication 20210303327A1 · Sep 30, 2021