ExtFUSE: Making FUSE File-Systems Faster With eBPF

Written by Michael Larabel in Linux Storage on 1 September 2018 at 01:08 PM EDT. 8 Comments
Georgia Tech tends to be home to a lot of interesting open-source projects and incubating long-term FLOSS/Linux developers. This university's latest interesting open-source project is "ExtFUSE" for making user-space FUSE file-systems faster by making use of the in-kernel eBPF framework.

Ashish Bijlani of Georgia Tech presented at this week's Linux Foundation Open-Source Summit on the work they are pursuing for making user-space file-systems faster. The short explanation of what they are doing with this project called "ExtFUSE" is to provide an extension framework of a "thin" layer of handlers within the kernel that leverage the eBPF in-kernel virtual machine for speeding up some I/O operations.

By using these "thin" kernel extensions they are able to avoid some user-space context switching and handling some metadata caching within the kernel while still sticking to the concept of the file-system implementation in user-space.

They found the overhead while compiling the Linux kernel on a FUSE file-system to introduce about a 17% latency for traditional FUSE while that dropped to just 5.71% with ExtFUSE. ExtFUSE as a "worst case" increased the memory consumption by about 50MB.

They are using eBPF-based code for custom filtering and permission checks, forwarding I/O requests to the lower file-system, and some meta-data handling. Among the FUSE file-systems they have been focusing on for seeing their optimizations have been Gluster, Ceph, EncFS, Android SDCardFS, and others.

More details on the ExtFUSE effort can be found via the PDF slides from this week's Open-Source Summit. The code is to be hosted on extfuse.github.io.

The code is said to be "coming soon", but beyond it being open-source hopefully once ready they will take the extra step of getting it in a state that can be mainlined in the Linux kernel. Sadly many of these academia projects end up coming up a step short of getting their innovations in a state that can reach the mainline Linux kernel.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week