论文标题

带有本托的高速速度内核文件系统

High Velocity Kernel File Systems with Bento

论文作者

Miller, Samantha, Zhang, Kaiyuan, Chen, Mengqi, Jennings, Ryan, Chen, Ang, Zhuo, Danyang, Anderson, Tom

论文摘要

高发展速度对于现代系统至关重要。对于Linux文件系统尤其如此,这些文件系统正在看到新的存储设备的压力增加以及对存储系统的新需求。但是,由于易于引入错误,测试和调试的困难以及对不受服务破坏的重新部署的支持,因此很高的速度Linux内核开发变得具有挑战性。现有的用于Linux文件系统的高速开发的方法具有主要的缺点,例如FUSE文件系统的高性能惩罚,从而减慢了新文件系统功能的部署周期。 我们提出了Bento,这是Linux内核文件系统高速开发的框架。它可以在Linux内核中安装用安全锈蚀编写的文件系统,并且错误在文件系统上大量沙箱。可以在不中断运行应用程序的情况下替换Bento文件系统,从而在云服务器设置中每天或每周升级。 Bento还支持用户空间调试。我们使用Bento实施了一个简单的文件系统,并表明它在各种基准上的执行与VFS-Native Ext4的性能类似,并且在“ Git Clone”上的7倍效果优于7倍版本。我们还表明,我们可以动态地将文件出处跟踪添加到仅15毫秒服务中断的运行内核文件系统中。

High development velocity is critical for modern systems. This is especially true for Linux file systems which are seeing increased pressure from new storage devices and new demands on storage systems. However, high velocity Linux kernel development is challenging due to the ease of introducing bugs, the difficulty of testing and debugging, and the lack of support for redeployment without service disruption. Existing approaches to high-velocity development of file systems for Linux have major downsides, such as the high performance penalty for FUSE file systems, slowing the deployment cycle for new file system functionality. We propose Bento, a framework for high velocity development of Linux kernel file systems. It enables file systems written in safe Rust to be installed in the Linux kernel, with errors largely sandboxed to the file system. Bento file systems can be replaced with no disruption to running applications, allowing daily or weekly upgrades in a cloud server setting. Bento also supports userspace debugging. We implement a simple file system using Bento and show that it performs similarly to VFS-native ext4 on a variety of benchmarks and outperforms a FUSE version by 7x on 'git clone'. We also show that we can dynamically add file provenance tracking to a running kernel file system with only 15ms of service interruption.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源