Two-Stage IO Scheduling with Dynamic Bandwidth Regulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed computing systems face challenges in efficiently scheduling inputs/outputs (IOs) due to the DRR algorithm's unfair treatment of low workload IO classes, leading to scheduling latency and throughput deviations from expected bandwidth shares, especially when competing with high workload IO classes.
Innovation Solution
The proposed IO scheduling technique employs dynamic bandwidth regulation by using a shared IOPS regulator and class-specific reserved regulators, ensuring fair share allocation through a two-stage process that enforces reserved regulators in the first stage and the shared regulator in the second stage, preventing catchup window overflow and managing IO bursts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If DRR algorithm is used for IO scheduling, then system bandwidth utilization is improved, but low workload IO classes experience scheduling latency and throughput deviations
Solution Approach 1:
The patent segments the IO scheduling process into two distinct stages: a first stage that enforces reserved regulators to guarantee minimum bandwidth shares for low workload classes, and a second stage that utilizes the shared regulator for overall system optimization. This segmentation allows the system to simultaneously achieve fair resource allocation and high bandwidth utilization without the latency issues experienced in conventional single-stage DRR algorithms.
Solution Approach 2:
The patent implements dynamic bandwidth regulation by adjusting the behavior of regulators based on system conditions. The shared regulator dynamically adapts to system-wide IO patterns, while class-specific reserved regulators dynamically adjust to ensure low workload classes receive their guaranteed bandwidth shares. This dynamic adjustment eliminates the static fairness issues of traditional DRR while maintaining high productivity.
2Productivity
If DRR algorithm is used for IO scheduling, then overall system throughput is improved, but fairness in bandwidth allocation deteriorates
Solution Approach 1:
The patent divides the bandwidth regulation mechanism into two segments: class-specific reserved regulators that enforce fair allocation guarantees for individual IO classes, and a shared regulator that optimizes overall system throughput. This dual-segment approach ensures that fairness requirements are met through reserved regulators while throughput is maximized through the shared regulator, resolving the contradiction between fairness and productivity.
Solution Approach 2:
The patent introduces an intermediary two-stage scheduling mechanism that mediates between the competing demands of fairness and throughput. The first stage acts as an intermediary that enforces fair bandwidth allocation through reserved regulators, while the second stage serves as an intermediary that allows the shared regulator to optimize overall throughput. This intermediary structure enables both fairness and high throughput to coexist.
3Reliability
If reserved regulators are enforced in first stage, then low workload IO classes are protected from blocking, but system complexity increases
Solution Approach 1:
The patent segments the complexity of fair scheduling into manageable parts by implementing class-specific reserved regulators that operate independently in the first stage. Each reserved regulator is responsible for a specific IO class, which simplifies the complexity management compared to a monolithic scheduling algorithm. The segmentation allows the system to provide robust protection for low workload classes while keeping individual regulator components relatively simple.
Solution Approach 2:
The patent reduces effective complexity through dynamic stage-based operation. The system dynamically switches between two relatively simple regulatory modes: the first stage with reserved regulators for fairness guarantees, and the second stage with the shared regulator for throughput optimization. This dynamic approach avoids the need for a single complex algorithm, instead using simpler regulators that are activated based on system state, thereby managing complexity while maintaining reliability.
Data Source
AI summary
An efficient scheduling of IOs in a computing system using dynamic bandwidth regulation includes building up a shared regulator to limit the total IOPS scheduling among all IO classes at any given time. Reserved regulators may be used to place limits on the IOPS scheduled for a particular IO class at any given time. An outstanding IO window may also limit the overall number of outstanding IOs, and/or the bytes of outstanding IOs at any particular time. A first stage of IO scheduling may involve enforcing the reserved regulators to limit the IOPS scheduled for particular IO classes. A second stage of IO scheduling may involve enforcing the shared regulator to limit the total IOPS scheduled for all IO classes.


