Storage I/O Priority Balancing for Fair Multi-Client Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage device operation methods either underutilize processing capacity through performance throttling or unfairly treat clients with varying request rates in work sharing arrangements.
Innovation Solution
Adjust submission priorities for input-output commands from client computers using a weighted round robin sampler to balance processing load and fairness, ensuring full utilization of storage device capacity while minimizing latency and unfairness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If performance throttling is used to allocate processing load capacity to each client, then fairness among clients is improved, but full utilization of storage device capacity is not achieved
Solution Approach 1:
The patent applies dynamics by making the IOPS allocation dynamic rather than static. The system continuously monitors actual IOPS usage by each client and adjusts their allocated capacity in real-time. When a client's demand increases, their allocation increases accordingly, allowing the storage device to fully utilize its capacity while maintaining fairness through proportional allocation based on actual needs.
2Productivity
If work sharing arrangement is used to allow unlimited request flow from each client, then full utilization of storage device capacity is achieved, but latency increases for clients with low processing loads
Solution Approach 1:
The patent implements feedback by continuously monitoring the actual IOPS usage of each client and using this information to adjust their allocation. The system measures how much IOPS each client actually consumes and feeds this information back into the allocation mechanism, ensuring that clients with low processing loads receive appropriate attention and their latency is minimized while still allowing full capacity utilization.
3Reliability
If performance throttling limits IOPS flow from each client, then sustained performance is maintained, but requests from high-demand clients are unnecessarily slowed down
Solution Approach 1:
The system dynamically adjusts IOPS allocation based on actual client demand. Instead of imposing static limits that slow down high-demand clients, the system monitors usage patterns and allocates capacity dynamically. When a client requires more IOPS, their allocation increases automatically, allowing them to process requests at full speed without unnecessary throttling, while maintaining sustained performance through proportional allocation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In a computer system where multiple client computers share use of a storage device, submission priorities for input-output commands from the computers are adjusted when one or more of the client computers exceeds its quota of usage. The submission priorities for the client computers which are exceeding their quota are reduced relative to submission priorities for client computers which are not exceeding their quotas. This allows up to full usage of the processing capacity of the storage device, while minimizing effects such as unfairness and latency experienced by the other client computers.