作者:Wayne Gao, Yi Wang, Jie Chen, Sarika Mehta
Alluxio 作為全球領先的 AI 緩存解決方案供應商, 提供針對 GPU 驅動 AI 負載的高速緩存。其可擴展架構支持數萬個節點,能顯著降低存儲帶寬的消耗。Alluxio 在解決 AI 存儲挑戰方面的前沿技術在很大程度上推動了大語言模型( LLM )在全球範圍內的成功。
“Solidigm 和 Alluxio 聯合推出了高效的分佈式 AI 緩存方案。通過將 Solidigm 的 D5-P5336 用作讀緩存,D7-PS1010 用於 checkpoint 寫入,並搭配 Alluxio 的低操作開銷解決方案,我們幫助客户實現了大規模 AI 場景下成本和性能的最佳平衡。優化後的方案充分利用了Solidigm D7-PS1010 Gen5 TLC SSD 的寫入帶寬和 D5-P5336 Gen4 QLC SSD 的讀取帶寬,同時將 TLC 和 QLC SSD 的寫放大係數保持在 1.02。我們希望與 Alluxio 一道持續為客户提供高效、低成本的AI 解決方案。” - Greg Matson,Solidigm 戰略規劃與營銷高級副總裁。
Alluxio DORA 緩存架構的核心優勢
DORA(Decentralized Object Repository Architecture 的縮寫 )是 Alluxio 的新一代架構。
作為分佈式緩存存儲系統,DORA 具有低延遲、高吞吐量和節省成本的特點,同時旨在為 AI 工作負載提供高性能的數據訪問層。
DORA 利用去中心化存儲和元數據管理來提供更高的性能和可用性,以及可插拔的數據安全和治理,從而提高大規模數據訪問的可擴展性和管理效率。DORA 的架構目標:
DORA 的架構目標:
- 可擴展性:可擴展性是 DORA 的首要目標,旨在支持數百億個文件,從而滿足數據密集型應用(如 AI訓練)的需求。
- 高可用性:DORA 的架構設計考慮了高可用性,具有99.99%的正常運行時間,並可以防止在 master 出現單點故障。
- 性能:性能是 DORA 的核心目標,它優先考慮模型訓練、模型服務的速度,以及用於 AI 工作負載的GPU 利用率。
DORA 架構包含四個重要組件:服務註冊( service registry )、調度器( scheduler )、客户端( client )和 worker。這些組件共同管理服務發現、分佈式負載調度和數據存儲等任務,同時維持整個系統的最佳性能。
NVMe 存儲相關技術亮點
1. 頁數據存儲能夠利用 SSD 的最大性能,並保持最佳的寫放大係數(WAF)和耐用性
DORA 使用經嚴格測試的頁存儲模塊進行緩存存儲,從而可以更精細地緩存大文件上的小至中等規模的讀取請求。這種可靠的頁存儲技術已在 Meta、Uber 和 TikTok 等應用中得到驗證。DORA 的細粒度緩存使得讀放大情況降低到原先的1/150,並使得文件隨機讀性能提高了 15 倍。
頁數據存儲通過日誌文件系統,將數據分成兩級目錄,包含固定大小的大文件塊。所有寫操作都附加到這些文件塊中,而當其中的對象文件被標記為刪除時,只有在不需要這些文件時才會刪除。這種設計確保了即使在使用 PCIe 5.0 TLC SSD 時也能實現最佳性能, 同時也保持 SSD 的寫放大係數(WAF)為 1,從而最大限度提高 SSD 的耐用性。
例如, 當使用 QLC SSD 進行 Alluxio 讀緩存時,存儲引擎會充分利用 QLC 的耐用性,不會導致任何內部寫放大或垃圾回收寫放大,從而確保 QLC NVMe SSD 的高效運行。
2. 去中心化的元數據存儲
DORA 將元數據傳遞給每個 worker,確保元數據始終可訪問且可用。為了優化元數據訪問,DORA 對元數據條目使用兩級緩存系統。第一級緩存是內存緩存,它將元數據條目存儲在內存中。此緩存具有可配置的最大容量和有效時間 ( TTL ) 設置,可設置過期時限。第二級緩存是持久化緩存,通過RocksDB 將元數據條目存儲在磁盤上。持久化緩存具有無限容量,具體取決於可用磁盤空間,並且還使用基於 TTL 的緩存驅逐策略,防止主動同步或主動失效。存儲的元數據類似頁存儲,也是基於完整的 UFS 路徑的哈希值來確定分發到哪個 Dora Worker。
內存和持久化緩存的組合有助於確保元數據能夠隨時可用且可訪問,同時還可以高效利用系統資源。元數據的去中心化避免了在元數據主要由 master 節點來管理的架構中可能出現的瓶頸。由於每個 DORA worker 節點可存儲多達 3000 萬至 5000 萬個文件, 整個系統便可以支持擁有數百億文件的大規模數據密集型應用。
經 Solidigm 驗證, 內存元數據設計與 RocksDB 的組合提供了最佳的元數據存儲解決方案。該設計充分利用了 PCIe 4.0 QLC SSD ( 讀取 7GB/s,寫入 3GB/s )和 PCIe 5.0 TLC SSD( 讀寫均為 14.5GB/s )的讀寫性能。此外,RocksDB 通過跳錶( skiplist-based ) 寫緩存將許多小的寫入合併為較大的2MB 順序寫,這種方式極其高效,有助於將 SSD 寫放大係數(WAF)最小化,進一步提升 SSD 的耐用性。
性能測試::Alluxio 搭配 Solidigm™ 的 D7-PS1010 和 D5-P5336
測試配置
在最近一項實驗中( Solidigm D7-PS1010 和 D5-P5336 SSD,搭配 Intel Gen5 BNC 存儲服務器 ),Alluxio 展現其在數據快速攝取以及讀性能方面的優勢,特別是在 GPU 擴容的情況下。部署 Alluxio 後取得的顯著成效:
- 緩存加載效率: Alluxio 緩存引擎在寫入 PCIe 5.0 TLC SSD 時,能夠有效跑滿 UFS QLC 存儲的最大讀取帶寬。
- Fuse 讀取測試: Alluxio 的 FUSE 框架幾乎跑滿單個 PCIe 5.0 SSD 的讀取帶寬,顯示處理 NVMe SSD 緩存命中時的開銷極低。
為了能夠快速部署,我們設置了一個單節點測試來展示 Alluxio 存儲引擎的強大性能。Alluxio 的最大優勢在於能夠利用主機側的分佈式複製緩存,可隨着 GPU 擴展並顯著降低南北向存儲帶寬開銷。即使在單節點配置下,Alluxio 也表現出超高的效率,尤其是在搭配高性能 NVMe SSD 時。在此次測試中,我們將緩存配置為使用 PCIe 5.0 TLC 或 PCIe 4.0 QLC,而底層文件存儲( UFS )使用了 PCIe 4.0 QLC。
重要結論
- Alluxio 的緩存加載引擎十分高效,能夠跑滿 UFS QLC 的最大讀取帶寬,並將數據攝入到 PCIe 5.0 TLC 緩存 SSD 中。即使 UFS 支持 10GB/s 的讀取帶寬,Alluxio 也能輕鬆地跑滿 Solidigm D7-PS1010 9.3GB/s 的寫入帶寬。
- Alluxio 的頁緩存存儲引擎基於 XFS 日誌文件系統,並使用 Solidigm Alluxio FIO 仿真器進行了嚴格的使用壽命測試。測試結果表明,無論使用 TLC 還是 QLC SSD,Alluxio 都能實現 1.02 的寫放大( WAF )。這種接近理想的 WAF=1的效果能讓 SSD 的性能和耐用性最大化,為終端用户提供最佳性能。
重要結論
FUSE 的讀開銷極小。當執行 FUSE 讀取,在 SSD 緩存上 100%緩存命中並且繞過 DRAM 頁緩存時,FUSE 框架幾乎可以跑滿單個 PCIe 5.0 SSD 的讀帶寬,速度達到 14.8 GB/s。
對於尋求高效緩存方案的客户來説,Solidigm 的 61.44TB QLC 是理想選擇。Alluxio 的存儲引擎對於寫放大十分友好,作為以讀取為主的緩存,其寫入量極少,使得 QLC 完美適配其讀緩存路徑。鑑於 Alluxio 的高效設計,我們可以根據 213 PB 的順序寫總量 (PBW)來估算 QLC 緩存設備的耐用性,這也意味着 Solidigm 支持寫入高達 213PB 的數據。即使在 5 年週期內以 50% 的使用率(已是較高的閾值)計算,QLC 仍能支持 2900 MB/s 的寫帶寬,幾乎達到其最大值。此外,QLC 每塊 SSD 可提供高達 6GB/s 的隨機讀帶寬,實現高性價比的 Alluxio AI 緩存系統。
Solidigm SSD 如何為 Alluxio 提供合適的存儲
就讀緩存而言,Solidigm D5-P5336 61.44TB QLC 提供了卓越的性能和可擴展性。對於 checkpoint 寫入而言,PCIe 5.0 D7-PS1010 提供了一流的寫性能。
“我們與 Solidigm 團隊緊密合作,驗證了將 Alluxio 分佈式緩存技術與 Solidigm SSD 和 NVMe 驅動聯合用於 AI 模型訓練工作負載的性能優勢。通過這次合作,我們進一步優化了 Alluxio,通過充分發揮 Solidigm 驅動的優勢,將大規模 AI 工作負載的 I/O 吞吐量最大化。” Alluxio 工程副總裁杜璿表示,“我們期待與 Solidigm 繼續開展這項重要合作,共同為我們的客户提供高性能、高成本效益的解決方案,幫助客户構建、訓練和部署大規模 AI 模型。”
Alluxio 和 Solidigm 的合作成果表明,Solidigm TLC 和 QLC SSD 都能顯著提升 Alluxio 的服務,同時降低運營成本。此外,Solidigm 還提高了質量和可靠性標準,並由專門的客户服務團隊為 Alluxio 提供出色的支持。