Dynamic Block Sizing for Parallel File System Metadata Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing parallel storage systems face challenges in fast shared writing due to data integrity and serialization issues, leading to excessive metadata creation in log structured virtual file systems.
Innovation Solution
The method involves dynamically determining a block size for data storage by dividing the total data by the number of parallel processes and redistributing data among processes to achieve uniform block sizes, reducing metadata and optimizing data movement within a log-structured file system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If log structured virtual parallel file systems are used to improve shared writing speed, then writing speed is improved, but metadata overhead increases
Solution Approach 1:
The patent segments the shared file writing process into distinct phases: a serialization phase for metadata updates and a parallel phase for data writing. This segmentation allows multiple processes to write data simultaneously while metadata is updated in a controlled manner, reducing the total metadata overhead while maintaining high writing speeds.
Solution Approach 2:
The patent performs preliminary actions by pre-allocation of metadata structures and pre-synchronization of block boundaries before the actual parallel writing operation. This preparation ensures that during the parallel write phase, processes can write directly without generating excessive metadata, thus improving speed while controlling metadata overhead.
2Reliability
If block boundaries and data integrity constraints are enforced, then data integrity is improved, but parallel writing speed deteriorates
Solution Approach 1:
The patent dynamically adjusts block boundaries during the parallel writing process based on actual data distribution and process completion status. Instead of enforcing rigid fixed block boundaries, the system adapts block sizes and boundaries in real-time, maintaining data integrity through controlled serialization only when necessary, thus preserving parallel writing speed.
Solution Approach 2:
The patent maintains continuous parallel writing action by allowing processes to write data continuously across block boundaries with deferred integrity checks. Data integrity is ensured through post-write verification and atomic commit operations, rather than interrupting the parallel writing flow with frequent boundary checks, thus maintaining high writing speed while ensuring reliability.
Data Source
AI summary
Improved techniques are provided for parallel writing of data to a shared object in a parallel computing system. A method is provided for storing data generated by a plurality of parallel processes to a shared object in a parallel computing system. The method is performed by at least one of the processes and comprises: dynamically determining a block size for storing the data; exchanging a determined amount of the data with at least one additional process to achieve a block of the data having the dynamically determined block size; and writing the block of the data having the dynamically determined block size to a file system. The determined block size comprises, e.g., a total amount of the data to be stored divided by the number of parallel processes. The file system comprises, for example, a log structured virtual parallel file system, such as a Parallel Log-Structured File System (PLFS).


