Rolling resource credits for scheduling of virtual computer resources
First Claim
1. A system, comprising:
- a compute node, comprising at least one respective processor and a memory, that implements a virtualization host;
the virtualization host comprising executable instructions, configured to;
receive a work request for one or more virtual central processing units (vCPUs) submitted by a virtual compute instance as part of performing an application for a client that reserved the virtual compute instance;
automatically add a same number of resource credits, at a resource credit accumulation rate set for the vCPUs, to a current resource credit balance for respective consecutive time periods to calculate the current resource credit balance for the virtual compute instance respective to the vCPUs, wherein;
the current resource credit balance comprises a set of current resource credits that, when used, increase processing time allocated for a time period in excess of a baseline amount of processing time provided by a baseline utilization guarantee; and
at least one current resource credit of the current resource credit balance was automatically added to the current resource credit balance from a particular time period prior to the current time period, wherein during the particular time period, the virtualization host had performed one or more prior work requests, submitted by the virtual compute instance as part of performing the application for the client, that utilized a prior amount of processing time not in excess of the baseline amount of processing time provided by the baseline utilization guarantee;
determine that a current amount of processing time to perform the work request, for the current time period, submitted by the virtual compute instance as part of performing the application for the client, is in excess of the baseline amount of processing time provided by the baseline utilization guarantee for the current time period, and responsive to the determination;
use the at least one current resource credit, automatically added for the particular time period prior to the current time period, from the current resource credit balance to increase allocation of processing time of the respective at least one processor for the current time period in excess of the baseline amount of processing time provided by the baseline utilization guarantee for the virtual compute instance;
generate one or more scheduling instructions that schedule the work request for performance utilizing the respective at least one processor of the compute node according to the use of the at least one resource credit;
perform the work request utilizing the respective at least one processor of the compute node according to the one or more scheduling instructions; and
update the current resource credit balance to deduct the at least one resource credit applied to perform the work request.
1 Assignment
0 Petitions
Accused Products
Abstract
A network-based virtual computing resource provider may offer virtual compute instances that implement rolling resource credits for scheduling virtual computing resources. Work requests for a virtual compute instance may be received at a virtualization manager. A resource credit balance may be determined for the virtual compute instance. The resource credit balance may accumulate resource credits in rolling fashion, carrying over unused credits from previous time periods. Resource credits may then be applied when generating scheduling instructions to provide to a physical resource to perform the work requests, such as a physical CPU in order to increase the utilization of the resource according to the number of credits applied. Applied resource credits may then be deducted from the credit balance.
49 Citations
20 Claims
-
1. A system, comprising:
-
a compute node, comprising at least one respective processor and a memory, that implements a virtualization host; the virtualization host comprising executable instructions, configured to; receive a work request for one or more virtual central processing units (vCPUs) submitted by a virtual compute instance as part of performing an application for a client that reserved the virtual compute instance; automatically add a same number of resource credits, at a resource credit accumulation rate set for the vCPUs, to a current resource credit balance for respective consecutive time periods to calculate the current resource credit balance for the virtual compute instance respective to the vCPUs, wherein; the current resource credit balance comprises a set of current resource credits that, when used, increase processing time allocated for a time period in excess of a baseline amount of processing time provided by a baseline utilization guarantee; and at least one current resource credit of the current resource credit balance was automatically added to the current resource credit balance from a particular time period prior to the current time period, wherein during the particular time period, the virtualization host had performed one or more prior work requests, submitted by the virtual compute instance as part of performing the application for the client, that utilized a prior amount of processing time not in excess of the baseline amount of processing time provided by the baseline utilization guarantee; determine that a current amount of processing time to perform the work request, for the current time period, submitted by the virtual compute instance as part of performing the application for the client, is in excess of the baseline amount of processing time provided by the baseline utilization guarantee for the current time period, and responsive to the determination; use the at least one current resource credit, automatically added for the particular time period prior to the current time period, from the current resource credit balance to increase allocation of processing time of the respective at least one processor for the current time period in excess of the baseline amount of processing time provided by the baseline utilization guarantee for the virtual compute instance; generate one or more scheduling instructions that schedule the work request for performance utilizing the respective at least one processor of the compute node according to the use of the at least one resource credit; perform the work request utilizing the respective at least one processor of the compute node according to the one or more scheduling instructions; and update the current resource credit balance to deduct the at least one resource credit applied to perform the work request. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
performing, by one or more computing systems; receiving, at a virtualization manager for a virtualization host, a work request utilizing one or more virtual computer resources submitted by a virtual compute instance hosted as part of performing an application for a client that reserved the virtual compute instance at the virtualization host; automatically adding a same number of resource credits, at a resource credit accumulation rate set for the one or more virtual computer resources, to a current resource credit balance for the virtual compute instance respective to the one or more virtual computer resources, wherein; the current resource credit balance comprises a set of current resource credits that, when used, increase processing time of the one or more virtual computer resources for a time period in excess of a baseline amount of processing time provided by a baseline utilization guarantee; and at least one current resource credit of the current resource credit balance was automatically added to the current resource credit balance from a particular time period prior to the current time period, wherein during the particular time period, the virtualization host had performed one or more prior work requests, submitted by the virtual compute instance as part of performing the application for the client, that utilized a prior amount of processing time not in excess of the baseline amount of processing time provided by the baseline utilization guarantee; determining that a current amount of processing time to perform the work request for the current time period, submitted by the virtual compute instance as part of performing the application for the client, is in excess of the baseline amount of processing time provided by the baseline utilization guarantee for the current time period, and responsive to the determination; using the at least one current resource credit, automatically added for the particular time period prior to the current time period, from the current resource credit balance to increase processing time of the respective one or more virtual computer resources for the current time period in excess of the baseline amount of processing time provided by the baseline utilization guarantee for the virtual compute instance; generating one or more scheduling instructions that schedule the work request for performance at one or more physical computer resources implemented as part of the virtualization host according to the use of the at least one resource credit; performing the work request utilizing the respective at least one processor of the compute node according to the one or more scheduling instructions; and updating the current resource credit balance for the one virtual compute instance to deduct the at least one resource credit applied to perform the work request. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
-
receiving, at a virtualization manager for a virtualization host, a work request for one or more virtual computer resources submitted by a virtual compute instance as part of performing an application for a client that reserved the virtual compute instance for the client hosted at the virtualization host; automatically adding a same number of resource credits, at a resource credit accumulation rate set for the one or more virtual computer resources, to a current resource credit balance for respective consecutive time periods to calculate the current resource credit balance for the virtual compute instance respective to the one or more virtual computer resources, wherein; the current resource credit balance comprises a set of current resource credits that, when used, increase processing time of the one or more virtual computer resources for a time period in excess of a baseline amount of processing time provided by a baseline utilization guarantee; and at least one current resource credit of the current resource credit balance was automatically added to the current resource credit balance from a particular time period prior to the current time period, wherein duns the particular time period, the virtualization host had performed one or more prior work requests, submitted by the virtual compute instance as part of performing the application for the client, that utilized a prior amount of processing time not in excess of the baseline amount of processing time provided by the baseline utilization guarantee; determining that a current amount of processing time to perform the work request for the current time period, submitted by the virtual compute instance as part of performing the application for the client, is in excess of the baseline amount of processing time provided by the baseline utilization guarantee for the current time period, and responsive to the determination; using the at least one current resource credit, automatically added for the particular time period prior to the current time period, from the current resource credit balance to increase the current amount of processing time of the respective one or more virtual computer resources for the current time period in excess of the amount of processing time provided by the baseline utilization guarantee for the virtual compute instance; generating one or more scheduling instructions that schedule the work request for performance utilizing at one or more physical computer resources implemented as part of the virtualization host, according to the use of the at least one resource credits; performing the work request utilizing the one or more physical computer resources according to the one or more scheduling instructions; and updating the current resource credit balance for the one virtual compute instance to deduct the at least one resource credit applied to perform the work request. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification