标签归档: 文件系统

3FS Usrbio 简介

3FS 是一个为 AI 训练设计的分布式文件系统,USRBIO 是其原生客户端的关键功能。研究表明,usrbio 允许用户态应用程序直接提交 I/O 请求,绕过内核和 VFS,提升性能。它使用 Iov 作为大型共享内存进行零拷贝读写,Ior 则像 Linux 的 io-uring,处理批处理 I/O 请求。USRBIO 通过零拷贝和异步 I/O 减少开销,特别适合高吞吐量场景,如 AI 数据处理。

传统的FUSE客户端与服务端的数据交互流程为:

FUSE 操作示意图
图片源自:https://juicefs.com/zh-cn/blog/engineering/fuse-file-system-design

可以看到数据流在内核和用户态之间要反复拷贝才能传递到应用中。而3FS的USRBIO则卸载了数据流,直接通过3FS的SDK从远端拉取数据,结合RDMA等高效网络,做到了零拷贝。

picture.image
图片来源:https://developer.volcengine.com/articles/7480397583173877797

总的来说,USRBIO 通过以下方式提升了 I/O 性能:

  1. 零拷贝 I/O:通过共享内存 Iov,数据无需在用户态和内核态之间拷贝,减少了内存拷贝开销。
  2. 批处理 I/O 请求:Ior 允许一次性提交多个 I/O 请求,减少系统调用次数。例如,设置 io_depth=1024 可以批处理 1024 个请求,显著降低上下文切换开销。
  3. 异步 I/O:应用程序可以继续执行其他任务,而不必等待 I/O 操作完成,提升了并发性能。
  4. 高性能网络支持:Iov 内存注册为 InfiniBand,支持 RDMA 等高性能网络传输,特别适合分布式 AI 训练场景。

这些特性使得 USRBIO 特别适合需要高吞吐量和低延迟的 AI 工作负载,例如处理 PB 级数据集的排序任务(如 GraySort 基准测试,3.66 TiB/分钟吞吐量)。

参考链接:
https://developer.volcengine.com/articles/7480397583173877797
https://zhuanlan.zhihu.com/p/30602759754
https://github.com/deepseek-ai/3FS/blob/main/docs/design_notes.md
https://github.com/deepseek-ai/3FS/blob/main/src/lib/api/UsrbIo.md

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 归档目录:AI技术, 存储技术, 架构设计, 软件技术 | 同时打有标签:, , , , |

Linux文件系统基础之inode和dentry

inode和dentry在VFS和实体的文件系统(ext2、ext3等)中都是比较重要的概念。首先看一下虚拟文件系统的标准定义:虚拟文件系统英语:Virtual file system,缩写为VFS),又称虚拟文件切换系统(virtual filesystem switch),是操作系统的文件系统虚拟层,在其下是实体的文件系统。虚拟文件系统的主要功用,在于让上层的软件,能够用单一的方式,来跟底层不同的文件系统沟通。在操作系统与之下的各种文件系统之间,虚拟文件系统提供了标准的操作接口,让操作系统能够很快的支持新的文件系统。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 8票) Loading ... Loading ... | 归档目录:存储技术, 算法数据结构 | 同时打有标签:, , |