Network Scheduler for Distributed Storage Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual storage area networks, aggressive data traffic such as resync I/O operations can create bottlenecks, leading to performance degradation for other types of data traffic like VM I/Os, metadata traffic, and namespace traffic.

Innovation Solution

The solution involves determining network congestion conditions at each host, calculating packet delay times based on these conditions, and selectively delaying or transmitting data packets across the network, depending on their traffic class, to manage bandwidth and reduce congestion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If aggressive data traffic (resync I/Os) is allowed to grow unchecked, then the bandwidth utilization increases, but system performance for other traffic types (VM I/Os, metadata traffic, namespace traffic) deteriorates

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments data traffic into different classes (resync I/Os versus other I/Os) and applies different handling policies to each class. By identifying and separating aggressive resync traffic from other traffic types, the system can manage bandwidth allocation differently for each segment, preventing any single class from monopolizing network resources and thus maintaining overall system performance while still utilizing available bandwidth.

Inventive Principle:
Principle #1Segmentation

2Speed

If resync I/O operations are prioritized, then recovery and migration tasks are accelerated, but availability metrics for virtual machines suffer due to delayed VM I/Os

Engineering Contradiction:
Improverecovery operation speedVSAvoidvirtual machine availability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies local quality by treating different traffic classes with different priorities and delay tolerances. Resync I/Os, which are less time-sensitive, are allowed to experience delays when network congestion is detected, while VM I/Os, which require timely response for availability, are prioritized. This localized differentiation in quality of service ensures that recovery operations proceed at acceptable speeds without compromising virtual machine availability.

Inventive Principle:
Principle #3Local quality

3Productivity

If network bandwidth is increased to handle all traffic types simultaneously, then system performance improves, but hardware costs increase

Engineering Contradiction:
Improvesystem performanceVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic traffic management by continuously monitoring network congestion conditions and adjusting packet delay times accordingly. When congestion is detected, the system dynamically increases delay for resync I/Os to reduce overall traffic load, and when bandwidth is available, it reduces delays to improve throughput. This dynamic adaptation allows the system to maintain high performance on existing hardware without requiring additional network bandwidth investment.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250030637A1Network scheduler in a distributed storage system
Publication Date: 2025.01.23 VMWARE INC
  • US20250030637A1 patent drawing
  • US20250030637A1 patent drawing
  • US20250030637A1 patent drawing

AI summary

Aspects of the disclosure perform network scheduling in a distributed storage system. Example operations include: determining a network congestion condition at a first host; based on the network congestion condition, determining a packet delay time; based on a first data packet belonging to a first traffic class of a plurality of traffic classes, delaying transmitting the first data packet, from the first host across a network to a second host, by the packet delay time; and based on a second data packet belonging to a second traffic class, transmitting the second data packet from the first host to the second host without a delay. In some examples, the first traffic class comprises resync input/output operations (I/Os) and the second traffic class comprises non-resync traffic I/Os. Some examples delay packets differently, based on the destination host. Some examples adjust delays to drive the network congestion condition toward a target.