Throughput throttling for distributed file storage services with varying connection characteristics
First Claim
Patent Images
1. A system, comprising:
- a plurality of access nodes (ANs) of a distributed file storage service implemented at a provider network, including a first AN designated as a member of a first AN group collectively responsible for processing received client requests directed to at least a first file system instance (FSI); and
one or more throttling managers implemented at one or more computing devices, including a first throttling manager associated with at least the first FSI;
wherein the first throttling manager is configured to perform a plurality of throttling parameter determination iterations (TPDIs), wherein a particular TPDI of the plurality of TPDIs comprises transmitting, to the first AN, a throttling parameter set including a maximum throughput allotment (MTA) for the first FSI, wherein the MTA is determined based at least in part on one or more of (a) an estimated size of the first FSI or (b) a population of a token collection associated with the first FSI, wherein the tokens of the token collection correspond to respective amounts of throughput; and
wherein the first AN is configured to;
classify, based at least in part on respective sets of throughput metrics, individual ones of a plurality of persistent connections established to enable clients of the file storage service to access the first FSI into (a) a sustainable-demand (SD) category or (b) a high-demand (HD) category;
assign, to one or more SD persistent connections, a portion of the MTA enabling the respective SD persistent connections to sustain respective throughput rates for at least a particular time corresponding to the particular TPDI;
assign, to one or more HD persistent connections for at least the particular time, a portion of a remainder throughput allotment, wherein the remainder throughput allotment is obtained by subtracting, from the MTA, at least a sum of throughputs assigned to the one or more SD persistent connections; and
enforce throughput assignments of the plurality of persistent connections.
1 Assignment
0 Petitions
Accused Products
Abstract
During a throttling parameter determination, a throttling manager of a file storage service transmits a maximum throughput allotment to an access node of the service. The allotment is based at least in part on the estimated size of a file system instance. The access node assigns respective portions of the allotment to individual ones of a set of persistent client connections classified as sustainable-demand connections, such that the connections are able to sustain their throughputs for a time period. The remainder of the allotment is distributed among one or more high-demand persistent client connections. The access node enforces the throughput limits assigned to the connections.
-
Citations
22 Claims
-
1. A system, comprising:
-
a plurality of access nodes (ANs) of a distributed file storage service implemented at a provider network, including a first AN designated as a member of a first AN group collectively responsible for processing received client requests directed to at least a first file system instance (FSI); and one or more throttling managers implemented at one or more computing devices, including a first throttling manager associated with at least the first FSI; wherein the first throttling manager is configured to perform a plurality of throttling parameter determination iterations (TPDIs), wherein a particular TPDI of the plurality of TPDIs comprises transmitting, to the first AN, a throttling parameter set including a maximum throughput allotment (MTA) for the first FSI, wherein the MTA is determined based at least in part on one or more of (a) an estimated size of the first FSI or (b) a population of a token collection associated with the first FSI, wherein the tokens of the token collection correspond to respective amounts of throughput; and wherein the first AN is configured to; classify, based at least in part on respective sets of throughput metrics, individual ones of a plurality of persistent connections established to enable clients of the file storage service to access the first FSI into (a) a sustainable-demand (SD) category or (b) a high-demand (HD) category; assign, to one or more SD persistent connections, a portion of the MTA enabling the respective SD persistent connections to sustain respective throughput rates for at least a particular time corresponding to the particular TPDI; assign, to one or more HD persistent connections for at least the particular time, a portion of a remainder throughput allotment, wherein the remainder throughput allotment is obtained by subtracting, from the MTA, at least a sum of throughputs assigned to the one or more SD persistent connections; and enforce throughput assignments of the plurality of persistent connections. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
-
performing, by a first throttling manager associated with a first file system instance of a distributed file storage service, throttling parameter determinations, wherein a particular throttling parameter determination comprises transmitting, to a first access node of a plurality of access nodes of the service associated with the first file system instance, a throttling parameter set including a maximum throughput allotment for the first file system instance, wherein the maximum throughput allotment is determined based at least in part on an updated estimate of a size of the first file system instance, wherein the updated estimate is obtained for the particular throttling parameter determination; assigning, by the first access node, to one or more sustainable-demand connections of a plurality of persistent connections established for client access to the first file system instance, a respective portion of the maximum throughput allotment, enabling the respective sustainable-demand connections to sustain respective throughput rates for at least a particular time; assigning, by the first access node, to one or more high-demand connections of the plurality of persistent connections, for at least the particular time, a portion of a remainder throughput allotment, wherein the reminder throughput allotment is obtained by subtracting, from the maximum throughput allotment, at least a sum of throughputs associated with the one or more sustainable-demand connections; and enforcing throughput assignments of the plurality of persistent connections. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement a first access node of a file storage service, wherein the first access node is a member of a first access node group comprising more than one access nodes collectively responsible for processing received client requests directed to at least a first file system instance, wherein the first access node is configured to perform a plurality of throughput throttling determinations, wherein a particular throughput throttling determination of the plurality of throughput throttling determinations comprises:
-
classifying, based at least in part on respective sets of throughput metrics, individual ones of a plurality of persistent connections associated with the first file system instance into (a) a sustainable-demand category, or (b) a high-demand category; receiving an indication of a maximum throughput allocation associated with the first file system instance, wherein the maximum throughput allotment is based at least in part on an estimated size of the first file system instance; assigning, to one or more sustainable-demand persistent connections, a portion of the maximum throughput allotment, to enable the respective sustainable-demand persistent connections to sustain respective throughput rates for at least a particular time; assigning, to one or more high-demand persistent connections, respective portions of a remainder throughput allotment, wherein the remainder throughput allotment is obtained by subtracting, from the maximum throughput allotment, at least a sum of throughputs assigned to the one or more sustainable-demand persistent connections; and enforcing throughput assignments of the plurality of persistent connections. - View Dependent Claims (17, 18)
-
-
19. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement a first throttling manager of a file storage service, wherein the first throttling manager is configured to perform a plurality of throttling parameter determinations, wherein a particular throttling parameter determination of the plurality of throttling parameter determinations comprises:
-
receiving respective throughput updates from one or more access nodes of the file storage service, wherein a particular throughput update comprises an indication of a measured throughput of at least one persistent connection established to access a first file system instance at a first access node of the one or more access nodes; computing a maximum throughput allotment for the first file system instance based at least in part on one or more of (a) an estimate of a size of the first file system instance or (b) a population of a token collection associated with the first file system instance; and transmitting a first throttling parameter set to at least one access node of the one or more access nodes. - View Dependent Claims (20, 21, 22)
-
Specification