AI 模型的訓練與推理對存儲系統提出了極為嚴苛的要求,特別是在高吞吐、高并發以及對海量小文件的高效處理方面,已成為三大主要挑戰。盡管基于 Lustre 或 GPFS 的并行文件系統具備出色的性能,但其成本高昂、吞吐能力與容量強耦合,可能導致硬件資源的浪費。隨著數據規模的急劇增長,這些問題變得更加突出。
我們將通過一個客戶從并行文件系統架構遷移至 JuiceFS 的案例,同時利用其閑置資源打造 70GB/s 吞吐,360 TB 緩存池的案例,深入探討 JuiceFS 如何實現高效的數據處理、低成本存儲與靈活的擴展能力。
01 早期存儲架構:資源利用不足與高昂的成本
該客戶是一家從事大語言模型訓練的企業,數據存儲在 AWS S3 上,最初通過 AWS FSx for Lustre 提供的并行文件系統訪問數據,確保計算資源能夠高效地訪問存儲在 S3 中的數據。FSx 和類似的并行文件系統,如阿里云 CPFS、火山引擎 vePFS 通常提供協議轉換、緩存加速以及文件生命周期管理這些功能。
為了支撐大規模的數據處理和計算,客戶采購了多臺裸金屬服務器,每臺配備了大量的本地 NVMe 磁盤。然而,這些磁盤長時間處于閑置狀態,造成了資源浪費。
盡管并行文件系統具有優異的性能,但其成本較高,并且吞吐性能與存儲容量緊密相關。如果要獲得更高的吞吐,必須購買更大容量的存儲,這導致了開銷的增加。考慮到未來數據量的增長,繼續擴展該系統將帶來巨大的成本壓力。
02 引入 JuiceFS 后的新架構:提升高吞吐與擴展性
在經過充分的技術選型和評估后,該客戶決定從原有架構遷移到 JuiceFS,以更好地滿足其高吞吐量和擴展性需求。
JuiceFS 架構特點
JuiceFS 采用數據和元數據分離的架構,數據存儲于對象存儲。企業版通過 Raft 協議構建元數據集群,社區版則支持 Redis、TiKV 等數據庫作為元數據引擎。
為了提高性能,JuiceFS 將數據切塊,每次更新限制為最小的 4MB,從而大幅減少文件寫入的浪費,顯著提升了在對象存儲上的寫入效率。初次使用 JuiceFS 的用戶可能會擔心,數據切塊后是否會影響文件的可用性,或是脫離 JuiceFS 產品后,JuiceFS 的分塊格式無法被正常讀取,造成產品的強綁定。事實上,JuiceFS 設計將對象存儲視作本地磁盤使用,避免了與文件系統的緊密耦合,同時解決了對象存儲在隨機寫入效率上的瓶頸。此外,JuiceFS 提供接口支持輕松將數據遷移回 S3 對象存儲,避免了對特定存儲產品的依賴。
部署方案
與之前的托管文件系統集中式的架構不同,基于 JuiceFS 的新架構利用每個業務節點上的客戶端來提供協議轉換和緩存加速功能。無論是通過 JuiceFS CSI 與 Kubernetes 集成,還是直接通過主機訪問,部署完成后,業務節點便能高效地訪問元數據和對象存儲,極大提升了存儲系統的性能與靈活性。這種架構的優勢在于,可以靈活地擴展系統,避免單點故障,同時提升存儲和計算資源的利用效率。
此外,JuiceFS 能夠充分利用閑置硬件資源,如 NVMe 本地磁盤和內存。JuiceFS 將這些閑置磁盤整合為一個分布式緩存池,從而提升緩存性能和吞吐能力。對于社區版用戶,可以將緩存目錄設置到分布式文件系統中,如 BeeGFS 等,以構建分布式緩存層。
最終,使用 JuiceFS,該客戶構建了一個 360TB 的分布式緩存池,6 臺服務器提供了 600Gbps 的聚合帶寬,該緩存池的瞬時吞吐已達到 10GB/s,JuiceFS 在 TCP 網絡利用率方面表現出色,100Gbps 以下帶寬的利用率可達 95%。若 GPU 節點沒有額外磁盤資源,也可利用內存來構建緩存池。
03 JuiceFS 讀性能測試
為了評估和展示 JuiceFS 使用分布式緩存后的讀性能,我們進行了內部測試,使用了 JuiceFS 企業版 5.2,測試大文件順序讀性能。
測試結果顯示,在 100 臺機器聚合成的 10Tbps 網絡環境下,JuiceFS 分布式緩存的聚合吞吐量達到了 1.23 TB/s,證明在 100Gbps TCP 網絡條件下,網絡利用率可達到 95%以上;即使在 200Gbps 網絡下,利用率也可達到約 70%。本次測試使用 100Gbps 網卡,在 TCP 環境下成功實現了較高的整體聚合吞吐率。
在測試過程中,我們結合了磁盤和內存資源,確保充分利用 100Gbps 網卡的帶寬上限,達到每秒 12.5GB 的吞吐量。
在緩存服務節點的測試中,每秒從本地磁盤讀取 11GB 數據并通過網絡傳輸到消費節點時,CPU 消耗不到一個核,平均每提供 10GB/s 帶寬,僅消耗一個核。
在客戶端節點方面,每 GB/s 的讀取僅消耗 0.8 個 CPU 核。如果要充分利用 100Gbps 網卡帶寬,使用 JuiceFS FUSE 客戶端存儲需占用 10 個 CPU 核。TCP 網絡對用戶來說應用更為廣泛,因此,基于 TCP 網絡 的優化方案能夠廣泛適用于多種場景,滿足不同需求。
04 總結
本文介紹了 JuiceFS 在 AI 訓練與推理場景中的應用。在這些場景中,雖然延遲和 IOPS 重要,但吞吐性能和性價比同樣不可忽視。針對傳統并行文件系統(PFS)成本高且吞吐量與存儲容量綁定的問題,JuiceFS 提供了一種低成本、高效益的解決方案。其通過數據與元數據分離的架構,能夠將業務節點上的閑置磁盤、內存和網絡資源池化,按需構建高性能的分布式緩存集群,避免了容量綁定的限制。如文中案例所示,采用該方案能夠將存儲總擁有成本降低近十倍,同時實現高達 TB/s 級別的吞吐量,并保持較低的客戶端 CPU 開銷。