有人说,deepseek一个搞AI的公司,不干正事,开源一个文件系统,有啥值得吹的。
今天
来简单聊聊3FS,包懂。
【1】3FS
是什么?
3FS,
Fire-Flyer File System
,
是一个用
C++
写的高性能
分布式文件系统
。
画外音:幻方官网给出的翻译是“萤火”。
【2】deepseek
为什么要重写分布式文件系统
?
主要两个原因。
其一,技术已经全面升级。
1.
传统的分布式文件系统设计之初基本,大部分基本基于
HDD
与
NFS TCP/IP
;
2.
而
AI
训练与推理大范围使用
SSD
与
RDMA
;
画外音:
RDMA
,
Remote Direct Memory Access ,
远程直接内存访问,最新高性能网络通讯技术。
其二,
AI
训练与推理的业务需求传统分布式文件系统已经难以满足。
1.
海量数据顺序读(语料输入);
2.
检查点(分步骤重算);
3.
顺序写(模型参数保存);
4.
随机读(特征查询);
任何脱离业务的架构设计都是耍流氓。
Deepseek
说,已有的分布式文件系统无法满足我的需求时,我就自己重写一个。
【3】如何重写一个分布式文件系统?
核心架构选型,基本是两条路。
其一,重写
Linux
内核的文件管理模块。
这条路似乎走不通:
1.
不能使用
C++ STL
等成熟库;
2.
不能使用用户态下的编译,调试工具(例如:
Valgrind
);
画外音:额,最烦用
Valgrind
查内存泄露。
3.
要考虑大量的兼容性;
4.
编译,测试周期长;
5.
容易导致系统崩溃;
…
还有很重要的一点,
deepseek
没有搞
Linux
内核编程的人。
其二,正好
Linux
提供了
FUSE
机制,允许用户在不修改内核代码的情况下,在用户空间实现自己的文件系统。
画外音:
FUSE
,
Filesystem in Userspace
,允许用户通过接口与
Linux
虚拟文件系统
VFS
对接。
这样的话,
deepseek
就能用高效的语言,高效的工具,高效的开发适配自己业务的分布式系统了。
这里,除了说一声
deepseek
流弊,也让我们大声喊出:
Linux
流弊!
【4】作为一个分布式文件系统,3FS有哪些特点?
1.
高性能:
所有组件都采用
RDMA
网络连接,零拷贝。
2.
低耦合: