IP Library Granted Patent US 9,727,360
Granted Patent B2
US 9,727,360 · App. 13/523,003 · Granted Aug 8, 2017

Optimizing virtual graphics processing unit utilization

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,727,360
App. No.
13/523,003
Granted
Aug 8, 2017
Kind
B2
Abstract

Methods, systems, and computer program products are provided for optimizing virtual graphics processing unit utilization. Embodiments include assigning a computing intensity level to each virtual machine of a plurality of virtual machines; assigning a priority level to each virtual machine of the plurality of virtual machines; determining for each server of a plurality of servers whether the server includes a virtual graphics processing unit (VGPU) that is available to perform compute intensive tasks for the plurality of virtual machines; and assigning one or more VGPUs to a virtual machine of the plurality of virtual machines in dependence upon the computing intensity level and the priority level of the virtual machine and the number of VGPUs available to perform the compute intensive tasks.

Claims (12)

1. A method comprising:

assigning, in dependence upon a comparison between compute tasks of each virtual machine of a plurality of virtual machines to compute tasks of other virtual machines of the plurality of virtual machines, a computing intensity level to each virtual machine of the plurality of virtual machines, wherein one or more virtual machines with least compute intensive tasks are assigned a lowest computing intensity level;

assigning a priority level to each virtual machine of the plurality of virtual machines including assigning a virtual machine that includes a client operating system a higher priority level than a virtual machine that includes a server operating system;

prior to moving each of the plurality of virtual machines to a server for execution, determining that each of a plurality of servers includes a virtual graphics processing unit (VGPU) that is available to perform compute intensive tasks for the plurality of virtual machines, wherein determining that each of the plurality of servers includes a VGPU further comprises receiving, from each the plurality of servers, information indicating resources available at the server and examining the indicated resources for a VGPU; and

assigning one of the VGPUs of the plurality of servers to a virtual machine of the plurality of virtual machines in dependence upon the computing intensity level and the priority level of the virtual machine and the number of VGPUs available to perform the compute intensive tasks, including selecting a virtual machine with a priority level above a predetermined threshold and compute intensity below a predetermined threshold.

2. The method of claim 1 , wherein at least one of the virtual machines includes an application with compute intensive tasks.

3. The method of claim 1 , wherein a priority level of a particular virtual machine indicates an importance of a workload of the particular virtual machine.

4. The method of claim 1 , further comprising preferentially assigning a VGPU to the selected virtual machine.

5. The method of claim 4 , wherein preferentially assigning the VGPU to the selected virtual machine includes preferentially assigning the VGPU to a virtual machine with a highest priority and the lowest computing intensity level.

6. The method of claim 1 , wherein the VGPUs are assigned in further dependence upon the CPU speed and memory size of the plurality of servers.

7. The method of claim 1 , wherein each virtual machine includes at least one instance of an application.

8. The method of claim 1 , wherein determining that each of a plurality of servers includes a virtual graphics processing unit (VGPU) that is available to perform compute intensive tasks for the plurality of virtual machines includes: receiving information from a server indicating resources available at the server, examining the indicated resources for a VGPU at the server, and determining workload of the VGPU.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 050304/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →