List of FSL FUSE Git repositories
This page contains supporting material for
"To FUSE or Not to FUSE: Performance of User-Space File Systems"
paper by Bharath Kumar Reddy Vangoor, Vasily Tarasov, and Erez Zadok
published in the USENIX FAST 2017 conference.
As part of the FUSE performance study, we implemented the following
items:
- To study the FUSE design and implementation, we implemented a
simple Stackable File System (StackFS) using FUSE using low-level
API. The
code is published at the following location (git repo):
https://github.com/sbu-fsl/fuse-stackfs
This repository also contains the following additional information:
- Workload files that we used to characterize the FUSE
performance.
The workload files are written for
Filebench
using its Workload Modeling Language (WML).
- Results for all the workloads on HDD and SSD for EXT4 and two
configurations of StackFS file system.
- Automated scripts that we used for invoking the workloads and
parsing useful information from results.
- All the plotting scripts (written in octave) and plots that
we
generated throughout the project.
- To know the runtime statistics of FUSE we instrumented
the FUSE kernel code and FUSE library to collect the histograms
of time that each request spends at different stages (e.g., in different FUSE queues).
We also added traces (only in kernel) to learn
the detailed code flow. Instrumentation for kernel
is available at:
https://github.com/sbu-fsl/fuse-kernel-instrumentation
under "fuse_kernel_instrumentation" branch.
Instrumentation added to FUSE library is available at:
https://github.com/sbu-fsl/libfuse
under "fuse_lib_instrumentation" branch.
This project is conducted in the
Stony Brook
Filesystems and Storage Lab
(FSL).
(Last updated: 2016-12-28)