DeepSeek分布式文件系统

  • 量子位
  • 2025-04-20 04:43:43
DeepSeek分布式文件系统DeepSeek自用文件系统原理

3FS(Fire-Flyer File System):DeepSeek开源周,拿来压轴的分布式文件系统。

它是DeepSeek自研的一套系统,V3和R1训练时用的就是它。

该系统能够极大地发挥固态硬盘的带宽优势,在大规模集群环境下展现出强大的读写能力和容错性能。

在180个节点组成的集群中,3FS可实现高达6.6TB/s的聚合读取吞吐量。

而且3FS还对用户高度透明。就算一个文件存散在10台机器上,用户看到的依然只是一个/3fs/xxx.txt路径,读写方式和本地没区别。【图1】

在具体实现上,3FS中的节点分为四种角色:【图2】

- Client:用户接入的入口节点,负责与其他节点协调交互;
- Meta:负责管理文件的元数据,包括路径、权限、文件大小等;
- Mgmtd:集群的调度核心,掌握节点分布情况,并负责数据复制与节点注册;
- Storage:实际存储数据块的节点。

在这种架构下,3FS的核心目标是实现“强一致性”——即使文件被分布在多个节点,用户看到的路径和内容始终一致。

实现强一致性的关键在于引入CRAQ(Chain Replication with Apportioned Queries)协议。

CRAQ通过链式复制的方式,有序传递写操作,确保数据的一致性。其工作流程如下:【图3】

- 写入开始:用户发起写操作(如name=henry),数据首先写入链的头节点(Head);
- 沿链传播:数据依次传递到中间副本节点(Replica)和尾节点(Tail);
- 写入状态变化:
- 数据在传输过程中被标记为Dirty(脏数据,不可读取);
- 一旦数据成功写入尾节点,便被标记为Clean(清洁数据,可读取);
- 尾节点读取:为保证读取的是一致且已确认的数据,读操作通常只在尾节点进行。

CRAQ的好处是读性能好,但由于写入过程需经过整个链条,其写入延迟可能受到最慢节点的影响。因此,在读写都非常密集的场景中,可能面临性能瓶颈。

目前,该项目还在持续完善中,感兴趣的小伙伴可以点击:网页链接

扩展阅读:网页链接
DeepSeek分布式文件系统DeepSeek分布式文件系统DeepSeek分布式文件系统