METHODS, APPARATUS AND COMPUTER PROGRAMS FOR SCHEDULING STROAGE REQUESTS
First Claim
1. A method for scheduling storage access requests, said method comprising:
- determining, by reference to Service Level Agreements (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests; and
ordering the plurality of storage access requests in a schedule corresponding to the determined revenue-maximizing sequence, wherein said determining comprises evaluating a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests.
0 Assignments
0 Petitions
Accused Products
Abstract
Provided are methods, apparatus arid computer programs for scheduling storage input and/or output (I/O) requests. A method for scheduling storage access requests determines a request processing sequence calculated to maximize SLA-based revenues achievable from processing a number of requests. A storage controller includes a scheduler which implements a revenue-based scheduling function to determine a revenue-maximizing processing sequence, and then assigns storage access requests to locations in a queue corresponding to the determined sequence. In an on-line mode, the scheduler can adapt to additional received requests, evaluating the revenue function for the additional requests and modifying the schedule if required. The method may include analysing a request stream to predict requests that are likely to be received in the near future, and taking account of the predicted requests when determining a processing schedule.
-
Citations
22 Claims
-
1. A method for scheduling storage access requests, said method comprising:
-
determining, by reference to Service Level Agreements (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests; and
ordering the plurality of storage access requests in a schedule corresponding to the determined revenue-maximizing sequence, wherein said determining comprises evaluating a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A storage access controller comprising:
-
a scheduler adapted to determine, by reference to Service Level Agreements (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests and for ordering the plurality of storage access requests in a scheduled sequence corresponding to the determined revenue-maximizing sequence, wherein said scheduler is further adapted to evaluate a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests. - View Dependent Claims (13, 14)
-
-
15. A scheduler for a storage access controller, comprising:
-
program code for determining, by reference to Service Level Agreements (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests; and
means for ordering the plurality of storage access requests in a schedule corresponding to the determined revenue-maximizing sequence, wherein said program code further evaluates a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests.
-
-
16. A data processing apparatus comprising:
-
a data processing unit;
a data storage unit; and
a storage access controller adapted to determine, by reference to Service Level Agreements (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests and for ordering the plurality of storage access requests in a scheduled sequence corresponding to the determined revenue-maximizing sequence, wherein said storage access controller is further adapted to evaluate a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests.
-
-
17. A program storage device readable by computer, tangibly embodying a program of instructions executable by the computer to perform a method of scheduling storage access requests, the method comprising:
-
determining, by reference to Service Level Agreements (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests; and
ordering the plurality of storage access requests in a schedule corresponding to the determined revenue-maximizing sequence, wherein said determining comprises evaluating a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests.
-
-
18. A method for operating a storage service, said method comprising:
-
maintaining a data store within a set of network-accessible data storage units;
receiving storage access requests for access to the data store;
scheduling received storage access requests by determining, by reference to Service Level Agreement (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests, and ordering the plurality of storage access requests in a schedule corresponding to the determined revenue-maximizing sequence, wherein said determining comprises evaluating a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests.
-
-
19. A method for scheduling storage access requests, said method comprising:
-
determining, by reference to Service Level Agreements (SLA)-based reward parameters, a reward-function-maximizing processing sequence for a plurality of storage access requests; and
ordering the plurality of storage access requests in a schedule corresponding to the determined reward-function-maximizing sequence, wherein said determining comprises evaluating a revenue function with reference to an estimated latency for each of the plurality of storage access requests, and wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests. - View Dependent Claims (20, 21, 22)
-
Specification