Methods, apparatus and computer programs for scheduling storage requests
First Claim
1. A computer-implemented method for scheduling storage access requests, said method comprising:
- determining by a computer, 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 by said computer 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, andwherein 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,wherein the latency for each request is estimated using;
an estimate of seek time for moving a read/write head of a disk drive to a disk track corresponding to a data location of a respective storage access request, wherein the seek time is estimated from characteristics of a respective disk drive, a current read/write head position, and a required read/write head position for performing a requested storage access operation;
an estimated data transfer time determined according to a data size of each request and the disk drive characteristics; and
an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of the read/write head.
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 analyzing 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.
94 Citations
19 Claims
-
1. A computer-implemented method for scheduling storage access requests, said method comprising:
-
determining by a computer, 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 by said computer 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, wherein the latency for each request is estimated using; an estimate of seek time for moving a read/write head of a disk drive to a disk track corresponding to a data location of a respective storage access request, wherein the seek time is estimated from characteristics of a respective disk drive, a current read/write head position, and a required read/write head position for performing a requested storage access operation; an estimated data transfer time determined according to a data size of each request and the disk drive characteristics; and an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of the read/write head. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A storage access controller comprising:
-
computer-readable storage media storing instructions to control a scheduler 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, 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, and wherein the latency is estimated using an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of a read/write head based on characteristics of a respective disk drive. - View Dependent Claims (10, 11)
-
-
12. A scheduler for a storage access controller, comprising:
-
computer-readable storage media storing instructions 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 instructions further evaluates a revenue function with reference to an estimated latency for each of the plurality of storage access requests, 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, and wherein the latency is estimated using an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of a read/write head based on characteristics of a respective disk drive.
-
-
13. 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, 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, and wherein the latency is estimated using an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of a read/write head based on characteristics of a respective disk drive.
-
-
14. A computer program storage medium 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, 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, and wherein the latency is estimated using an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of a read/write head based on characteristics of a respective disk drive.
-
-
15. 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, 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, and wherein the latency is estimated using an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of a read/write head based on characteristics of a respective disk drive.
-
-
16. 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, 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, and wherein the latency is estimated using an estimated rotational delay for rotating a disk sector, required by the storage access request, into a position required for operation of a read/write head based on characteristics of a respective disk drive. - View Dependent Claims (17, 18, 19)
-
Specification