Two-Stage IO Scheduling with Dynamic Bandwidth Regulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesystem bandwidth utilizationVSAvoidscheduling latency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

2Productivity

If DRR algorithm is used for IO scheduling, then overall system throughput is improved, but fairness in bandwidth allocation deteriorates

Engineering Contradiction:
Improvesystem throughputVSAvoidbandwidth allocation fairness
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If reserved regulators are enforced in first stage, then low workload IO classes are protected from blocking, but system complexity increases

Engineering Contradiction:
Improveprotection from blockingVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11403143B2DRR-based two stages IO scheduling algorithm for storage system with dynamic bandwidth regulation
Publication Date: 2022.08.02 VMWARE INC
  • US11403143B2 patent drawing
  • US11403143B2 patent drawing
  • US11403143B2 patent drawing

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.