Abstract

A popular user-space file system framework, FUSE, has been widely used for building various customized file systems (cFS) on top of the underlying kernel file system (kFS). A FUSE-based cFS gains adequate flexibility by developing its specific functions in user space, but brings extra user-kernel mode switches in the request processing flow owing to forwarding all requests from the FUSE kernel driver to the user-space daemon, thus degrading the overall performance. We observe that a file data request does not need to forward to the user-space daemon when its file-to-file mapping between the FUSE-based cFS and the underlying kFS remains unchanged. Based on the insight, we propose a modified FUSE framework - DeFUSE that decouples the processing flow of the metadata and data requests. The metadata requests still follow the original flow to reserve flexibility while the data requests are directly executed in the DeFUSE kernel driver maintaining the file-to-file mappings in the kernel, effectively eliminating the unnecessary mode switches. We have implemented the DeFUSE framework and ported three representative FUSE-based cFSs to DeFUSE. The result shows that for data-centric workloads, the throughput of DeFUSE-based cFSs increases up to 3.5X for write and 3.8X for read respectively, compared to their corresponding FUSE-based implementations. DeFUSE is available on Github.

Highlights

  • File systems are ubiquitously deployed in a myriad of storage devices and large-scale systems

  • We propose a DeFUSE based on FUSE framework to decouple the processing flow of the metadata and data request

  • We evaluate the performance of these DeFUSE-based cFSs and compare them with their corresponding FUSE-based implementations

Read more

Summary

Introduction

File systems are ubiquitously deployed in a myriad of storage devices and large-scale systems. FUSE has become a popular framework adopted by many existing file systems such as Ceph client [7] and Hadoop client [8], the client of cloud storage system Google Cloud Storage [9]; file system in data migration node MarFS [10]; a composited file system [11], a tiered optical storage system ROS [12]. It consists of two modules: FUSE kernel module and Userspace file system daemon

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call