IP Library Granted Patent US 11,036,555
Granted Patent B2
US 11,036,555 · App. 16/045,062 · Granted Jun 15, 2021

Virtual processor allocation with execution guarantee

Inventors: Xunjia Lu (Los Altos, CA); Haoqiang Zheng (Cupertino, CA); Bi Wu (Santa Clara, CA)
Assignee: VMware, Inc.
G06F9/5038G06F9/45558G06F9/4881H04L41/0896H04L41/5003
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,036,555
App. No.
16/045,062
Granted
Jun 15, 2021
Kind
B2
Abstract

The disclosure provides a method of performing a workload on a virtual machine (VM) executing on a host comprising one or more physical central processing units (pCPUs) is provided. The method further includes setting a quality of service (QoS) metric associated with the VM, the QoS metric indicating a time period. The method further includes setting a bandwidth metric associated with the VM, the bandwidth metric indicating a percentage. The method further includes allocating by a central processing unit (CPU) scheduler to a virtual CPU (vCPU) of the VM one of the one or more pCPUs periodically every time period, wherein for every time period the one of the one or more pCPUs is allocated to the vCPU for a duration that is the percentage of the time period based on the QoS metric and the bandwidth metric. The method further includes executing the workload on the virtual machine with the vCPU according to the allocation of the one or more pCPUs.

Claims (34)

1. A method of performing a workload on a virtual machine (VM) executing on a host comprising one or more physical central processing units (pCPUs), the method comprising:

setting a quality of service (QoS) metric associated with the VM, the QoS metric indicating a time period for executing a virtual CPU (vCPU) of the VM on the one or more pCPUs;

setting a bandwidth metric associated with the VM, the bandwidth metric indicating a percentage of pCPU resources of the one or more pCPUs for executing the vCPU of the VM;

allocating by a central processing unit (CPU) scheduler to the vCPU of the VM one of the one or more pCPUs periodically every time period, wherein for every time period the one of the one or more pCPUs is allocated to the vCPU for a duration that is the percentage of the time period based on the QoS metric and the bandwidth metric; and

executing the workload on the virtual machine with the vCPU according to the allocation of the one or more pCPUs.

2. The method of claim 1 , wherein the VM comprises a plurality of vCPUs, and wherein the QoS metric and the bandwidth metric are associated with each of the plurality of vCPUs.

3. The method of claim 1 , wherein the VM comprises a plurality of vCPUs, and wherein the QoS metric and the bandwidth metric are associated with only one vCPU.

4. The method of claim 1 , wherein the one or more pCPUs comprise one or more CPU cores of one or more CPUs.

5. The method of claim 1 , wherein the vCPU is allocated a same one of the one or more pCPUs for different periodic time periods.

6. The method of claim 1 , wherein the vCPU is allocated a different one of the one or more pCPUs for different periodic time periods.

7. The method of claim 1 , wherein for a first time period of the every time period, the one of the one or more pCPUs is allocated to the vCPU for a continuous duration.

8. The method of claim 1 , wherein for a first time period of the every time period, the one of the one or more pCPUs is allocated to the vCPU for a discontinuous duration.

9. A non-transitory computer readable medium comprising instructions to be executed in a processor of a computer system, and the instructions when executed in the processor cause the computer system to carry out a method of performing a workload on a virtual machine (VM) executing on a host comprising one or more physical central processing units (pCPUs), the method comprising:

setting a quality of service (QoS) metric associated with the VM, the QoS metric indicating a time period for executing a virtual CPU (vCPU) of the VM on the one or more pCPUs;

setting a bandwidth metric associated with the VM, the bandwidth metric indicating a percentage of pCPU resources of the one or more pCPUs for executing the vCPU of the VM;

allocating by a central processing unit (CPU) scheduler to the vCPU of the VM one of the one or more pCPUs periodically every time period, wherein for every time period the one of the one or more pCPUs is allocated to the vCPU for a duration that is the percentage of the time period based on the QoS metric and the bandwidth metric; and

executing the workload on the virtual machine with the vCPU according to the allocation of the one or more pCPUs.

10. The non-transitory computer readable medium of claim 9 , wherein the VM comprises a plurality of vCPUs, and wherein the QoS metric and the bandwidth metric are associated with each of the plurality of vCPUs.

11. The non-transitory computer readable medium of claim 9 , wherein the VM comprises a plurality of vCPUs, and wherein the QoS metric and the bandwidth metric are associated with only one vCPU.

12. The non-transitory computer readable medium of claim 9 , wherein the one or more pCPUs comprise one or more CPU cores of one or more CPUs.

13. The non-transitory computer readable medium of claim 9 , wherein the vCPU is allocated a same one of the one or more pCPUs for different periodic time periods.

14. The non-transitory computer readable medium of claim 9 , wherein the vCPU is allocated a different one of the one or more pCPUs for different periodic time periods.

15. The non-transitory computer readable medium of claim 9 , wherein for a first time period of the every time period, the one of the one or more pCPUs is allocated to the vCPU for a continuous duration.

16. The non-transitory computer readable medium of claim 9 , wherein for a first time period of the every time period, the one of the one or more pCPUs is allocated to the vCPU for a discontinuous duration.

17. A computer system comprising:

a memory; and

one or more physical central processing units (pCPUs), the memory and the one or more pCPUs configured to:

set a quality of service (QoS) metric associated with a virtual machine (VM), the QoS metric indicating a time period for executing a virtual CPU (vCPU) of the VM on the one or more pCPUs;

set a bandwidth metric associated with the VM, the bandwidth metric indicating a percentage of pCPU resources of the one or more pCPUs for executing the vCPU of the VM;

allocate by a central processing unit (CPU) scheduler to the vCPU of the VM one of the one or more pCPUs periodically every time period, wherein for every time period the one of the one or more pCPUs is allocated to the vCPU for a duration that is the percentage of the time period based on the QoS metric and the bandwidth metric; and

execute the workload on the virtual machine with the vCPU according to the allocation of the one or more pCPUs.

18. The computing system of claim 17 , wherein the VM comprises a plurality of vCPUs, and wherein the QoS metric and the bandwidth metric are associated with each of the plurality of vCPUs.

19. The computing system of claim 17 , wherein the VM comprises a plurality of vCPUs, and wherein the QoS metric and the bandwidth metric are associated with only one vCPU.

20. The computing system of claim 17 , wherein the one or more pCPUs comprise one or more CPU cores of one or more CPUs.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: LU, XUNJIA; ZHENG, HAOQIANG; WU, BI
To: VMWARE, INC.
Reel/Frame 046639/0937 →