Region Weight Allocation for VMFS Block Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing Virtual Machine File System (VMFS) experiences increased IO latency due to lock contention and inefficient block allocation, as host computers contend for the same SFB clusters without considering global allocation and affinity counts, leading to suboptimal distribution of file blocks and increased read operations.

Innovation Solution

The resource manager calculates a region weight based on the allocation counts of each host computer, sorting regions to prioritize those with lower affinity counts and free SFBs, ensuring even distribution and reducing contention by selecting SFB clusters based on calculated weights.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If host computers allocate SFB clusters without considering global allocation patterns, then block allocation is simple and fast, but lock contention increases and IO latency worsens

Engineering Contradiction:
Improveblock allocation speedVSAvoidIO latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-calculates region weights and maintains affinity counts for each host computer before actual block allocation occurs. This preliminary computation of allocation patterns allows hosts to make informed decisions without real-time contention, reducing both lock contention and IO latency while maintaining allocation speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by tracking affinity counts that record how many blocks each host has allocated from each region. This feedback information is used to dynamically adjust region weights and guide future allocation decisions, optimizing the balance between allocation speed and reducing lock contention.

Inventive Principle:
Principle #23Feedback

2Device complexity

If host computers contend for the same SFB clusters, then allocation process is simple, but distribution of file blocks becomes uneven and efficiency decreases

Engineering Contradiction:
Improveallocation process complexityVSAvoidstorage management efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically adjusts region weights based on real-time affinity counts and allocation patterns. Instead of static allocation, the region weights are recalculated to reflect current system state, enabling adaptive load balancing that improves storage management efficiency without requiring complex manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of region weight based on affinity counts and allocation patterns. By modifying this parameter dynamically, the system guides hosts toward underutilized regions, achieving even distribution of file blocks across the VMFS volume while maintaining relatively simple allocation logic.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple hosts access the same regions frequently, then data locality is improved, but lock contention increases and performance deteriorates

Engineering Contradiction:
Improvedata localityVSAvoidclustered file system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the VMFS volume into multiple regions and uses region weights to distribute allocation across these segments. By dividing the storage space and applying different weights to different segments, the system achieves both data locality for each host and reduced contention overall, as hosts are guided to different segments based on their allocation patterns.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10824435B2Region to host affinity for block allocation in clustered file system volume
Publication Date: 2020.11.03 VMWARE INC
  • US10824435B2 patent drawing
  • US10824435B2 patent drawing
  • US10824435B2 patent drawing

AI summary

A method is provided for a computer to allocate a resource from a clustered file system (CFS) volume stored on one or more physical storage devices to a file. The CFS volume includes resources organized into resource clusters and the resource clusters make up regions. The method includes, for each region of resource clusters, determining a first count of resources allocated to the host computer and a second count of resources allocated to all other host computers, and calculating a region weight based on the first count and the second count. The method further includes sorting a list of the regions based on their region weights, selecting a region at or near the start of the list, and allocating the resource from a resource cluster in the selected region to the file.