IP Library Granted Patent US 11,775,335
Granted Patent B2
US 11,775,335 · App. 18/098,772 · Granted Oct 3, 2023

Platform independent GPU profiles for more efficient utilization of GPU resources

Inventors: Akshay Bhandari (Bangalore, IN); Muralidhara Gupta (Bangalore, IN); Nidhin Urmese (Bangalore, IN)
Assignee: VMWARE, INC.
G06F9/45558G06F9/3877G06F9/455G06F9/505G06F9/5044G06F9/5077G06T1/20G06F9/44505G06F2009/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,775,335
App. No.
18/098,772
Granted
Oct 3, 2023
Kind
B2
Abstract

Disclosed are various examples for platform independent graphics processing unit (GPU) profiles for more efficient utilization of GPU resources. A virtual machine configuration can be identified to include a platform independent graphics computing requirement. Hosts can be identified as available in a computing environment based on the platform independent graphics computing requirement. The virtual machines can be migrated and placed to maximize usage the total memory of GPU resources of the hosts.

Claims (40)

1. A system, comprising:

at least one computing device comprising at least one processor and at least one memory;

program instructions stored in the at least one memory, wherein the program instructions, when executed by the at least one processor, cause the at least one computing device to at least:

identify a virtual machine configuration for at least one virtual machine comprising a platform independent graphics computing requirement, wherein a virtual graphics processing unit (vGPU) is to be utilized in an execution of the virtual machine;

identify that assignment of the at least one virtual machine to a first at least one GPU of a first host in a computing environment uses a greater portion of a total memory of the first at least one GPU relative to a plurality of virtual machines executed using the first at least one GPU, wherein the total memory satisfies the platform independent graphics computing requirement, and an available memory of the first at least one GPU is insufficient to satisfy the platform independent graphics computing requirement; and

migrate at least one of the plurality of virtual machines from the first at least one GPU to a second at least one GPU of a second host and execute the at least one virtual machine using the first at least one GPU of the first host, thereby causing a greater portion of the total memory of the first at least one GPU to be utilized.

2. The system of claim 1 , wherein the platform independent graphics computing requirement comprises at least one of: a video memory requirement, a central processing unit (CPU) requirement, and a random-access memory (RAM) requirement.

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

update at least one vGPU profile of the first at least one GPU to configure the first at least one GPU for the at least one virtual machine.

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

update at least one vGPU profile of the second at least one GPU to configure the second at least one GPU for the at least one of the plurality of virtual machines.

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

install, by a graphics virtual machine placement manager, a driver within the at least one of the plurality of virtual machines to enable migration of the at least one of the plurality of virtual machines from the first at least one GPU to the second at least one GPU.

6. The system of claim 1 , wherein the at least one of the plurality of virtual machines is performed in response to a request to perform an optimization.

7. The system of claim 1 , wherein the first at least one GPU and the second at least one GPU correspond to different types of graphics cards.

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

identify a virtual machine configuration for at least one virtual machine comprising a platform independent graphics computing requirement, wherein a virtual graphics processing unit (vGPU) is to be utilized in an execution of the virtual machine;

identify that assignment of the at least one virtual machine to a first at least one GPU of a first host in a computing environment uses a greater portion of a total memory of the first at least one GPU relative to a plurality of virtual machines executed using the first at least one GPU, wherein the total memory satisfies the platform independent graphics computing requirement, and an available memory of the first at least one GPU is insufficient to satisfy the platform independent graphics computing requirement; and

migrate at least one of the plurality of virtual machines from the first at least one GPU to a second at least one GPU of a second host and execute the at least one virtual machine using the first at least one GPU of the first host, thereby causing a greater portion of the total memory of the first at least one GPU to be utilized.

9. The non-transitory computer-readable medium of claim 8 , wherein the platform independent graphics computing requirement comprises at least one of: a video memory requirement, a central processing unit (CPU) requirement, and a random-access memory (RAM) requirement.

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

update at least one vGPU profile of the first at least one GPU to configure the first at least one GPU for the at least one virtual machine.

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

update at least one vGPU profile of the second at least one GPU to configure the second at least one GPU for the at least one of the plurality of virtual machines.

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

install, by a graphics virtual machine placement manager, a driver within the at least one of the plurality of virtual machines to enable migration of the at least one of the plurality of virtual machines from the first at least one GPU to the second at least one GPU.

13. The non-transitory computer-readable medium of claim 8 , wherein the at least one of the plurality of virtual machines is performed in response to a request to perform an optimization.

14. The non-transitory computer-readable medium of claim 8 , wherein the first at least one GPU and the second at least one GPU correspond to different types of graphics cards.

15. A method, comprising:

identifying, by a graphics virtual machine placement service, a virtual machine configuration for at least one virtual machine comprising a platform independent graphics computing requirement, wherein a virtual graphics processing unit (vGPU) is to be utilized in an execution of the virtual machine;

identifying, by the graphics virtual machine placement service, that assignment of the at least one virtual machine to a first at least one GPU of a first host in a computing environment uses a greater portion of a total memory of the first at least one GPU relative to a plurality of virtual machines executed using the first at least one GPU, wherein the total memory satisfies the platform independent graphics computing requirement, and an available memory of the first at least one GPU is insufficient to satisfy the platform independent graphics computing requirement; and

migrating, by the graphics virtual machine placement service, at least one of the plurality of virtual machines from the first at least one GPU to a second at least one GPU of a second host and execute the at least one virtual machine using the first at least one GPU of the first host, thereby causing a greater portion of the total memory of the first at least one GPU to be utilized.

16. The method of claim 15 , wherein the platform independent graphics computing requirement comprises at least one of: a video memory requirement, a central processing unit (CPU) requirement, and a random-access memory (RAM) requirement.

17. The method of claim 15 , further comprising:

updating, by the graphics virtual machine placement service, at least one vGPU profile of the first at least one GPU to configure the first at least one GPU for the at least one virtual machine.

18. The method of claim 15 , further comprising:

updating, by the graphics virtual machine placement service, at least one vGPU profile of the second at least one GPU to configure the second at least one GPU for the at least one of the plurality of virtual machines.

19. The method of claim 15 , further comprising:

installing, by the graphics virtual machine placement service, a driver within the at least one of the plurality of virtual machines to enable migration of the at least one of the plurality of virtual machines from the first at least one GPU to the second at least one GPU.

20. The method of claim 15 , wherein the at least one of the plurality of virtual machines is performed in response to a request to perform an optimization.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →