Scheduling data relocation activities using configurable fairness criteria
First Claim
1. A method for scheduling a data relocation activity in a data storage system, comprising:
- retrieving, by a storage processor, a data relocation request from a selected pending task queue of a set of pending task queues, each pending task queue of the set of pending task queues having an associated, distinct grouping property and each pending task queue of the set of pending task queues having a set of assigned data relocation requests, the grouping property of each particular pending task queue corresponding to a data relocation request grouping property of each data relocation request assigned to that particular pending task queue;
applying, by the storage processor, an acceptance threshold to the data relocation request, the acceptance threshold defining a limit to the data relocation requests processed by the storage processor; and
when the data relocation request meets the acceptance threshold, forwarding, by the storage processor, the data relocation request to an ongoing task queue for execution of the data relocation request, otherwise maintaining the data relocation request in the selected pending task queue of the set of pending task queues.
9 Assignments
0 Petitions
Accused Products
Abstract
A storage processor of a data storage system includes a data relocation task scheduler that provides system limit control on the execution of data relocation requests. The data relocation task scheduler also provides fairness and concurrency limit enforcement by scheduling relocation requests from different provisioning domains, such as storage pools, in a fair manner. For example, the data relocation task scheduler includes stackable sets of pending task queues that store incoming data relocation requests. The data relocation task scheduler applies an iteration scheme to remove data relocation requests from the pending task queues thereby providing scheduling fairness among the queues and among the different provisioning domains within the data storage system. The data relocation task scheduler is configured to receive updated policies that control both system-wide data relocation resource consumption and scheduling fairness among the queues during operation and dynamically adjust current policies with the updated policies.
77 Citations
21 Claims
-
1. A method for scheduling a data relocation activity in a data storage system, comprising:
-
retrieving, by a storage processor, a data relocation request from a selected pending task queue of a set of pending task queues, each pending task queue of the set of pending task queues having an associated, distinct grouping property and each pending task queue of the set of pending task queues having a set of assigned data relocation requests, the grouping property of each particular pending task queue corresponding to a data relocation request grouping property of each data relocation request assigned to that particular pending task queue; applying, by the storage processor, an acceptance threshold to the data relocation request, the acceptance threshold defining a limit to the data relocation requests processed by the storage processor; and when the data relocation request meets the acceptance threshold, forwarding, by the storage processor, the data relocation request to an ongoing task queue for execution of the data relocation request, otherwise maintaining the data relocation request in the selected pending task queue of the set of pending task queues. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
at least one communications interface; and a controller electrically coupled to the at least one communications interface wherein the controller is configured to; retrieve a data relocation request from a selected pending task queue of a set of pending task queues, each pending task queue of the set of pending task queues having an associated, distinct grouping property and each pending task queue of the set of pending task queues having a set of assigned data relocation requests, the grouping property of each particular pending task queue corresponding to a data relocation request grouping property of each data relocation request assigned to that particular pending task queue; apply an acceptance threshold to the data relocation request, the acceptance threshold defining a limit to the data relocation requests processed by the storage processor; and when the data relocation request meets the acceptance threshold, forward the data relocation request to an ongoing task queue for execution of the data relocation request, otherwise maintain the data relocation request in the selected pending task queue of the set of pending task queues. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product having a non-transitory computer-readable storage medium including computer program logic encoded thereon that, when performed on a controller of an apparatus, causes the apparatus to:
-
retrieve a data relocation request from a selected pending task queue of a set of pending task queues, each pending task queue of the set of pending task queues having an associated, distinct grouping property and each pending task queue of the set of pending task queues having a set of assigned data relocation requests, the grouping property of each particular pending task queue corresponding to a data relocation request grouping property of each data relocation request assigned to that particular pending task queue; apply an acceptance threshold to the data relocation request, the acceptance threshold defining a limit to the data relocation requests processed by the storage processor; and when the data relocation request meets the acceptance threshold, forward the data relocation request to an ongoing task queue for execution of the data relocation request, otherwise maintain the data relocation request in the selected pending task queue of the set of pending task queues.
-
Specification