DeepSeek 開(kāi)源 3FS,一個(gè)文件系統(tǒng)而已,有啥值得吹的?
有人說(shuō),deepseek一個(gè)搞AI的公司,不干正事,開(kāi)源一個(gè)文件系統(tǒng),有啥值得吹的。今天來(lái)簡(jiǎn)單聊聊3FS,包懂。
1. 3FS是什么?
3FS,F(xiàn)ire-Flyer File System,是一個(gè)用C++寫(xiě)的高性能分布式文件系統(tǒng)。
畫(huà)外音:幻方官網(wǎng)給出的翻譯是“螢火”。
2. deepseek為什么要重寫(xiě)分布式文件系統(tǒng)?
主要兩個(gè)原因。
其一,技術(shù)已經(jīng)全面升級(jí)。
- 傳統(tǒng)的分布式文件系統(tǒng)設(shè)計(jì)之初基本,大部分基本基于HDD與NFS TCP/IP;
- 而AI訓(xùn)練與推理大范圍使用SSD與RDMA;
畫(huà)外音:RDMA,Remote Direct Memory Access ,遠(yuǎn)程直接內(nèi)存訪問(wèn),最新高性能網(wǎng)絡(luò)通訊技術(shù)。
其二,AI訓(xùn)練與推理的業(yè)務(wù)需求傳統(tǒng)分布式文件系統(tǒng)已經(jīng)難以滿足。
- 海量數(shù)據(jù)順序讀(語(yǔ)料輸入);
- 檢查點(diǎn)(分步驟重算);
- 順序?qū)?模型參數(shù)保存);
- 隨機(jī)讀(特征查詢);
任何脫離業(yè)務(wù)的架構(gòu)設(shè)計(jì)都是耍流氓。Deepseek說(shuō),已有的分布式文件系統(tǒng)無(wú)法滿足我的需求時(shí),我就自己重寫(xiě)一個(gè)。
3. 如何重寫(xiě)一個(gè)分布式文件系統(tǒng)?
核心架構(gòu)選型,基本是兩條路。
其一,重寫(xiě)Linux內(nèi)核的文件管理模塊。
這條路似乎走不通:
- 不能使用C++ STL等成熟庫(kù);
- 不能使用用戶態(tài)下的編譯,調(diào)試工具(例如:Valgrind);
畫(huà)外音:額,最煩用Valgrind查內(nèi)存泄露。
- 要考慮大量的兼容性;
- 編譯,測(cè)試周期長(zhǎng);
- 容易導(dǎo)致系統(tǒng)崩潰;
- …
還有很重要的一點(diǎn),deepseek沒(méi)有搞Linux內(nèi)核編程的人。
其二,正好Linux提供了FUSE機(jī)制,允許用戶在不修改內(nèi)核代碼的情況下,在用戶空間實(shí)現(xiàn)自己的文件系統(tǒng)。
畫(huà)外音:FUSE,F(xiàn)ilesystem in Userspace,允許用戶通過(guò)接口與Linux虛擬文件系統(tǒng)VFS對(duì)接。
這樣的話,deepseek就能用高效的語(yǔ)言,高效的工具,高效的開(kāi)發(fā)適配自己業(yè)務(wù)的分布式系統(tǒng)了。
這里,除了說(shuō)一聲deepseek流弊,也讓我們大聲喊出:Linux流弊!
4. 作為一個(gè)分布式文件系統(tǒng),3FS有哪些特點(diǎn)?
(1) 高性能:所有組件都采用RDMA網(wǎng)絡(luò)連接,零拷貝。
(2) 低耦合:元數(shù)據(jù)與存儲(chǔ)分離。
額,分布式文件系統(tǒng)一般都這么搞,不值得吹。
(3) 一致性:基于FoundationDB不同場(chǎng)景支持不同的一致性模型:
- 常規(guī)寫(xiě)入:強(qiáng)一致,鏈?zhǔn)綇?fù)制;
- 文件更新:最終一致,定期同步;
很少有文件系統(tǒng)這么搞,這是一個(gè)一致性與性能的折衷。
(4) 均衡性:智能數(shù)據(jù)分片;
(5) 可靠性:多副本。
額,分布式文件系統(tǒng)一般都這么搞。
(6) 靈活性:物理塊大小分級(jí),從64K到64M,適配不同AI訓(xùn)練與推理場(chǎng)景。
減少了碎片,提高了SSD效率,但需要維護(hù)更多層級(jí)的資源池,分配復(fù)雜度提升。這是一個(gè)存儲(chǔ)效率與存儲(chǔ)復(fù)雜度的折衷。
(7) 快速恢復(fù):全量替換。
額,這是一個(gè)偷懶的設(shè)計(jì),不用復(fù)雜的回放恢復(fù),簡(jiǎn)化了恢復(fù)流程,數(shù)據(jù)恢復(fù)期間比較占流量。往好的方面吹,只能說(shuō)恢復(fù)速度快了=_=?;蛘哌@么說(shuō),文件損壞是小概率事件,不值得因此把整體設(shè)計(jì)搞復(fù)雜,這是一個(gè)概率與復(fù)雜性的折衷。
總的來(lái)說(shuō),針對(duì)AI訓(xùn)練與推理的場(chǎng)景,3FS做了非常多針對(duì)性的優(yōu)化。
畫(huà)外音:代碼還在看,看完再和大家細(xì)致交流。
5. 最終3FS達(dá)到了什么效果?
上面是3FS官網(wǎng)git給出的數(shù)據(jù),并附上了實(shí)驗(yàn)復(fù)現(xiàn)步驟。
幻方官網(wǎng),最顯著的位置,說(shuō)明了3FS是他們最大的三大核心競(jìng)爭(zhēng)力之一。
畫(huà)外音:還有算子庫(kù)+分布式訓(xùn)練通訊框架。
- 讀:8T/s
- 寫(xiě):500G/s
- IO響應(yīng):18億次/s
- 集群使用率:96%
- GPU使用率:85%
看到這里,你還會(huì)說(shuō),“一個(gè)文件系統(tǒng)而已”了嗎?
補(bǔ)充閱讀材料:
- https://github.com/deepseek-ai/3FS
- https://www.high-flyer.cn/blog/3fs/
來(lái)自官方git與官方blog,可參考。