/Patent Tracker
NvidiaGranted patentChips & hardwareInterest 3/10

Nvidia patents method to fix uneven time sharing for virtual graphics cards

This patent describes a method for managing how a single physical graphics card is shared among multiple virtual machines. It measures the extra time each virtual machine takes to switch in and out, and if one machine suffers significantly more delay than others, the system gives it an extra time slot immediately to make up for the difference.

Why it mattersThis improves the fairness and performance of cloud servers that share graphics hardware among multiple users or applications.

In the filing’s own words

A plurality of virtual processing units associated with a physical processing unit is identified. Each of the plurality of virtual processing units is associated with a virtual machine of a plurality of virtual machines that run on respective virtual processing units in round-robin order using respective assigned execution time periods. A first overhead time value associated with running of the first virtual machine on a first virtual processing unit of the plurality of virtual processing units is obtained for a first virtual machine of the plurality of virtual machines. A second overhead time value associated with running of the second virtual machine on a second virtual processing unit of the plurality of virtual processing units is obtained for a second virtual machine of the plurality of virtual machines. The first overhead time value associated with the running of the first virtual machine and the second overhead time value associated with running of the second virtual machine are compared. Whether the second overhead time value associated with the running of the second virtual machine satisfies a compensation threshold criterion is determined based on the comparing. Responsive to determining that the second overhead time value associated with the running of the second virtual machine satisfies the compensation threshold criterion, causing the running of the second virtual machine to be repeated prior to running any other of the plurality of virtual machines.

What exactly they claim (claim 1)

1. A method comprising: identifying, by at least one processing device, a plurality of virtual processing units associated with a physical processing unit, wherein each of the plurality of virtual processing units is associated with a virtual machine of a plurality of virtual machines, each of the plurality of virtual machines being allocated predefined discrete time slices by a hypervisor to execute computing tasks using respective virtual processing units in round-robin order during respective allocated predefined discrete time slices; obtaining, by the at least one processing device and for a first virtual machine of the plurality of virtual machines, a first overhead time value associated with the first virtual machine during a first predefined discrete time slice using a first virtual processing unit of the plurality of virtual processing units; obtaining, by the at least one processing device and for a second virtual machine of the plurality of virtual machines, a second overhead time value associated with the second virtual machine during a second predefined discrete time slice using a second virtual processing unit of the plurality of virtual processing units; determining, by the at least one processing device and based on the first overhead time value associated with the first virtual machine, whether the second overhead time value associated with the second virtual machine satisfies a compensation threshold criterion, wherein the compensation threshold criterion is satisfied if a difference between the second overhead time value associated with the second virtual machine and the first overhead time value associated with the first virtual machine is greater than a respective assigned execution time period of the second virtual machine; and responsive to determining that the second overhead time value associated with the second virtual machine satisfies the compensation threshold criterion, causing, by the at least one processing device, the hypervisor to allocate a third predefined discrete time slice to the second virtual machine after the second predefined discrete time slice based on the difference between the second overhead time value associated with the second virtual machine and the first overhead time value associated with the first virtual machine, wherein causing the hypervisor to allocate the third predefined discrete time slice to the second virtual machine comprises executing at least one additional computing task of the second virtual machine immediately following the second predefined discrete time slice and prior to allocating a predefined discrete time slice to execute any other computing task corresponding to any other virtual machine of the plurality of virtual machines.

Facts

Company
Nvidia (NVIDIA Corporation)
Official title
Virtual graphics processing unit scheduling based preemption overhead
Patent number
US12737208B2
Application number
17683187
Filed
Feb 28, 2022
Granted
Sep 15, 2026
Inventors
2
Claims
18

Classified under

G06F 9/45558 Physics & computingG06F 9/3877 Physics & computingG06F 9/4881 Physics & computingG06F 2009/4557 Physics & computingG06F 2009/45583 Physics & computing

More from Nvidia in Chips & hardware

Summaries are simplified from the filing’s own abstract and first claim. A patent filing is not a product announcement.
Patent data and drawings: U.S. Patent and Trademark Office (USPTO). Nebula is not affiliated with or endorsed by the USPTO.