Scale and Performance in a Filesystem Semi-Microkernel (SOSP'21)
We present uFS, a user-level filesystem semi-microkernel. uFS takes advantage of a high-performance storage development kit to realize a fully-functional, crash-consistent, highly-scalable filesystem, with relative developer ease. uFS delivers scalable high performance with a number of novel techniques: careful partitioning of in-memory and on-disk data structures to enable concurrent access without locking, inode migration for balancing load across filesystem threads, and a dynamic scaling algorithm for determining the number of filesystem threads to serve the current workload. Through measurements, we show that uFS has good base performance and excellent scalability; for example, uFS delivers nearly twice the throughput of ext4 for LevelDB on YCSB workloads.
Jing Liu (https://jingliu.xyz/) is a Ph.D. candidate in Computer Sciences at the University of Wisconsin – Madison, advised by Prof. Andrea Arpaci-Dusseau and Prof. Remzi Arpaci-Dusseau. She is interested in storage systems, with a focus on scale and performance. Her work aims to design layered distributed storage systems where each layer will scale independently to each other with optimized performance and parallelism within the layer, ranging from the local file systems to geo-distributed deployments. Prior to UW-Madison, she received a BEng from Nanjing University. Jing is a receipt of the 2022 Meta Ph.D. research fellowship in systems.