ScyllaDB Student Projects, Part II: Implementing an Async Userspace File System
Blog post from ScyllaDB
In a blog post by Piotr Sarna, the development of an asynchronous userspace file system, SeastarFS, is detailed as part of a student project sponsored by ScyllaDB in collaboration with the University of Warsaw. The project aimed to create a log-structured file system to meet ScyllaDB's specific latency requirements and to reduce dependency on third-party software like XFS. Implemented in Seastar, this file system allows for better control over memory usage and latency guarantees, aligning with ScyllaDB's shared-nothing design. SeastarFS is designed for high throughput and low latency, optimized for large files and sequential read/write operations, diverging from traditional POSIX compliance by focusing on performance over comprehensive features. The blog also discusses the challenges of compaction in log-structured file systems and the intricacies of lock management to maintain metadata consistency. Although not yet production-ready, the project has shown promising test results when compared to existing systems like XFS, and its development has contributed to the academic work of participating students.