File System Volume Slice Allocation Pattern

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core, multi-threaded processor environments, the use of locking primitives for file system resource reservation leads to significant latency issues due to the need for synchronization mechanisms during data write operations, especially when handling parallel writes.

Innovation Solution

The system employs a method where un-provisioned volume slices are reserved, allowing for the use of simple atomic operations instead of synchronization mechanisms, and pre-assigns resource types to free volume slices based on a defined allocation pattern, enabling resource allocation without engaging locking primitives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking primitives are used for resource reservation, then resource allocation correctness is ensured, but processing latency increases significantly

Engineering Contradiction:
Improveresource allocation correctnessVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-assigns resource types to free volume slices in advance based on a defined allocation pattern. This preliminary action ensures that when data write operations need to reserve resources, the appropriate resources are already identified and reserved, eliminating the need for time-consuming locking primitives during the actual write operation while maintaining allocation correctness.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If locking primitives are used for resource reservation, then concurrent access safety is maintained, but system throughput decreases

Engineering Contradiction:
Improveconcurrent access safetyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By pre-assigning resource types to free volume slices before concurrent write operations occur, the system establishes a predetermined resource allocation pattern. This allows multiple threads to proceed with write operations simultaneously using atomic operations, maintaining concurrent access safety while significantly improving system throughput by eliminating locking bottlenecks.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If synchronization mechanisms are used during resource allocation, then data consistency is ensured, but operation efficiency deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidoperation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs resource type assignment to free volume slices in advance, creating a consistent allocation pattern before data write operations begin. This preliminary consistency establishment allows subsequent operations to use simple atomic reservations without synchronization mechanisms, maintaining data consistency while dramatically improving operation efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11748313B2Optimizing file-system resource reservation
Publication Date: 2023.09.05 EMC IP HLDG CO LLC
  • US11748313B2 patent drawing
  • US11748313B2 patent drawing
  • US11748313B2 patent drawing

AI summary

Optimizing file system resource reservation is presented herein. The method comprises dividing a virtual file system address space into subspaces, initializing the subspaces with volume slices of a group of volume slices comprising a first volume slice, a second volume slice, and a collection of reserved volume slices allocated based on an allocation pattern that allocates volume slices as a function of a quantitative relationship between a first value associated with a first volume slice and a second value associated with a second volume slice, determining that a data block count is insufficient to service a write operation of user data to the second volume slice; and provisioning a second subspace with a free volume slice obtained from the collection of reserved volume slices, and wherein the provisioning of the second subspace with the free volume slice is performed without invoking a memory exclusion mechanism.