Storage Bandwidth Allocation via Latency-Based Impact Scoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional quality-of-service systems in storage systems allocate bandwidth based solely on the size of input/output operations, leading to inefficiencies as the actual impact of operations, such as latency, does not scale linearly with size, resulting in wasted processing bandwidth.
Innovation Solution
The proposed systems and methods allocate input/output bandwidth in storage systems based on the actual impact of operations, such as latency introduced, rather than just operation size, using a credit system to track and manage bandwidth usage, allowing for more efficient utilization of available processing bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If bandwidth allocation is based on operation size, then allocation simplicity is maintained, but bandwidth utilization efficiency deteriorates
Solution Approach 1:
The patent changes the allocation parameter from operation size to operation impact score, which is calculated based on multiple factors including operation size, latency sensitivity, and QoS requirements. This transforms the single-dimensional size-based allocation into a multi-dimensional impact-based allocation, resolving the contradiction between simplicity and efficiency.
Solution Approach 2:
The patent introduces an intermediary impact score calculation mechanism that translates complex multi-factor considerations (latency sensitivity, operation size, QoS requirements) into a single allocable metric. This intermediary layer maintains allocation simplicity while incorporating efficiency considerations.
2Quantity of substance
If bandwidth is allocated based on operation size, then large operations receive more bandwidth, but small latency-sensitive operations suffer performance degradation
Solution Approach 1:
The patent applies local quality by differentiating bandwidth allocation based on the specific characteristics of each operation type. Latency-sensitive operations receive higher priority allocation regardless of size, while bulk operations receive allocation based on their actual impact score. This localized differentiation resolves the contradiction between supporting large operations and protecting latency-sensitive operations.
Solution Approach 2:
The patent changes the allocation criterion from purely size-based to impact-score-based, where impact score incorporates latency sensitivity as a weighting factor. This parameter transformation ensures that small latency-sensitive operations can achieve high impact scores and receive adequate bandwidth, while large bulk operations receive proportionate but not excessive allocation.
3Device complexity
If traditional quality-of-service systems allocate bandwidth linearly with operation size, then allocation rules are simple, but actual system impact is not properly accounted for
Solution Approach 1:
The patent introduces an intermediary impact score calculation that bridges the gap between simple allocation rules and precise impact measurement. The impact score serves as a mediator that encapsulates complex measurements (latency, IOPS, throughput impact) into a single value that can be used with relatively simple allocation logic.
Solution Approach 2:
The patent implements feedback mechanisms that continuously monitor actual system impact (latency, IOPS, throughput) and use this information to adjust impact score calculations. This feedback loop improves measurement precision over time while maintaining relatively simple allocation rules based on the calculated impact scores.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The disclosed computer-implemented method for allocating input/output bandwidth in storage systems may include (1) allocating, in accordance with a pre-defined service-level agreement, an assigned amount of input/output bandwidth to an application that performs actions on a storage system, (2) receiving a request from the application to perform an input/output operation on the storage system, (3) identifying an amount of latency associated with fulfilling the input/output operation, (4) calculating, based at least in part on the amount of latency associated with fulfilling the input/output operation, an amount of input/output bandwidth consumed by the input/output operation, (5) deducting the amount of input/output bandwidth consumed by the input/output operation from the assigned amount of input/output bandwidth allocated to the application, and (6) allocating bandwidth to future input/output requests from the application from the remaining amount of input/output bandwidth allocated to the application. Various other methods, systems, and computer-readable media are also disclosed.