Credit-based scheduling using load prediction
AssigneeDell Products L.P.
InventorsPhilippe Armangau, Maher Kachmar, Christopher Jones, James McCoy
Life of this patent
Estimating the term…
Abstract
A technique for scheduling tasks in a storage system includes predicting excess capacity of processing resources over a known interval of time and determining a quantity of credit based on the predicted capacity. The technique further includes holding back a requested increase in the priority of one or more speed-noncritical tasks by consuming a portion of the credit and thus allowing one or more speed-critical tasks to run with undiminished access to the processing resources.
Claims20
A method of scheduling tasks, comprising:
- dynamically sharing processing resources between speed-critical tasks and speed-noncritical tasks;
- determining a quantity of credit based on a prediction of excess capacity of the processing resources during a determined time interval;
- and
- in response to a requested increase in priority of one or more of the speed-noncritical tasks during the determined time interval, temporarily preventing the increase in priority by consuming a portion of the credit, thereby enabling the speed-critical tasks temporarily to maintain substantially undiminished access to the processing resources.
A computerized apparatus, comprising control circuitry that includes a set of processors coupled to memory, the control circuitry constructed and arranged to:
- dynamically share processing resources between speed-critical tasks and speed-noncritical tasks;
- determine a quantity of credit based on a prediction of excess capacity of the processing resources during a determined time interval;
- and
- in response to a requested increase in priority of one or more of the speed-noncritical tasks during the determined time interval, temporarily prevent the increase in priority by consuming a portion of the credit, thereby enabling the speed-critical tasks temporarily to maintain substantially undiminished access to the processing resources.
A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of scheduling tasks, the method comprising:
- dynamically sharing processing resources between speed-critical tasks and speed-noncritical tasks;
- determining a quantity of credit based on a prediction of excess capacity of the processing resources during a determined time interval;
- and
- in response to a requested increase in priority of one or more of the speed-noncritical tasks during the determined time interval, temporarily preventing the increase in priority by consuming a portion of the credit, thereby enabling the speed-critical tasks temporarily to maintain substantially undiminished access to the processing resources.
Dependencies are inferred from the claim text.