Delayed Allocation Pool in Cluster Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Delayed allocation in cluster storage systems does not realize performance gains due to the complexity of managing disk writes across multiple computing devices, leading to reduced performance compared to direct attached storage systems.

Innovation Solution

Implementing a delayed allocation pool in cluster storage by delegating allocation units to a node, prioritizing allocation from non-pool units before using the pool, and dynamically adjusting the pool size based on request rates and availability thresholds to optimize storage operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If delayed allocation is implemented in cluster storage by reserving blocks in delegated storage maps, then allocation can be delayed for performance optimization, but the complexity of managing cluster storage reduces the performance gains

Engineering Contradiction:
Improveperformance gain from delayed allocationVSAvoidcomplexity of managing cluster storage
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the storage management by separating the delayed allocation pool from the main delegated storage maps. Each node maintains its own delayed allocation pool as a distinct segment, which simplifies the management complexity while preserving the performance benefits of delayed allocation. The pool is managed independently with its own free-space counter and allocation logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The delayed allocation pool acts as an intermediary layer between the node's allocation requests and the main delegated storage maps. When a node needs allocation units, the system first checks the delayed allocation pool before allocating from the main maps. This intermediary structure simplifies the overall management by providing a buffer zone that handles allocation delays without requiring complex coordination across the entire cluster storage system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If allocation units are reserved in the delayed allocation pool, then future allocation requests can be satisfied faster, but available allocation units for immediate allocation are reduced

Engineering Contradiction:
Improveallocation speed for delayed requestsVSAvoidavailable allocation units
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The delayed allocation pool is implemented as a dynamic structure that automatically adjusts its size based on system conditions. The pool expands when there are unused allocation units available and contracts when the storage system needs to maximize available units. This dynamic behavior allows the system to optimize between having units reserved for fast allocation versus having units available for immediate use, with the pool size fluctuating based on actual demand and availability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of pool size dynamically based on the number of unused allocation units. When unused units exceed a threshold, the pool expands to absorb them; when unused units fall below a threshold, the pool contracts to release units back to the available pool. This parameter change approach allows the system to adapt the reservation level continuously, balancing the trade-off between allocation speed and available quantity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the delayed allocation pool is replenished by revoking delegation from other nodes, then the pool size is maintained, but additional delegation operations increase system overhead

Engineering Contradiction:
Improvepool size maintenanceVSAvoiddelegation management overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms that monitor the size and utilization of the delayed allocation pool. When the pool size falls below a threshold, the system triggers replenishment operations by revoking delegation from other nodes. Conversely, when the pool exceeds a threshold, the system stops replenishment. This feedback-controlled approach maintains the pool size within acceptable bounds without requiring constant active management, reducing the overhead while ensuring reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10248557B1Systems and methods for delayed allocation in cluster storage
Publication Date: 2019.04.02 ARCTERA US LLC
  • US10248557B1 patent drawing
  • US10248557B1 patent drawing
  • US10248557B1 patent drawing

AI summary

The disclosed computer-implemented method for delayed allocation in cluster storage may include (i) delegating, to a node attached to a storage cluster including one or more storage devices that include a group of allocation units, a subset of allocation units on the storage cluster to be held as a delayed allocation pool, (ii) receiving, from the node, a request to allocate allocation units on the storage cluster, (iii) deducting the number of allocation units from available allocation units in the delayed allocation pool, (iv) satisfying the allocation request by allocating allocation units not in the delayed allocation pool before allocating allocation units included in the delayed allocation pool, and (v) recalculating, based on the number of allocation units in the delayed allocation pool used to satisfy the allocation request, the number of available allocation units in the delayed allocation pool. Various other methods, systems, and computer-readable media are also disclosed.