搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

deepseek-ai/3FS

数据

面向 AI 训练与推理存储的分布式文件系统,针对 SSD 与 RDMA 集群设计。

10,452
1,153
C++
MIT
创建于 1 年前

项目介绍

3FS(Fire-Flyer File System)是一个用 C++ 编写的分布式文件系统,面向 AI 训练和推理的存储需求。它把大量 SSD 和存储节点聚合成一层共享存储,应用不必关心数据落在哪里;一致性通过 CRAQ 链式复制实现。元数据服务是无状态的,底层依赖 FoundationDB 这类事务型键值存储,对外仍提供常规文件接口,应用不需要学习新的存储 API。

它面向的场景包括数据准备、随机访问的数据加载、大规模训练的并行 checkpoint,以及为 LLM 推理提供 KVCache。仓库里有源码、设计说明、协议规范和 USRBIO API 文档,并不是只有概念介绍。

快速使用

官方给出的路径是在 Linux 上从源码构建。先克隆仓库、初始化子模块并应用补丁:

git clone https://github.com/deepseek-ai/3fs
cd 3fs
git submodule update --init --recursive
./patches/apply.sh

然后按发行版安装系统依赖。README 分别给出了 Ubuntu 20.04/22.04、openEuler 2403sp1、OpenCloudOS 9 和 TencentOS 4 所需的 apt、yum 或 dnf 命令。此外还需要 libfuse 3.16.1 或更新版本、FoundationDB 7.1 或更新版本,以及 Rust 工具链(最低 1.75.0,建议 1.85.0 或更新)。

使用 Clang 14 编译,并在配置时指定 shuffle 方法:

cmake -S . -B build \
      -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_C_COMPILER=clang-14 \
      -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
      -DSHUFFLE_METHOD=<method>
cmake --build build -j 32

<method> 填 g++10 或 g++11。新集群任选其一即可;已有集群必须沿用部署时编译器对应的方法,否则不同版本 std::shuffle 生成的二进制可能不兼容。TencentOS 4 和 OpenCloudOS 9 另有预构建的 Docker 编译镜像。构建完成后的测试集群需要按部署指南操作,README 没有展开这一步。

使用约束

  • 构建和部署文档面向 Linux,依赖包列表只覆盖特定发行版,其他环境需要准备等价依赖。
  • FoundationDB 是元数据层的必要依赖,不是可选组件。
  • README 中的吞吐数据来自大型集群:180 个存储节点、每节点 2×200 Gbps InfiniBand 网卡和 16 块 NVMe SSD 的读测试达到约 6.6 TiB/s;GraySort 在 25 个存储节点和 50 个计算节点上约 30 分钟排序 110.5 TiB。这些数字对应上述配置,不能理解为小集群或单机性能。
  • shuffle 方法一旦选定,整个集群生命周期内都要保持一致。
  • 项目采用 MIT 许可证。

HotRepo 点评

3FS 在 2026-11-10 的 C++ 日榜上以新增 5 星排到第 5 名,但更有参考价值的是 2025 年 2 月的 Hacker News 讨论:361 分、101 条评论,其中提到这套设计更早已公开并在生产中使用多年 设计背景。讨论中也有人质疑组装训练批次时是否真的需要高速随机读 随机读疑问,这是读者对照自身访问模式评估设计时值得正视的技术问题。仓库包含构建脚本、规范与部署文档,属于需要实际运维的集群软件,而不是可随手替换本地文件系统的工具。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

Fire-Flyer File System (3FS)
▲ 361 · 101 条评论 · 2025年2月28日

相关推荐

  1. seaweedfs/seaweedfs面向需要海量文件存储的团队,在同一份数据上同时提供 S3、POSIX 文件系统和 Iceberg 表。Go35,714
  2. dsx-ai-factory/run-ai面向共享 Kubernetes GPU 集群的 AI 负载编排与 GPU 调度平台,适合需要多团队配额管理的场景。Go728
  3. ceph/ceph面向云与本地集群的分布式对象、块和文件存储平台。C++17,206