Resynchronization Job Parallelism Policy for Distributed Storage Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern distributed storage systems, resynchronization jobs often fail to efficiently utilize bandwidth due to lack of concurrency control, leading to delayed completion and potential data instability, especially during peak operations like virtual machine migrations or maintenance.

Innovation Solution

A parallelism policy is applied to identify bottleneck resources and calculate a parallel I/O value, allowing resynchronization jobs to execute multiple I/O tasks concurrently, dynamically adjusting bandwidth allocation based on available resources to prevent overloading and ensure timely completion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resynchronization jobs write missed I/O operations one after another without concurrency control, then the system implementation is simple, but bandwidth utilization is poor and job completion is delayed

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidconcurrency control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic concurrency control where the degree of parallelism is adjusted based on system conditions. The I/O scheduler monitors the number of active resynchronization jobs and dynamically adjusts the concurrency level, allowing the system to utilize available bandwidth effectively while maintaining manageable complexity through adaptive rather than static control mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The I/O scheduler incorporates feedback mechanisms by monitoring system state (number of active resync jobs, bandwidth availability) and using this information to adjust concurrency control parameters. This feedback loop enables the system to optimize bandwidth utilization dynamically without requiring complex predetermined control structures.

Inventive Principle:
Principle #23Feedback

2Productivity

If only a few resynchronization jobs are active in the scheduler queue, then concurrency control complexity is reduced, but bandwidth utilization becomes inefficient

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidjob completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent ensures continuous utilization of I/O bandwidth by maintaining an optimal number of concurrent resynchronization jobs. The I/O scheduler actively manages the job queue to ensure that bandwidth is continuously exploited without idle periods, preventing both underutilization (when too few jobs are active) and overload (when too many jobs compete for resources).

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If resynchronization jobs compete with other I/O operations for system resources, then system resource utilization increases, but resynchronization job completion is delayed threatening data security

Engineering Contradiction:
Improvedata securityVSAvoidresynchronization job completion rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic priority adjustment and concurrency control that adapts to system conditions. When data security requirements are critical (e.g., during VM migration or maintenance mode), the I/O scheduler increases concurrency for resynchronization jobs to ensure timely completion. The system dynamically balances between serving general I/O operations and completing resynchronization jobs based on current system state and urgency levels.

Inventive Principle:
Principle #15Dynamics

4Productivity

If the number of outstanding I/O tasks is kept low to simplify scheduling, then scheduling complexity is reduced, but the system cannot efficiently use available bandwidth

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the resynchronization workload into multiple manageable I/O tasks that can be scheduled independently. The I/O scheduler divides large resynchronization operations into smaller units, allowing it to control the number of outstanding tasks at any given time while still achieving high bandwidth utilization through parallel execution of segmented tasks. This segmentation approach makes the scheduling problem more tractable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12141440B2Performing resynchronization jobs in a distributed storage system based on a parallelism policy
Publication Date: 2024.11.12 VMWARE INC
  • US12141440B2 patent drawing
  • US12141440B2 patent drawing
  • US12141440B2 patent drawing

AI summary

The disclosure herein describes performing resynchronization (“resync”) jobs in a distributed storage system based on a parallelism policy. A resync job is obtained from a queue and input/output (I/O) resources that will be used during execution of the resync job are identified. Available bandwidth slots of each I/O resource of the identified I/O resources are determined. The parallelism policy is applied to the identified I/O resources and the available bandwidth slots. Based on the application of the parallelism policy, a bottleneck resource of the I/O resources is determined and a parallel I/O value is calculated based on the available bandwidth slots of the bottleneck resource, wherein the parallel I/O value indicates a quantity of I/O tasks that can be performed in parallel. The resync job is executed using the I/O resources, the execution of the resync job including performance of I/O tasks in parallel based on the parallel I/O value.