CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained Metadata
Extensive research on persistent memory (PM)-aware file systems has led to the development of numerous methods for improving read/write throughput. In particular, accessing or modifying file contents in a similar manner to the memory operations through <italic>mmap</italic> is a common a...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2022-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/9869672/ |
_version_ | 1797999076315234304 |
---|---|
author | Jen-Kuang Liu Sheng-De Wang |
author_facet | Jen-Kuang Liu Sheng-De Wang |
author_sort | Jen-Kuang Liu |
collection | DOAJ |
description | Extensive research on persistent memory (PM)-aware file systems has led to the development of numerous methods for improving read/write throughput. In particular, accessing or modifying file contents in a similar manner to the memory operations through <italic>mmap</italic> is a common approach. We designed a file system, CFFS (Contiguous File Allocation with Fine-Grained Metadata File System), to rapidly allocate PM pages to upper layer applications for <italic>mmap</italic> and to alleviate page fault overheads due to <italic>mmap</italic>. We optimized the physical contiguity of files in PM to reduce file fragmentation and increase fragment alignment with the goal of reducing software overhead. To achieve this goal, we implemented greedy-based buddy systems and implicit preallocation with a not-most-recently-used (NMRU) policy based on our overall page allocation strategy of considering not only the spatial but also the temporal locality of file access patterns. Furthermore, for efficient and atomic metadata operations, we fully leveraged the byte-addressable property of PM to design fine-grained metadata. CFFS adopts persistent doubly linked lists for directory operations to identify and recover from inconsistencies caused by system failures, doing so without using traditional log mechanisms. In experiments, CFFS showed superior page allocation performance to EXT4-DAX and NOVA did under different PM fragmentation levels. Our allocation algorithm also reduced the cost of page faults for frequently appended files. Finally, CFFS’s lightweight directory operations performed excellently in creating and deleting files of various quantities. In summary, the main contribution of the paper is proposing an efficient page allocation algorithm to improve the performance of subsequent <italic>mmap</italic>s, based on the strategy of considering not only the spatial but also the temporal locality of file access patterns in PM file systems. Another contribution was the fine-grained and log-free method for atomic directory operations. |
first_indexed | 2024-04-11T10:58:51Z |
format | Article |
id | doaj.art-96eeb8fa5d364f209e12c1958e38822c |
institution | Directory Open Access Journal |
issn | 2169-3536 |
language | English |
last_indexed | 2024-04-11T10:58:51Z |
publishDate | 2022-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj.art-96eeb8fa5d364f209e12c1958e38822c2022-12-22T04:28:41ZengIEEEIEEE Access2169-35362022-01-0110916789169810.1109/ACCESS.2022.32025329869672CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained MetadataJen-Kuang Liu0Sheng-De Wang1https://orcid.org/0000-0001-8856-7850Department of Electrical Engineering, National Taiwan University, Taipei, TaiwanDepartment of Electrical Engineering, National Taiwan University, Taipei, TaiwanExtensive research on persistent memory (PM)-aware file systems has led to the development of numerous methods for improving read/write throughput. In particular, accessing or modifying file contents in a similar manner to the memory operations through <italic>mmap</italic> is a common approach. We designed a file system, CFFS (Contiguous File Allocation with Fine-Grained Metadata File System), to rapidly allocate PM pages to upper layer applications for <italic>mmap</italic> and to alleviate page fault overheads due to <italic>mmap</italic>. We optimized the physical contiguity of files in PM to reduce file fragmentation and increase fragment alignment with the goal of reducing software overhead. To achieve this goal, we implemented greedy-based buddy systems and implicit preallocation with a not-most-recently-used (NMRU) policy based on our overall page allocation strategy of considering not only the spatial but also the temporal locality of file access patterns. Furthermore, for efficient and atomic metadata operations, we fully leveraged the byte-addressable property of PM to design fine-grained metadata. CFFS adopts persistent doubly linked lists for directory operations to identify and recover from inconsistencies caused by system failures, doing so without using traditional log mechanisms. In experiments, CFFS showed superior page allocation performance to EXT4-DAX and NOVA did under different PM fragmentation levels. Our allocation algorithm also reduced the cost of page faults for frequently appended files. Finally, CFFS’s lightweight directory operations performed excellently in creating and deleting files of various quantities. In summary, the main contribution of the paper is proposing an efficient page allocation algorithm to improve the performance of subsequent <italic>mmap</italic>s, based on the strategy of considering not only the spatial but also the temporal locality of file access patterns in PM file systems. Another contribution was the fine-grained and log-free method for atomic directory operations.https://ieeexplore.ieee.org/document/9869672/Non-volatile memory (NVM)persistent memoryoperating systemfile systemmemory management |
spellingShingle | Jen-Kuang Liu Sheng-De Wang CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained Metadata IEEE Access Non-volatile memory (NVM) persistent memory operating system file system memory management |
title | CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained Metadata |
title_full | CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained Metadata |
title_fullStr | CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained Metadata |
title_full_unstemmed | CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained Metadata |
title_short | CFFS: A Persistent Memory File System for Contiguous File Allocation With Fine-Grained Metadata |
title_sort | cffs a persistent memory file system for contiguous file allocation with fine grained metadata |
topic | Non-volatile memory (NVM) persistent memory operating system file system memory management |
url | https://ieeexplore.ieee.org/document/9869672/ |
work_keys_str_mv | AT jenkuangliu cffsapersistentmemoryfilesystemforcontiguousfileallocationwithfinegrainedmetadata AT shengdewang cffsapersistentmemoryfilesystemforcontiguousfileallocationwithfinegrainedmetadata |