Balancing throughput and response time quality of service
A method for execution by one or more computing devices includes scheduling processing of one or more data access requests of a plurality of data access requests to produce an execution schedule, where the scheduling processing is in accordance with an access performance level for previous data access requests and in accordance with a desired access performance level. The method further includes executing the one or more data access requests in accordance with the execution schedule. The method further includes determining an updated access performance level compares unfavorably to the desired access performance level. The method further includes implementing an alternate throughput scheme for subsequent data access requests of the plurality of data access requests.
1 . A method for execution by one or more computing devices, the method comprising:
scheduling processing of one or more data access requests of a plurality of data access requests to produce an execution schedule, wherein the scheduling processing is in accordance with an access performance level for previous data access requests and in accordance with a desired access performance level;
executing the one or more data access requests in accordance with the execution schedule;
determining an updated access performance level compares unfavorably to the desired access performance level; and
implementing an alternate throughput scheme for subsequent data access requests of the plurality of data access requests.
2 . The method of claim 1 , wherein the access performance level comprises a rolling average response time between receiving a previous data access request of the previous data access requests and responding with a corresponding previous data access response.
3 . The method of claim 1 , wherein the access performance level comprises a standard deviation in time between a first subset of the previous data access requests and a corresponding subset of previous corresponding data access responses.
4 . The method of claim 3 , wherein the updated performance level comprises the standard deviation in time between a second subset of the previous data access requests and a corresponding second subset of previous data access responses, wherein the second subset includes the first subset of the previous data access requests and the data access request.
5 . The method of claim 1 , wherein determining the access performance level comprises:
initiating a query; and
receiving and query response.
6 . The method of claim 1 , wherein determining the access performance level comprises interpreting a historical record.
7 . The method of claim 1 , wherein determining the access performance level comprises interpreting performing a test.
8 . The method of claim 1 , wherein the alternate throughput scheme comprises:
rejecting one or more of the subsequent data access requests.
9 . The method of claim 1 , wherein the alternate throughput scheme comprises:
redirecting one or more of the subsequent data access requests.
10 . The method of claim 1 , wherein the alternate throughput scheme comprises:
delaying sending a data access response to the requesting entity, wherein the data access response is regarding the data access request.
11 . The method of claim 1 , wherein the alternate throughput scheme comprises:
modifying the execution schedule to include scheduling processing of additional data access requests within a particular time frame associated with the execution schedule.
12 . The method of claim 1 , wherein the alternate throughput scheme comprises:
modifying the execution schedule to include scheduling processing of fewer data access requests within a particular time frame associated with the execution schedule.
13 . The method of claim 1 , wherein the determining the updated access performance level compares unfavorably to the desired access performance level comprises:
determining the updated performance level is less than the desired access performance level by a performance difference threshold level.
14 . The method of claim 1 , wherein the determining the updated access performance level compares unfavorably to the desired access performance level comprises:
determining the updated performance level is greater than the desired access performance level by a performance difference threshold level.
15 . The method of claim 1 , wherein the implementing comprises:
determining whether to increase or decrease throughput of data access requests of the plurality of data access requests being processed into data access responses.
16 . The method of claim 1 further comprises:
determining a data storage type associated with a first data access request of the plurality of data access requests; and
when the data storage type is not a first type, comparing the updated access performance level to the desired access performance level.
17 . The method of claim 16 , wherein a first type comprises archival storage.
18 . The method of claim 16 , wherein the first type comprises backup storage.
19 . A non-transitory computer readable storage medium comprising:
at least one memory section for storing operational instructions that, when executed by one or more computing devices, cause the one or more computing devices to:
schedule processing of one or more data access requests of a plurality of data access requests to produce an execution schedule, wherein the scheduling processing is in accordance with an access performance level for previous data access requests and in accordance with a desired access performance level;
execute the one or more data access requests in accordance with the execution schedule;
determine an updated access performance level compares unfavorably to the desired access performance level; and
implement an alternate throughput scheme for subsequent data access requests of the plurality of data access requests.
20 . The non-transitory computer readable storage medium of claim 19 , wherein the at least one memory section stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to:
determine a data storage type associated with a first data access request of the plurality of data access requests; and
when the data storage type is not a first type, compare the updated access performance level to the desired access performance level.