Device and method for performing scheduling for virtualized graphics processing units

US2016189332A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016189332-A1
Application numberUS-201514974476-A
CountryUS
Kind codeA1
Filing dateDec 18, 2015
Priority dateDec 24, 2014
Publication dateJun 30, 2016
Grant date

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.

An example device including virtualized graphics processing units (vGPUs) is configured to respectively receive commands from a plurality of operating systems (OSs). A vGPU scheduler is configured to schedule an order and times for processing of the commands by a GPU. The vGPU scheduler can, for example, schedule the order and times such that a command from a foreground OS (FG OS) among the plurality of OSs is scheduled to be processed first.

First claim

Opening claim text (preview).

What is claimed is: 1 . A device including a physical graphics processing unit (GPU), the device comprising: a plurality of virtual GPUs (vGPUs), realized from the physical GPU, configured to respectively receive commands from a plurality of operating systems (OSs); and a vGPU scheduler configured to schedule an order and times for processing of the received commands by the GPU, wherein the vGPU scheduler is further configured to schedule the order and times such that a command from a foreground OS (FG OS) among the plurality of OSs is scheduled to be processed first. 2 . The device of claim 1 , further comprising a vGPU monitor configured to determine whether an amount of data of a command received by a first vGPU among the plurality of vGPUs is equal to or greater than a threshold when the first vGPU receives the command from a background OS (BG OS) among the plurality of OSs. 3 . The device of claim 2 , wherein, when the vGPU monitor determines that the amount of the data of the command received by the first vGPU is equal to or greater than the threshold, the vGPU scheduler is further configured to schedule the order and times such that the command received by the first vGPU is scheduled to be processed by the GPU. 4 . The device of claim 1 , further comprising a timer monitor configured to determine whether a time for which a command received by a first vGPU among the plurality of vGPUs is not processed is greater than a preset time when the first vGPU receives the command from a background OS (BG OS) among the plurality of OSs. 5 . The device of claim 4 , wherein, when the timer monitor determines that the time for which the command received by the first vGPU is not processed is greater than the preset time, the first vGPU is further configured to inform the BG OS that a predetermined amount of data of the command is processed. 6 . The device of claim 1 , further comprising a stop command controller configured to control the vGPU scheduler to exclude commands from the plurality of OSs except for commands from a host OS from an object to be scheduled when the FG OS is the host OS. 7 . The device of claim 6 , further comprising an access-mode changing controller configured to change an object, which is to receive a command from the host OS, from a first vGPU among the plurality of vGPUs to the GPU when the first vGPU receives a command from the host OS. 8 . The device of claim 1 , further comprising: a controller configured to control display on a screen of a menu for selecting a scheduling mode in which the order and times are to be scheduled; and a user input device configured to receive a user input for selecting the scheduling mode through the displayed menu. 9 . The device of claim 8 , wherein the vGPU scheduler is further configured to schedule the order and times based on the scheduling mode selected according to the user input. 10 . The device of claim 1 , further comprising an address converter, wherein when a first OS among the plurality of OSs transmits a command to a first address of a memory included in a first vGPU among the plurality of vGPUs, the address converter is configured to convert the first address to a second address for accessing a memory of the GPU so as to control the command to be processed at the second address of the memory of the GPU. 11 . A method of performing scheduling for a plurality of virtualized graphics processing units (vGPUs) realized from a physical GPU, the method comprising: receiving, by the plurality of vGPUs, commands from a plurality of operating systems (OSs); and scheduling an order in which and times for which the commands are to be processed by a GPU, wherein the scheduling of the order and times comprises scheduling the order and times such that a command from a foreground OS (FG OS) among the plurality of OS is scheduled to be processed first. 12 . The method of claim 11 , wherein the scheduling of the order and times comprises: when a first vGPU among the plurality of vGPUs receives a command from a background OS (BG OS) among the plurality of OSs, determining whether an amount of data of the command received by the first vGPU is equal to or greater than a threshold; and when it is determined that the amount of the data of the command received by the first vGPU is equal to or greater than the threshold, the order and times are scheduled such that the command received by the first vGPU is scheduled to be processed by the GPU. 13 . The method of claim 11 , wherein the scheduling of the order and times comprises: when a first vGPU among the plurality of vGPUs receives a command from a background OS (BG OS) among the plurality of OSs, determining whether a time for which the command received by the first vGPU is not processed is greater than a preset time; and when it is determined that the time for which the command received by the first vGPU is not processed is greater than the preset time, the first vGPU informs the BG OS that a predetermined amount of the data of the command is processed. 14 . The method of claim 11 , wherein, when the FG OS is a host OS, the scheduling of the order and times comprises controlling to exclude the commands from the plurality of OS except for the host OS from an object to be scheduled. 15 . The method of claim 14 , wherein, when a first vGPU among the plurality of vGPUs receives a command from the host OS, the scheduling of the order and times comprises further comprises changing an object which is to receive the command from the host OS from the first vGPU to the GPU. 16 . The method of claim 11 , further comprising: displaying, on a screen, a menu for selecting a scheduling mode in which the order and times are scheduled; and receiving a user input for selecting the scheduling mode through the menu displayed on the screen. 17 . The method of claim 16 , further comprising scheduling the order and times according to the scheduling mode selected according to the user input. 18 . The method of claim 11 , wherein, when a first OS among the plurality of OSs transmits a command to a first address of a memory included in a first vGPU among the plurality of vGPUs, the first address is converted into a second address for accessing a memory of the GPU so as to process the command at the second address of the memory of the GPU. 19 . A non-transitory computer-readable recording medium having recorded thereon a program for performing the method of claim 11 in a computer.

Assignees

Inventors

Classifications

  • Digital output to display device {; Cooperation and interconnection of the display device with other functional units} · CPC title

  • Split screen, i.e. subdividing the display area or the window area into separate subareas · CPC title

  • for inputting data by handwriting, e.g. gesture or text · CPC title

  • with multiple register sets · CPC title

  • Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · 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 US2016189332A1 cover?
An example device including virtualized graphics processing units (vGPUs) is configured to respectively receive commands from a plurality of operating systems (OSs). A vGPU scheduler is configured to schedule an order and times for processing of the commands by a GPU. The vGPU scheduler can, for example, schedule the order and times such that a command from a foreground OS (FG OS) among the plu…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
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 Thu Jun 30 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).