Selecting a priority queue from which to process an input/output (I/O) request by training a machine learning module
First Claim
1. A computer program product for selecting one of a plurality queues having Input/Output (I/O) requests for a storage to process, comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:
- providing a machine learning module that receives as input I/O statistics for the queues based on I/O activity at the queues and produces output for each of the queues, wherein the output for each queue indicates a likelihood that selection of an I/O request from the queue will maintain expected response time ratios between the queues, wherein outputs for the queues from the machine learning module are included in a task control block;
using the outputs to select a queue of the queues;
servicing the I/O request from the selected queue;
after servicing the I/O request, determining adjusted outputs from the outputs for the queues indicated in the task control block;
retraining the machine learning module with the input I/O statistics to produce the adjusted outputs for the queues; and
using the retrained machine learning module to select one of the queues from which to process an I/O request.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a computer program product, system, and method for using at least one machine learning module to select a priority queue from which to process an Input/Output (I/O) request. Input I/O statistics are provided on processing of I/O requests at the queues to at least one machine learning module. Output is received from the at least one machine learning module for each of the queues. The output for each queue indicates a likelihood that selection of an I/O request from the queue will maintain desired response time ratios between the queues. The received output for each of the queues is used to select a queue of the queues. An I/O request from the selected queue is processed.
-
Citations
24 Claims
-
1. A computer program product for selecting one of a plurality queues having Input/Output (I/O) requests for a storage to process, comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:
-
providing a machine learning module that receives as input I/O statistics for the queues based on I/O activity at the queues and produces output for each of the queues, wherein the output for each queue indicates a likelihood that selection of an I/O request from the queue will maintain expected response time ratios between the queues, wherein outputs for the queues from the machine learning module are included in a task control block; using the outputs to select a queue of the queues; servicing the I/O request from the selected queue; after servicing the I/O request, determining adjusted outputs from the outputs for the queues indicated in the task control block; retraining the machine learning module with the input I/O statistics to produce the adjusted outputs for the queues; and using the retrained machine learning module to select one of the queues from which to process an I/O request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for selecting one of a plurality queues having Input/Output (I/O) requests for a storage to process, comprising:
-
a processor; and a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising; providing at least one machine learning module that receives as input I/O statistics for the queues based on I/O activity at the queues and produces output for each of the queues, wherein the output for each queue indicates a likelihood that selection of an I/O request from the queue will maintain expected response time ratios between the queues, wherein outputs for the queues from the machine learning module are included in a task control block; using the outputs to select a queue of the queues; servicing the I/O request from the selected queue; after servicing the I/O request, determining adjusted outputs from the outputs for the queues indicated in the task control block; retraining the machine learning module with the input I/O statistics to produce the adjusted outputs for the queues; and using the retrained machine learning module to select one of the queues from which to process an I/O request. - View Dependent Claims (10, 11, 15, 16, 17, 18, 19)
-
-
12. A method for selecting one of a plurality queues having Input/Output (I/O) requests for a storage to process, comprising:
-
providing at least one machine learning module that receives as input I/O statistics for the queues based on I/O activity at the queues and produces output for each of the queues, wherein the output for each queue indicates a likelihood that selection of an I/O request from the queue will maintain expected response time ratios between the queues, wherein outputs for the queues from the machine learning module are included in a task control block; using the outputs to select a queue of the queues; servicing the I/O request from the selected queue; after servicing the I/O request, determining adjusted outputs from the outputs for the queues indicated in the task control block; retraining the machine learning module with the input I/O statistics to produce the adjusted outputs for the queues; and using the retrained machine learning module to select one of the queues from which to process an I/O request. - View Dependent Claims (13, 14, 20, 21, 22, 23, 24)
-
Specification