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...

Full description

Bibliographic Details
Main Authors: Jen-Kuang Liu, Sheng-De Wang
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&#x2019;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&#x2019;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