FUSE Patch Allows Non-Extending, Parallel Direct Writes For Better Performance

Written by Michael Larabel in Linux Storage on 9 May 2022 at 12:14 PM EDT. 9 Comments
LINUX STORAGE
For those making use of FUSE user-space file-system capabilities, developer Dharmendra Singh has posted a patch to allow for non-extending parallel direct writes. In turn for threaded write scenarios this can mean a huge boost to performance.

Dharmendra Singh explained with today's FUSE patch, "It is observed that currently in Fuse, for direct writes, we hold inode lock for the full duration of the request. As a result, only one direct write request can proceed on the same file. This, I think is due to various reasons such as serialization needed by USER space fuse implementations/file size issues/write failures. This patch allows parallel writes to proceed on the same file by by holding shared lock on the non-extending writes and exclusive lock on extending writes."

Benchmarking with FIO is showing very promising results for threaded write tests.


At 32 threads, the performance was as much as a 630% improvement or even at four threads was a 42% improvement.
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