Dynamic and application-specific virtualized graphics processing

US10255652B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10255652-B2
Application numberUS-201715409482-A
CountryUS
Kind codeB2
Filing dateJan 18, 2017
Priority dateJan 18, 2017
Publication dateApr 9, 2019
Grant dateApr 9, 2019

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.

Methods, systems, and computer-readable media for dynamic and application-specific virtualized graphics processing are disclosed. Execution of an application is initiated on a virtual compute instance. The virtual compute instance is implemented using a server. One or more graphics processing unit (GPU) requirements associated with the execution of the application are determined. A physical GPU resource is selected from a pool of available physical GPU resources based at least in part on the one or more GPU requirements. A virtual GPU is attached to the virtual compute instance based at least in part on initiation of the execution of the application. The virtual GPU is implemented using the physical GPU resource selected from the pool and accessible to the server over a network.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a pool of available physical graphics processing unit (GPU) resources in a multi-tenant provider network, wherein at least a portion of the available physical GPU resources vary in one or more hardware characteristics; a virtual compute instance comprising a GPU interface configured to access a graphics service over a network using a remoting protocol comprising encapsulated graphics application programming interface (API) commands, wherein the virtual compute instance is implemented using central processing unit (CPU) resources and memory resources of a server in the multi-tenant provider network, and wherein the virtual compute instance is configured to: initiate execution of an application; and one or more computing devices configured to implement the graphics service, wherein the one or more computing devices are different than the server, and wherein the graphics service is configured to: select a physical GPU resource from the pool of available physical GPU resources based at least in part on one or more GPU requirements associated with the execution of the application; and attach a virtual GPU to the virtual compute instance based at least in part on initiation of the execution of the application, wherein the virtual GPU is implemented using the physical GPU resource selected from the pool and accessible to the server using the remoting protocol over the network, and wherein the virtual GPU is configured to generate output responsive to encapsulated graphics API commands associated with the execution of the application on the virtual compute instance. 2. The system as recited in claim 1 , wherein the graphics service is further configured to: detach the virtual GPU from the virtual compute instance based at least in part on termination of the execution of the application on the virtual compute instance; and return the physical GPU resource associated with the virtual GPU to the pool of available physical GPU resources. 3. The system as recited in claim 1 , wherein the one or more GPU requirements are specified by the application during the execution of the application. 4. The system as recited in claim 1 , wherein the one or more GPU requirements are associated with a machine image used in launching the virtual compute instance. 5. A computer-implemented method, comprising: initiating execution of an application on a virtual compute instance comprising a graphics processing unit (GPU) interface configured to access a GPU resource over a network using a remoting protocol comprising encapsulated graphics application programming interface (API) commands; determining one or more GPU requirements associated with the execution of the application; selecting a physical GPU resource from a pool of available physical GPU resources based at least in part on the one or more GPU requirements; and attaching a virtual GPU to the virtual compute instance after initiation of the execution of the application, wherein the virtual GPU is implemented using the physical GPU resource selected from the pool and accessible to the virtual compute instance using the encapsulated graphics API commands of the remoting protocol over a network. 6. The method as recited in claim 5 , further comprising: detecting termination of the execution of the application on the virtual compute instance; detaching the virtual GPU from the virtual compute instance based at least in part on the termination of the execution of the application; and returning the physical GPU resource associated with the virtual GPU to the pool of available physical GPU resources. 7. The method as recited in claim 5 , wherein the one or more GPU requirements comprise one or more hardware characteristics of a physical GPU. 8. The method as recited in claim 5 , wherein the one or more GPU requirements comprise an identification of a vendor of a physical GPU. 9. The method as recited in claim 5 , wherein the one or more GPU requirements are specified by the application during the execution of the application. 10. The method as recited in claim 5 , wherein the one or more GPU requirements are associated with a machine image used in launching the virtual compute instance. 11. The method as recited in claim 5 , further comprising: initiating execution of an additional application on the virtual compute instance, wherein the execution of the additional application is initiated after the execution of the application is terminated; determining one or more additional GPU requirements associated with the execution of the additional application, wherein the additional GPU requirements differ at least in part from the GPU requirements; selecting an additional physical GPU resource from the pool of available physical GPU resources based at least in part on the one or more additional GPU requirements; and attaching an additional virtual GPU to the virtual compute instance after initiation of the execution of the additional application, wherein the additional virtual GPU is implemented using the additional physical GPU resource selected from the pool and accessible to the virtual compute instance over the network. 12. The method as recited in claim 5 , further comprising: initiating execution of an additional application on the virtual compute instance; determining one or more additional GPU requirements associated with the execution of the additional application, wherein the additional GPU requirements differ at least in part from the GPU requirements; selecting an additional physical GPU resource from the pool of available physical GPU resources based at least in part on the one or more additional GPU requirements; and attaching an additional virtual GPU to the virtual compute instance based at least in part on initiation of the execution of the additional application, wherein the additional virtual GPU is implemented using the additional physical GPU resource selected from the pool and accessible to the virtual compute instance over the network, and wherein output of the additional virtual GPU associated with the execution of the additional application is generated concurrently with output of the virtual GPU associated with the execution of the application. 13. The method as recited in claim 5 , further comprising: selecting an additional physical GPU resource from the pool of available physical GPU resources based at least in part on the one or more GPU requirements; and attaching an additional virtual GPU to the virtual compute instance during the execution of the application, wherein the additional virtual GPU is implemented using the additional physical GPU resource selected from the pool and accessible to the virtual compute instance over the network, and wherein output of the additional virtual GPU associated with the execution of the application is generated concurrently with output of the virtual GPU associated with the execution of the application. 14. A computer-readable storage medium storing program instructions computer-executable to perform: determining one or more graphics processing unit (GPU) requirements associated with execution of an application on a virtual compute instance, wherein the virtual compute instance is implemented using a server in a multitenant provider network and comprises a GPU interface configured to access a GPU resource over a network using a remoting protocol comprising encapsulated graphics application programming interface (API) commands; selecting a physical GPU resource from a pool of available physical GPU resources in the multi-tenant provider network based at least in part on the one or m

Assignees

Inventors

Classifications

  • Pool · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57) · CPC title

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · 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 US10255652B2 cover?
Methods, systems, and computer-readable media for dynamic and application-specific virtualized graphics processing are disclosed. Execution of an application is initiated on a virtual compute instance. The virtual compute instance is implemented using a server. One or more graphics processing unit (GPU) requirements associated with the execution of the application are determined. A physical GPU…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 09 2019 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).