Input-output prioritization for database workload
First Claim
1. A system for prioritizing capacity consumption of a database management system, the system comprising:
- one or more computing nodes configured to operate the database management system; and
one or more memories having stored thereon computer readable instructions that, upon execution, cause the system at least to;
receive a request to perform an operation on the database management system, the request comprising information indicative of a request class, the operation to be performed on behalf of a customer;
select a first token bucket from one or more data structures comprising a plurality of token buckets, the selection based at least in part on the request class, the first token bucket having an associated first capacity indicator, the first token bucket associated with a second token bucket of the plurality of token buckets;
determine that the first capacity indicator is indicative of a capacity to perform the operation on behalf of the customer;
perform the operation;
update the first capacity indicator based at least in part on capacity utilized by performing the operation; and
update a second capacity indicator associated with the second token bucket, based at least in part on the capacity utilized by performing the operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A database management system may be operated by a third-party provider that hosts the system in a datacenter and provides access to the system to end users on behalf of various entities. Limits on total capacity consumption may be imposed, but may result in service outages when capacity consumption exceeds those limits. Requests to perform operations on the system may be classified. The request classifications may be associated with policies for admitting or rejecting the request. One or more token buckets representative of capacity available to the request to perform the operation may be used to determine to admit the request and updated based on the cost of performing the operation.
-
Citations
27 Claims
-
1. A system for prioritizing capacity consumption of a database management system, the system comprising:
-
one or more computing nodes configured to operate the database management system; and one or more memories having stored thereon computer readable instructions that, upon execution, cause the system at least to; receive a request to perform an operation on the database management system, the request comprising information indicative of a request class, the operation to be performed on behalf of a customer; select a first token bucket from one or more data structures comprising a plurality of token buckets, the selection based at least in part on the request class, the first token bucket having an associated first capacity indicator, the first token bucket associated with a second token bucket of the plurality of token buckets; determine that the first capacity indicator is indicative of a capacity to perform the operation on behalf of the customer; perform the operation; update the first capacity indicator based at least in part on capacity utilized by performing the operation; and update a second capacity indicator associated with the second token bucket, based at least in part on the capacity utilized by performing the operation. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method for prioritizing capacity consumption comprising:
-
receiving a request to perform an operation on one or more computing nodes, the request comprising information indicative of a request class, the operation to be performed on behalf of a customer; selecting, based at least in part on the request class, a first data structure from a plurality of data structures, wherein the first data structure comprises a first capacity indicator, the first data structure associated with a second data structure comprising a second capacity indicator; determining that the first capacity indicator is indicative of a capacity of the one or more computing nodes to perform the operation on behalf of the customer; performing the operation; and updating the first capacity indicator and the second capacity indicator based at least in part on capacity utilized performing the operation. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by a computing device, cause the computing device to at least:
-
receive a request to perform an operation on one or more computing nodes, the request comprising information indicative of a request class; select, based at least in part on the request class, a first data structure from a plurality of data structures, wherein the first data structure comprises a first capacity indicator and is associated with a second data structure comprising a second capacity indicator; determine that the first capacity indicator is indicative of sufficient capacity to admit the operation for processing; perform the operation; and update the first capacity indicator and the second capacity indicator based at least in part on capacity utilized to perform the operation. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A system for prioritizing capacity consumption, the system comprising:
-
one or more computing nodes; and one or more memories having stored thereon computer readable instructions that, upon execution by a computing device, cause the system at least to; receive information indicative of one or more requests classes; receive information indicative of a mapping between a first request class of the one or more request classes and a first capacity indicator, the first capacity indicator associated with a second capacity indicator; allocate a subset of total capacity to perform operations on one or more computing nodes to the first capacity indicator; perform an operation upon determining that the operation corresponds to the first request class and determining that the first capacity indicator is indicative of capacity available to perform the operation on the one or more computing nodes; and update the first capacity indicator and the second capacity indicator based at least in part on capacity utilized to perform the operation. - View Dependent Claims (24, 25, 26, 27)
-
Specification