Equitable distribution of excess shared-resource throughput capacity
First Claim
1. A system, comprising:
- one or more computing devices comprising one or more hardware processors and memory and configured to;
configure a first work target and a second work target to utilize a shared resource in response to work requests accepted for execution, wherein the first work target has a first provisioned throughput rate, the second work target has a second provisioned throughput rate, and the shared resource has a throughput limit;
configure the first work target and the second work target with respective token bucket sets for admission control of work requests, wherein each token bucket set comprises one or more buckets whose token population is used to determine whether to accept a work request for execution;
determine (a) an arrival rate ratio indicative of relative rates at which work requests are received at the first and second work targets during a first time interval, (b) a provisioned throughput ratio based at least in part on the first and second provisioned throughput rates, and (c) a combined number of tokens to be distributed among the bucket sets of the first and second work targets for admission control during a second time interval, wherein the combined number is based at least in part on the throughput limit of the shared resource;
add a particular number of tokens, no greater than the combined number, to a particular bucket of the first work target based at least in part on the arrival rate ratio and the provisioned throughput ratio; and
accept a particular work request directed to the first work target for execution during the second time interval based at least in part on the token population of the particular bucket of the first work target.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for equitable distribution of excess shared-resource throughput capacity are disclosed. A first and a second work target are configured to access a shared resource to implement accepted work requests. Admission control is managed at the work targets using respective token buckets. A first metric indicative of the work request arrival rates at the work targets during a time interval, and a second metric associated with the provisioned capacities of the work targets are determined. A number of tokens determined based on a throughput limit of the shared resource is distributed among the work targets to be used for admission control during a subsequent time interval. The number of tokens distributed to each work target is based on the first metric and/or the second metric.
36 Citations
20 Claims
-
1. A system, comprising:
one or more computing devices comprising one or more hardware processors and memory and configured to; configure a first work target and a second work target to utilize a shared resource in response to work requests accepted for execution, wherein the first work target has a first provisioned throughput rate, the second work target has a second provisioned throughput rate, and the shared resource has a throughput limit; configure the first work target and the second work target with respective token bucket sets for admission control of work requests, wherein each token bucket set comprises one or more buckets whose token population is used to determine whether to accept a work request for execution; determine (a) an arrival rate ratio indicative of relative rates at which work requests are received at the first and second work targets during a first time interval, (b) a provisioned throughput ratio based at least in part on the first and second provisioned throughput rates, and (c) a combined number of tokens to be distributed among the bucket sets of the first and second work targets for admission control during a second time interval, wherein the combined number is based at least in part on the throughput limit of the shared resource; add a particular number of tokens, no greater than the combined number, to a particular bucket of the first work target based at least in part on the arrival rate ratio and the provisioned throughput ratio; and accept a particular work request directed to the first work target for execution during the second time interval based at least in part on the token population of the particular bucket of the first work target. - View Dependent Claims (2, 3, 4, 5)
-
6. A method, comprising:
performing, by one or more computing devices; configuring a first work target and a second work target to utilize a shared resource in response to work requests accepted for execution, wherein the first work target has a first provisioned throughput rate, and the second work target has a second provisioned throughput rate; configuring the first work target and the second work target with respective token bucket sets for admission control of work requests, wherein each token bucket set comprises one or more buckets whose token population is used to determine whether to accept a work request for execution; determining (a) a first metric indicative of work request arrival rates at the first and second work targets during a first time interval, and (b) a second metric associated with the first and second provisioned throughput rates; adding a particular number of tokens to a particular bucket of the first work target based at least in part on the first metric, the second metric, and a throughput limit of the shared resource; and accepting a particular work request directed to the first work target for execution during a second time interval based at least in part on the token population of the particular bucket of the first work target. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
15. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors:
-
configure a first work target and a second work target to utilize a shared resource in response to work requests accepted for execution, wherein the first work target has a first provisioned throughput rate, and the second work target has a second provisioned throughput rate; configure the first work target and the second work target with respective token bucket sets for admission control of work requests, wherein each token bucket set comprises one or more buckets whose token population is used to determine whether to accept a work request for execution; determine (a) a first metric indicative of work request arrival rates at the first and second work targets during a first time interval, and (b) a second metric associated with the first and second provisioned throughput rates; add a particular number of tokens to a particular bucket of the first work target based at least in part on the first metric, the second metric, and a throughput limit of the shared resource; and accept a particular work request directed to the first work target for execution during a second time interval based at least in part on the token population of the particular bucket of the first work target. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification