Memory-aware placement for virtual GPU enabled systems

US11263054B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11263054-B2
Application numberUS-201916550327-A
CountryUS
Kind codeB2
Filing dateAug 26, 2019
Priority dateJul 12, 2019
Publication dateMar 1, 2022
Grant dateMar 1, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed are aspects of memory-aware placement in systems that include graphics processing units (GPUs) that are virtual GPU (vGPU) enabled. In some embodiments, a computing environment is monitored to identify graphics processing unit (GPU) data for a plurality of virtual GPU (vGPU) enabled GPUs of the computing environment, a plurality of vGPU requests are received. A respective vGPU request includes a GPU memory requirement. GPU configurations are determined in order to accommodate vGPU requests. The GPU configurations are determined based on an integer linear programming (ILP) vGPU request placement model. Configured vGPU profiles are applied for vGPU enabled GPUs, and vGPUs are created based on the configured vGPU profiles. The vGPU requests are assigned to the vGPUs.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: at least one computing device comprising at least one processor and at least one data store; machine readable instructions stored in the at least one data store, wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least: monitor a computing environment to identify graphics processing unit (GPU) data for a plurality of virtual GPU (vGPU) enabled GPUs of the computing environment; receive a plurality of vGPU requests, a respective vGPU request comprising a GPU memory requirement; determine GPU configurations to accommodate at least a subset of the plurality of vGPU requests, the GPU configurations being determined based on an integer linear programming (ILP) vGPU request placement model; apply configured vGPU profiles to at least a subset of the vGPU enabled GPUs, wherein a plurality of vGPUs are created based on the configured vGPU profiles; and assign the respective vGPU request to a vGPU of the plurality of vGPUs. 2. The system of claim 1 , wherein a GPU memory reservation of the vGPU is greater than or equal to a GPU memory requirement of the respective vGPU request. 3. The system of claim 1 , wherein the ILP vGPU request placement model minimizes a number of the subset of the vGPU enabled GPUs. 4. The system of claim 1 , wherein the ILP vGPU request placement model minimizes a total memory utilized by the configured vGPU profiles. 5. The system of claim 1 , wherein the ILP vGPU request placement model ensures that a number of a subset of the vGPU requests is less than or equal to a number of vGPUs at a particular vGPU profile for a particular vGPU enabled GPU. 6. The system of claim 1 , wherein the ILP vGPU request placement model minimizes an objective function Σ j=1 N Σ k=1 t j p jk +a jk p jk , wherein N is a number of at least the subset of the vGPU enabled GPUs, t j indicates a number of profiles k, p jk indicates a selection status p jk ∈{0,1} regarding a profile of the profiles k for a GPU j, and coefficient a jk indicates a GPU memory reservation of each vGPU associated with a corresponding one of the profiles k for the GPU j. 7. The system of claim 1 , wherein the ILP vGPU request placement model maximizes an objective function Σ i=1 M Σ j=1 N r ij , wherein N is a number of at least the subset of the vGPU enabled GPUs, M is a number of the plurality of vGPU requests, and r ij is a placement status r ij ∈{0,1} regarding a vGPU request i on a GPU j. 8. A method performed by at least one computing device executing machine-readable instructions, the method comprising: monitoring a computing environment to identify graphics processing unit (GPU) data for a plurality of virtual GPU (vGPU) enabled GPUs of the computing environment; receive a plurality of vGPU requests, a respective vGPU request comprising a GPU memory requirement; determining GPU configurations to accommodate at least a subset of the plurality of vGPU requests, the GPU configurations being determined based on an integer linear programming (ILP) vGPU request placement model; applying configured vGPU profiles to at least a subset of the vGPU enabled GPUs, wherein a plurality of vGPUs are created based on the configured vGPU profiles; and assigning the respective vGPU request to a vGPU of the plurality of vGPUs. 9. The method of claim 8 , wherein a GPU memory reservation of the vGPU is greater than or equal to a GPU memory requirement of the respective vGPU request. 10. The method of claim 8 , wherein the ILP vGPU request placement model minimizes a number of the subset of the vGPU enabled GPUs. 11. The method of claim 8 , wherein the ILP vGPU request placement model minimizes a total memory utilized by the configured vGPU profiles. 12. The method of claim 8 , wherein the ILP vGPU request placement model ensures that a number of a subset of the vGPU requests is less than or equal to a number of vGPUs at a particular vGPU profile for a particular vGPU enabled GPU. 13. The method of claim 8 , wherein the ILP vGPU request placement model minimizes an objective function Σ j=1 N Σ k=1 t j p jk +a jk p jk , wherein N is a number of at least the subset of the vGPU enabled GPUs, t j indicates a number of profiles k, p jk indicates a selection status p jk ∈{0,1} regarding a profile of the profiles k for a GPU j, and coefficient a jk indicates a GPU memory reservation of each vGPU associated with a corresponding one of the profiles k for the GPU j. 14. The method of claim 8 , wherein the ILP vGPU request placement model maximizes an objective function Σ i=1 M Σ j=1 N r ij , wherein N is a number of at least the subset of the vGPU enabled GPUs, M is a number of the plurality of vGPU requests, and r ij is a placement status r ij ∈{0,1} regarding a vGPU request i on a GPU j. 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: monitor a computing environment to identify graphics processing unit (GPU) data for a plurality of virtual GPU (vGPU) enabled GPUs of the computing environment; receive a plurality of vGPU requests, a respective vGPU request comprising a GPU memory requirement; determine GPU configurations to accommodate at least a subset of the plurality of vGPU requests, the GPU configurations being determined based on an integer linear programming (ILP) vGPU request placement model; apply configured vGPU profiles to at least a subset of the vGPU enabled GPUs, wherein a plurality of vGPUs are created based on the configured vGPU profiles; and assign the respective vGPU request to a vGPU of the plurality of vGPUs. 16. The non-transitory computer-readable medium of claim 15 , wherein a GPU memory reservation of the vGPU is greater than or equal to a GPU memory requirement of the respective vGPU request. 17. The non-transitory computer-readable medium of claim 15 , wherein the ILP vGPU request placement model minimizes a number of the subset of the vGPU enabled GPUs. 18. The non-transitory computer-readable medium of claim 15 , wherein the ILP vGPU request placement model minimizes a total memory utilized by the configured vGPU profiles. 19. The non-transitory computer-readable medium of claim 15 , wherein the ILP vGPU request placement model ensures that a number of a subset of the vGPU requests is less than or equal to a number of vGPUs at a particular vGPU profile for a particular vGPU enabled GPU. 20. The non-transitory computer-readable medium of claim 15 , wherein the ILP vGPU request placement model minimizes an objective function Σ j=1 N Σ k=1 t j p jk +a jk p jk , wherein N is a number of at least the subset of the vGPU enabled GPUs, t j indicates a number of profiles k, p jk indicates a selection status p jk ∈{0,1} regarding a profile of the profiles k for a GPU j, and coefficient a jk indicates a GPU memory reservation of each vGPU associated with a corresponding one of the profiles k for the GPU j.

Assignees

Inventors

Classifications

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12) · CPC title

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

  • G06F9/5044Primary

    considering hardware capabilities · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11263054B2 cover?
Disclosed are aspects of memory-aware placement in systems that include graphics processing units (GPUs) that are virtual GPU (vGPU) enabled. In some embodiments, a computing environment is monitored to identify graphics processing unit (GPU) data for a plurality of virtual GPU (vGPU) enabled GPUs of the computing environment, a plurality of vGPU requests are received. A respective vGPU request…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 01 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).