File System Allocation Windows for Parallel Data Object Modifications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current file system techniques perform data object modifications in a serial manner, which is less than ideal, especially when multiple applications require frequent allocations, leading to inefficiencies such as interleaving and fragmentation, particularly in devices like DVRs recording multiple video streams.
Innovation Solution
The techniques involve logically partitioning the allocation mapping structure into windows, allowing multiple data objects to be modified in parallel by locking and unlocking windows assigned to each data object, enabling concurrent allocation and deallocation operations without serial dependency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If serial modification of data objects is used, then data consistency is maintained, but processing speed and productivity deteriorate
Solution Approach 1:
The allocation mapping structure is divided into multiple windows, each window representing a segment that can be independently locked and modified. This segmentation allows parallel processing of multiple data objects by assigning each to a different window, thereby improving productivity while maintaining data consistency within each window segment.
2Productivity
If parallel modification of multiple data objects is implemented, then productivity improves, but system complexity increases
Solution Approach 1:
By dividing the allocation mapping structure into discrete windows, the system enables parallel processing through simple lock/unlock mechanisms on individual windows. This segmentation approach increases productivity while keeping the implementation relatively simple, as each window can be managed independently without requiring complex coordination between multiple data objects.
3Productivity
If frequent allocations are performed, then data object updates are achieved, but interleaving and fragmentation occur
Solution Approach 1:
The window-based segmentation isolates allocation operations within specific windows, preventing interleaving between different data objects. Each data object is assigned to a specific window, ensuring that allocations for one object cannot interfere with another, thereby maintaining data object integrity while allowing frequent allocations to proceed efficiently in parallel.
Solution Approach 2:
Data objects are pre-assigned to specific windows before allocation operations begin. This preliminary assignment ensures that subsequent frequent allocations occur within predetermined boundaries, preventing fragmentation and interleaving while maintaining high allocation efficiency through parallel processing.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A device may be configured to perform techniques that enable may be used to allocate allocation units within a file system volume to data objects in a parallel manner. A file system driver may be configured to perform allocation operations based on an allocation mapping structure being logically partitioned into one or more of windows. Each window may be able to be lock independently during allocation operations. Window metadata may be used to evaluate windows of an allocation mapping structure.