Scalable File System Development Interfaces

Thumbnail

Event details

Date 25.08.2025
Hour 09:3011:30
Speaker Sidharth Sundar
Location
Category Conferences - Seminars
EDIC candidacy exam
Exam president: Prof. Thomas Bourgeat
Thesis advisor: Prof. Sanidhya Kashyap
Co-examiner: Prof. George Candea

Abstract
Historically, file systems (FSes) maintained in the kernel have been generic, targeting decent performance for a wide range of applications. However, with recent advances in storage technologies and new application use cases, existing kernel-based FSes form bottlenecks or lack functionality in cases where they were previously sufficient. Thus, in both academia and industry, we have seen an influx in library file systems (LibFSes), application-customized FSes for improved functionality such as lower storage stack overheads, custom crash consistency mechanisms, or application tailored data organization.

However, file system development is hard to get correct, with even stable kernel-based file systems such as ext4 having frequent semantic, memory, and concurrency bugs. In the worst cases, these bugs can lead to FS-wide data corruption and system crashes. While difficult to ensure existing file systems operate in a bug-free manner, the advent of LibFSes presents an opportunity to construct specialized file systems in a correct-by-construction manner. Thus, we propose to focus on a particular class of bugs - specifically concurrency bugs - and achieve two goals. First, to present a development toolkit for LibFS developers to write FS code in a single threaded manner. And second, to scale that single-threaded code to multiple cores in a correct-by-construction manner while maximizing scalability under varying workloads.

To motivate this research, we investigate three papers. First, we will examine TxFS, which introduces transactions across FS system calls to bridge application ACID semantics with FS ACID semantics. Second, I'll present ScaleFS, a FS that improves multicore scalability of concurrent FS operations by leveraging commutativity. Finally, I'll discuss BentoFS, a Rust-based development toolkit built atop FUSE that provides FS developers a correct-by-construction approach to ensure their LibFSes have no memory bugs. Then I'll bridge these points, using the concurrency management mechanisms introduced in TxFS and ScaleFS alongside the correct-by-construction motivation in BentoFS to propose our system to scale single-threaded FS code to many cores.

Selected papers
1. TxFS: Leveraging File-System Crash Consistency to Provide ACID Transactions: https://www.usenix.org/system/files/conference/atc18/atc18-hu.pdf
2. Scaling a file system to many cores using an operation log: https://dl.acm.org/doi/10.1145/3132747.3132779
3. 
High Velocity Kernel File Systems with Bento: https://www.usenix.org/system/files/fast21-miller.pdf
 

Practical information

  • General public
  • Free

Tags

EDIC candidacy exam

Share