Filesystem Creation Coordination for Deterministic Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems face performance issues when creating upper-deck filesystems due to the operation of multiple threads provisioning storage from divergent locations, leading to reduced performance.
Innovation Solution
Pre-provisioning the lower-deck filesystem with enough storage to ensure the container file is composed of proximately located storage units, allowing for efficient formatting of the upper-deck filesystem using parallelization techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple threads are used to format the upper-deck filesystem in parallel, then the creation speed is improved, but the performance becomes unpredictable due to container files being provisioned from divergent storage locations
Solution Approach 1:
The system performs preliminary provisioning of the lower-deck filesystem and container files before the parallel formatting operation begins. This ensures that all storage resources are pre-allocated and positioned optimally, so when multiple threads subsequently format the upper-deck filesystem in parallel, they all operate on storage units with known, proximate locations, maintaining predictable performance while achieving fast parallelization.
2Adaptability or versatility
If storage is provisioned on-the-fly during parallel formatting, then resource allocation is flexible, but storage units are located at divergent positions leading to reduced performance
Solution Approach 1:
The system performs preliminary provisioning of the lower-deck filesystem and container files before the parallel formatting operation begins. This ensures that all storage resources are pre-allocated and positioned optimally, so when multiple threads subsequently format the upper-deck filesystem in parallel, they all operate on storage units with known, proximate locations, maintaining predictable performance while achieving fast parallelization.
Data Source
AI summary
A method includes (a) receiving a command to create an upper-deck filesystem of a specified size, the upper-deck filesystem residing within a logical volume expressed from a container file of a lower-deck filesystem, (b) provisioning a plurality of storage provisioning units (SPUs) from a storage pool of the data storage system to the container file in an order reflecting proximity of the SPUs within storage devices of the data storage system, the plurality of SPUs providing storage for the entire container file, and (c) subsequent to provisioning the plurality of SPUs to the container file, executing a plurality of threads in parallel to write metadata of the upper-deck filesystem to the plurality of SPUs, representing the upper-deck filesystem. Other embodiments are directed to a system, a computerized apparatus, and a computer program product for performing methods similar to that described above.


