VSAN Composite Scheduler for Distributed Storage Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face performance issues due to contention between multiple clients accessing shared storage resources, leading to reduced overall performance and higher latency, particularly when different types of storage I/O operations contend for resources without fair allocation of bandwidth.

Innovation Solution

A virtual storage area network (VSAN) module with a composite scheduler that manages storage I/O requests using a fair scheduling algorithm and backpressure congestion control to ensure equitable processing of different classes of storage I/O requests, preventing resource congestion and optimizing bandwidth allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple clients simultaneously access shared storage resources in a distributed storage system, then storage capacity and scalability are improved, but latency increases and overall performance deteriorates due to resource contention

Engineering Contradiction:
Improvestorage capacityVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments storage I/O requests into different classes (e.g., sync I/O requests and async I/O requests) and processes them through separate queues with different scheduling priorities. This segmentation allows the system to handle different types of storage operations independently, preventing high-priority sync operations from being blocked by lower-priority async operations, thereby reducing latency while maintaining storage capacity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic bandwidth allocation that adjusts resource allocation based on current system conditions and request characteristics. The fair scheduling algorithm dynamically determines the proportion of storage I/O bandwidth allocated to different client I/O operations, allowing the system to adapt to changing workload patterns and minimize latency under varying access conditions

Inventive Principle:
Principle #15Dynamics

2Device complexity

If different classes of storage I/O requests are processed without fair scheduling, then device complexity is reduced, but performance fairness and overall system efficiency deteriorate

Engineering Contradiction:
Improvescheduling mechanism complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The fair scheduling algorithm dynamically adjusts bandwidth allocation proportions for different storage I/O classes based on current system state and request characteristics. This dynamic approach ensures fair resource distribution without requiring complex static configuration, maintaining relative simplicity while improving performance fairness and overall system efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system monitors storage I/O operations and uses feedback mechanisms to adjust scheduling decisions in real-time. The fair scheduling algorithm receives feedback about request completion, queue depths, and resource utilization to continuously optimize bandwidth allocation, improving performance without proportionally increasing complexity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10810143B2Distributed storage system and method for managing storage access bandwidth for multiple clients
Publication Date: 2020.10.20 VMWARE INC
  • US10810143B2 patent drawing
  • US10810143B2 patent drawing
  • US10810143B2 patent drawing

AI summary

System and method for managing storage requests issued from multiple sources in a distributed storage system utilizes different queues at a host computer in the distributed storage system to place different classes of storage requests for access to a virtual storage area network. The storage requests in the queues are processed using a fair scheduling algorithm. For each queue, when the storage requests in the queue exceeds a threshold, a backpressure signal is generated and transmitted to at least one source for a class of storage requests queued in one of the queues corresponding to that backpressure signal to delay issuance of new storage requests of that class of storage requests.