ML Queue Selection for Storage I/O Response Time Ratios
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage controller systems using round robin algorithms for selecting priority queues in RAID arrays fail to maintain desired response time ratios between high, medium, and low priority queues, leading to inefficient I/O request processing.
Innovation Solution
Implementing a machine learning module that receives I/O statistics to generate output values indicating the likelihood of maintaining desired response time ratios between queues, allowing for dynamic selection of the most appropriate queue for processing I/O requests based on current operating conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If round robin selection algorithm is used to select priority queues, then device complexity is reduced and ease of operation is improved, but the ability to maintain desired response time ratios between queues deteriorates
Solution Approach 1:
The system implements feedback by continuously monitoring actual response times of each priority queue and using this information to dynamically adjust queue selection. The machine learning module receives feedback about queue performance and modifies selection probabilities to maintain desired response time ratios, resolving the contradiction between simple operation and reliable ratio maintenance.
Solution Approach 2:
The system transitions from static round-robin selection to dynamic selection where queue selection probabilities change based on current system conditions and historical performance data. The machine learning module adapts selection strategies in real-time to maintain response time ratios, making the system both operable and reliable.
2Reliability
If machine learning module is implemented to maintain desired response time ratios, then response time ratio maintenance is improved, but device complexity increases
Solution Approach 1:
The machine learning module operates autonomously to maintain response time ratios without requiring complex manual configuration or intervention. The system self-adjusts queue selection based on learned patterns from historical data, reducing the need for complex external control mechanisms while maintaining reliable ratio maintenance.
Solution Approach 2:
The system manages complexity by changing selection parameters dynamically rather than redesigning the entire queue management architecture. The machine learning module adjusts selection probabilities and weights based on observed performance, maintaining response time ratios through parameter optimization rather than structural complexity.
3Device complexity
If static selection routine is used for queue selection, then device complexity is minimized, but adaptability to changing conditions deteriorates
Solution Approach 1:
The system performs preliminary actions by collecting and analyzing historical I/O statistics before making selection decisions. The machine learning module uses this pre-processed information to predict which queue selections will maintain desired response time ratios under current conditions, enabling adaptability without excessive complexity.
Solution Approach 2:
The system replaces mechanical static selection routines with intelligent algorithms that can adapt to changing conditions. The machine learning module substitutes fixed selection logic with data-driven decision making, providing adaptability while managing complexity through algorithmic efficiency.
Data Source
AI summary
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.


