当前位置: X-MOL 学术arXiv.cs.OS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
High Velocity Kernel File Systems with Bento
arXiv - CS - Operating Systems Pub Date : 2020-05-19 , DOI: arxiv-2005.09723
Samantha Miller (1), Kaiyuan Zhang (1), Mengqi Chen (1), Ryan Jennings (1), Ang Chen (2), Danyang Zhuo (3), Tom Anderson (1) ((1) University of Washington, (2) Rice University, (3) Duke University)

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 10x-60x on Filebench. We also show that we can dynamically add file provenance tracking to a running kernel file system with only 10ms of service interruption.

中文翻译:

使用 Bento 的高速内核文件系统

高开发速度对于现代系统至关重要。对于 Linux 文件系统来说尤其如此,因为新的存储设备和对存储系统的新需求带来了越来越大的压力。然而,由于容易引入错误、测试和调试困难以及缺乏对不中断服务的重新部署的支持,高速 Linux 内核开发具有挑战性。现有的 Linux 文件系统高速开发方法存在重大缺点,例如 FUSE 文件系统的高性能损失,减慢了新文件系统功能的部署周期。我们提出了 Bento,一个用于 Linux 内核文件系统高速开发的框架。它使以安全 Rust 编写的文件系统能够安装在 Linux 内核中,并将错误大部分沙盒化到文件系统中。可以在不中断运行应用程序的情况下更换 Bento 文件系统,允许在云服务器设置中进行每日或每周升级。Bento 还支持用户空间调试。我们使用 Bento 实现了一个简单的文件系统,并表明它在各种基准测试中的性能与 VFS-native ext4 相似,并且在 Filebench 上的性能比 FUSE 版本高 10-60 倍。我们还展示了我们可以在仅 10 毫秒的服务中断的情况下动态地将文件来源跟踪添加到正在运行的内核文件系统。我们使用 Bento 实现了一个简单的文件系统,并表明它在各种基准测试中的性能与 VFS-native ext4 相似,并且在 Filebench 上的性能比 FUSE 版本高 10-60 倍。我们还展示了我们可以在仅 10 毫秒的服务中断的情况下动态地将文件来源跟踪添加到正在运行的内核文件系统。我们使用 Bento 实现了一个简单的文件系统,并表明它在各种基准测试中的性能与 VFS-native ext4 相似,并且在 Filebench 上的性能比 FUSE 版本高 10-60 倍。我们还展示了我们可以在仅 10 毫秒的服务中断的情况下动态地将文件来源跟踪添加到正在运行的内核文件系统。
更新日期:2020-09-28
down
wechat
bug