IP Library Granted Patent US 11,915,060
Granted Patent B2
US 11,915,060 · App. 17/211,995 · Granted Feb 27, 2024

Graphics processing management system

Inventor: John Kelly (Mallow, IE)
Assignee: Dell Products L.P.
G06F9/5077G06F9/45558G06F9/4856G06T1/20G06F2009/45591
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,915,060
App. No.
17/211,995
Granted
Feb 27, 2024
Kind
B2
Abstract

A graphics processing management system includes a virtual machine coupled to client devices and a graphics processing system including graphics processing device(s). A graphics processing management subsystem is coupled to the virtual machine system and the client devices, and operates to monitor a usage of the graphics processing device(s) via the virtual machine system by a first client device. The graphics processing management subsystem then uses a graphics processing usage class equation to determine that feature(s) of the usage of the graphics processing device(s) by the first client device identifies a first graphics processing usage class. Based on determining that the usage of the graphics processing device(s) by the first client device identifies the first graphics processing usage class, the graphics processing management subsystem then performs a usage action with the first user that is associated with the first client device.

Claims (101)

1. A graphics processing management system, comprising:

a graphics processing system including at least one graphics processing device;

a virtual machine system that is coupled to the graphics processing system;

a plurality of client devices that are coupled to the virtual machine system; and

a graphics processing management subsystem that is coupled to the virtual machine system and the plurality of client devices, wherein the graphics processing management system is configured to:

monitor a first usage of the at least one graphics processing device via the virtual machine system by a first client device that is included in the plurality of client devices;

determine, using a graphics processing usage class equation, that at least one first feature of the first usage of the at least one graphics processing device by the first client device identifies a graphics usage class that is associated with graphics processing operations performed by the at least one graphics processing device;

generate, using a first billing rate that is based on the graphics usage class, a first usage bill and providing the first usage bill to a first user that is associated with the first client device;

monitor a second usage of the at least one graphics processing device via the virtual machine system by a second client device that is included in the plurality of client devices;

determine, using the graphics processing usage class equation, that at least one second feature of the second usage of the at least one graphics processing device by the second client device identifies a compute usage class that is associated with compute processing operations performed by the at least one graphics processing device; and

generate, using a second billing rate that is based on the compute usage class, a second usage bill and providing the second usage bill to a second user that is associated with the second client device.

2. The system of claim 1 , wherein the graphics processing management system is configured to:

monitor a third usage of the at least one graphics processing device via the virtual machine system by a third client device that is included in the plurality of client devices;

determine, using the graphics processing usage class equation, that at least one third feature of the third usage of the at least one graphics processing device by the second client device identifies a mixed graphics/compute usage class that is associated with graphics processing operations performed by the at least one graphics processing device within a mixed graphics processing operation range and compute processing operations performed by the at least one graphics processing device within a mixed compute processing operation range; and

perform, based on determining that the third usage of the at least one graphics processing device by the third client device identifies the mixed graphics/compute usage class, a third usage action with a third user that is associated with the third client device.

3. The system of claim 1 , wherein the graphics usage class is associated with a utilization of more than a threshold amount of graphics processing resources of the at least one graphics processing device, and wherein the compute usage class is associated with a utilization of more than a threshold amount of compute processing resources of the at least one graphics processing device.

4. The system of claim 1 , wherein the performing the first usage action based on determining that the first usage of the at least one graphics processing device by the first client device identifies the graphics usage class includes:

migrating, based on the graphics usage class, at least one workload being performed by the first client device from at least one first computing subsystem to at least one second computing subsystem,

and wherein the performing the second usage action based on determining that the second usage of the at least one graphics processing device by the second client device identifies the compute usage class includes:

migrating, based on the compute usage class, at least one workload being performed by the second client device from at least one third computing subsystem to at least one fourth computing subsystem.

5. The system of claim 1 , wherein the at least one first feature of the first usage of the at least one graphics processing device by the first client device includes at least one of:

a number of display devices included in the first client device;

a screen resolution of at least one display device included in the first client device;

a display protocol utilized by the first client device;

a frame rate utilized by at least one display device included in the first client device;

a number of graphics Application Programming Interface (API) calls transmitted by the first client device; or

a number of compute API calls transmitted by the first client device,

and wherein the at least one second feature of the second usage of the at least one graphics processing device by the second client device includes at least one of:

a number of display devices included in the second client device;

a screen resolution of at least one display device included in the second client device;

a display protocol utilized by the second client device;

a frame rate utilized by at least one display device included in the second client device;

a number of graphics API calls transmitted by the second client device.

6. An Information Handling System (IHS), comprising:

a processing system; and

a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a graphics processing usage management engine that is configured to:

monitor a first usage of at least one graphics processing device via a virtual machine system by a first client device;

determine, using a graphics processing usage class equation, that at least one first feature of the first usage of the at least one graphics processing device by the first client device identifies a graphics usage class that is associated with graphics processing operations performed by the at least on graphics processing device;

generate, using a first billing rate that is based on the graphics usage class, a first usage bill and providing the first usage bill to a first user that is associated with the first client device;

monitor a second usage of the at least one graphics processing device via the virtual machine system by a second client device;

determine, using the graphics processing usage class equation, that at least one second feature of the second usage of the at least one graphics processing device by the second client device identifies a compute usage class that is associated with compute processing operations performed by the at least one graphics processing device; and

generate, using a second billing rate that is based on the compute usage class, a second usage bill and providing the second usage bill to a second user that is associated with the second client device.

7. The IHS of claim 6 , wherein the graphics usage class is associated with a utilization of more than a threshold amount of graphics processing resources of the at least one graphics processing device, and wherein the compute usage class is associated with a utilization of more than a threshold amount of compute processing resources of the at least one graphics processing device.

8. The IHS of claim 6 , wherein the graphics processing management engine is configured to:

monitor a third usage of the at least one graphics processing device via the virtual machine system by a third client device;

determine, using the graphics processing usage class equation, that at least one third feature of the third usage of the at least one graphics processing device by the third client device identifies a mixed graphics/compute usage class that is associated with graphics processing operations performed by the at least one graphics processing device within a mixed graphics processing operation range and compute processing operations performed by the at least one graphics processing device within a mixed compute processing operation range; and

perform, based on determining that the third usage of the at least one graphics processing device by the third client device identifies the mixed graphics/compute usage class, a third usage action with a second third user that is associated with the third client device.

9. The IHS of claim 8 , wherein the performing the third usage action based on determining that the third usage of the at least one graphics processing device by the third client device identifies the mixed graphics/compute usage class includes:

generating, using a third billing rate that is based on the mixed graphics/compute usage class, a third usage bill; and

providing the third usage bill to the third user that is associated with the third client device.

10. The IHS of claim 6 , wherein the performing the first usage action based on determining that the first usage of the at least one graphics processing device by the first client device identifies the first graphics processing usage class includes:

migrating, based on the first graphics processing usage class, at least one workload being performed by the first client device from at least one first computing subsystem to at least one second computing subsystem,

and wherein the performing the second usage action based on determining that the second usage of the at least one graphics processing device by the second client device identifies the compute usage class includes:

migrating, based on the compute usage class, at least one workload being performed by the second client device from at least one third computing subsystem to at least one fourth computing subsystem.

11. The IHS of claim 6 , wherein the at least one first feature of the first usage of the at least one graphics processing device by the first client device includes at least one of:

a number of display devices included in the first client device;

a screen resolution of at least one display device included in the first client device;

a display protocol utilized by the first client device;

a frame rate utilized by at least one display device included in the first client device;

a number of graphics Application Programming Interface (API) calls transmitted by the first client device; or

a number of compute API calls transmitted by the first client device,

and wherein the at least one second feature of the second usage of the at least one graphics processing device by the second client device includes at least one of:

a number of display devices included in the second client device;

a screen resolution of at least one display device included in the second client device;

a display protocol utilized by the second client device;

a frame rate utilized by at least one display device included in the second client device;

a number of graphics API calls transmitted by the second client device; or

a number of compute API calls transmitted by the second client device.

12. A method for managing graphics processing resources, comprising:

monitoring, by a graphics processing management subsystem, a first usage of at least one graphics processing device via a virtual machine system by a first client device;

determining, by the graphics processing management subsystem using a graphics processing usage class equation, that at least one first feature of the first usage of the at least one graphics processing device by the first client device identifies a graphics usage class that is associated with graphics processing operations performed by the at least one graphics processing device;

generating, using a first billing rate that is based on the graphics usage class, a first usage bill and providing the first usage bill to a first user that is associated with the first client device;

monitoring, by the graphics processing management subsystem, a second usage of at least one graphics processing device via the virtual machine system by a second client device;

determining, by the graphics processing management subsystem using the graphics processing usage class equation, that at least one second feature of the second usage of the at least one graphics processing device by the second client device identifies a compute usage class that is associated with compute processing operations performed by the at least one graphics processing device; and

generating, using a second billing rate that is based on the compute usage class, a second usage bill and providing the second usage bill to a second user that is associated with the second client device.

13. The method of claim 12 , wherein the graphics usage class is associated with a utilization of more than a threshold amount of graphics processing resources of the at least one graphics processing device, and wherein the compute usage class is associated with a utilization of more than a threshold amount of compute processing resources of the at least one graphics processing device.

14. The method of claim 13 , further comprising:

monitoring, by the graphics processing management subsystem, a third usage of the at least one graphics processing device via the virtual machine system by a third client device;

determining, by the graphics processing management subsystem using the graphics processing usage class equation, that at least one third feature of the third usage of the at least one graphics processing device by the third client device identifies a mixed graphics/compute usage class that is associated with graphics processing operations performed by the at least one graphics processing device within a mixed graphics processing operation range and compute processing operations performed by the at least one graphics processing device within a mixed compute processing operation range; and

performing, by the graphics processing management subsystem based on determining that the third usage of the at least one graphics processing device by the third client device identifies the mixed graphics/compute usage class, a third usage action with a third user that is associated with the third client device.

15. The method of claim 14 , wherein the performing the third usage action based on determining that the third usage of the at least one graphics processing device by the third client device identifies the mixed graphics/compute usage class includes:

generating, using a third billing rate that is based on the mixed graphics/compute usage class, a third usage bill; and

providing the third usage bill to the third user that is associated with the third client device.

16. The method of claim 12 , wherein the performing the first usage action based on determining that the first usage of the at least one graphics processing device by the first client device identifies the graphics usage class includes:

migrating, by the graphics processing management subsystem based on the graphics usage class, at least one workload being performed by the first client device from at least one first computing subsystem to at least one second computing sub system,

and wherein the performing the second usage action based on determining that the second usage of the at least one graphics processing device by the second client device identifies the compute usage class includes:

migrating, by the graphics processing management subsystem based on the compute usage class, at least one workload being performed by the second client device from at least one third computing subsystem to at least one fourth computing subsystem.

17. The method of claim 12 , wherein the at least one first feature of the first usage of the at least one graphics processing device by the first client device includes at least one of:

a number of display devices included in the first client device;

a screen resolution of at least one display device included in the first client device;

a display protocol utilized by the first client device;

a frame rate utilized by at least one display device included in the first client device;

a number of graphics Application Programming Interface (API) calls transmitted by the first client device; or

a number of compute API calls transmitted by the first client device,

and wherein the at least one second feature of the second usage of the at least one graphics processing device by the second client device includes at least one of:

a number of display devices included in the second client device;

a screen resolution of at least one display device included in the second client device;

a display protocol utilized by the second client device;

a frame rate utilized by at least one display device included in the second client device;

a number of graphics API calls transmitted by the second client device; or

a number of compute API calls transmitted by the second client device.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2021
From: KELLY, JOHN
To: DELL PRODUCTS L.P.
Reel/Frame 055716/0184 →
Continuity (1)
Related Publication 20220308932A1 · Sep 29, 2022