Storage Device I/O Scheduling for QoS Stability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in maintaining stable Quality of Service (QoS) performance as the number of servers sharing a storage device increases, leading to unpredictable resource allocation and performance degradation, especially when prioritization techniques fail to allocate absolute resources effectively.
Innovation Solution
A storage device with a calculating unit to determine upper limit values of input/output processes based on priority, a scheduling unit to order executions, and an executing unit to manage these processes, ensuring optimal performance by dynamically adjusting resource allocation based on priority levels and current system conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the storage device allocates resources based on relative priority per server, then the QoS function is implemented, but the allocated resources decrease as the number of servers increases
Solution Approach 1:
The patent changes the parameter basis from relative priority to absolute priority values. Each server is assigned an absolute priority value that directly determines resource allocation, independent of the total number of servers. This allows the storage device to maintain stable resource allocation for high-priority servers even as the system scales.
Solution Approach 2:
The patent segments resource allocation into priority-based groups, where servers are divided into different priority levels. Each priority level receives a guaranteed portion of resources, ensuring that high-priority servers maintain stable performance regardless of the total number of servers in the system.
2Reliability
If the storage device side sets target performance and performance limit per server or LUN, then performance control is achieved, but setting specific performance values becomes troublesome
Solution Approach 1:
The storage device automatically determines appropriate performance targets and limits based on the absolute priority values assigned to servers. Instead of requiring manual configuration of specific performance parameters, the system self-adjusts resource allocation according to the priority hierarchy, simplifying operation while maintaining performance control.
3Reliability
If servers of higher priority occupy resources, then QoS is maintained, but servers of lower priority are not capable of executing processing
Solution Approach 1:
The patent implements dynamic resource allocation where the amount of resources allocated to each server varies based on current system conditions and priority levels. When system capacity is sufficient, lower priority servers can execute processing; when capacity is constrained, resources are dynamically shifted to higher priority servers, maintaining QoS while maximizing overall productivity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A storage device (100) includes a calculating unit (505), a scheduling unit (506) and an executing unit (507). The calculating unit (505) calculates an upper limit value of the number of input/output processings determined based on the priority set to a host, a port and an LUN. The scheduling unit (506) schedules an execution order of input/output processings based on the number of input/output processings received from the host and the calculated upper limit value. The executing unit (507) executes the input/output processings in the execution order scheduled by the scheduling unit (506).