在討論安全問題前,可能還要先牽扯算力集群和存儲的網(wǎng)絡(luò)方案。
眾所周知,Nvidia 在 AI 數(shù)據(jù)中心推崇兩個概念,一個是 AI Factory,另一個是 AI Cloud,前者類似于超級計算機(jī)的概念,適合單應(yīng)用場景并推薦
Infiniband 組網(wǎng)方案,后者面臨多租戶和多樣化的計算任務(wù),因此推薦以太網(wǎng)方案。在這個分類下,我們會將以上存儲安全訪問問題縮小到更廣泛 AI Cloud 場景上,因為這類場景相比而言,更急迫的需要解決。
特別是,在當(dāng)下 GPU 芯片昂貴成本下,即使在非 GPU 虛擬化場景,算力共享和靈活調(diào)度都是降低 AI 任務(wù)成本的重要手段,但算力平臺如何向用戶提供安全的數(shù)據(jù)訪問和隔離手段是其中的重中之重。因此,AI 算力集群需要在足夠性能下解決控制面和數(shù)據(jù)面的安全訪問挑戰(zhàn):
在以太網(wǎng)組網(wǎng)的 AI Cloud 場景下,Nvidia 提出了引入 DPU 方案來解決上述問題,通過 DPU 提供的代理訪問來隔離非信任的主機(jī)和可信基礎(chǔ)設(shè)施,確保 AI Cloud 的數(shù)據(jù)安全。
DPU 是一種專用硬件加速器,通常包含 CPU、內(nèi)存和網(wǎng)絡(luò)接口,能夠在不增加主機(jī)側(cè)處理器負(fù)擔(dān)的情況下,執(zhí)行數(shù)據(jù)處理任務(wù),包括 Nvidia、Intel、AMD、Marvell 在內(nèi)的芯片廠商都推出了 DPU 產(chǎn)品。DPU 在安全性上通常可以帶來幾個好處:
值得一提的是:在 Nvidia 發(fā)布的《下一代 AI 的新一代網(wǎng)絡(luò)》白皮書中,提到在 400/800Gb 的網(wǎng)絡(luò)中,即使無損網(wǎng)絡(luò)環(huán)境中,都很難避免在 AI 的突發(fā)流量中性能不受影響。因此在以太網(wǎng)路線上,業(yè)界會期望借助于 DPU 算力來實現(xiàn) RDMA 的擁塞控制,而不是依賴交換機(jī)或者 ECN 機(jī)制。因此 DPU 可能會是超高以太網(wǎng)網(wǎng)絡(luò)的必需。
回到計算節(jié)點的 GPU 應(yīng)用對于文件存儲訪問這個問題,存儲客戶端目前主要有兩種選擇:
而引入 DPU 來實現(xiàn)安全訪問,可以利用業(yè)界已有的虛擬化場景的文件協(xié)議實現(xiàn) virtio-fs,virtio-fs 已經(jīng)有長達(dá)十年的發(fā)展歷程,它可以在這里提供從 Host 到 DPU 的文件代理通道,使得文件存儲客戶端可以完全運(yùn)行于 DPU 操作系統(tǒng)。這樣的變化,可以用下圖來更清晰展示,其中紅色的訪問路徑表示不安全的,綠色表示通過 DPU 的代理訪問:
從技術(shù)角度來講,引入額外的 DPU 來實現(xiàn)文件存儲訪問肯定帶來額外開銷,具體來說有這兩個問題:
在這里,Nvidia 正式提出了 DPU Secure Storage Zero Copy 項目,通過引入 Cross-function mkey(RDMA mkey) 允許 DPU 使用來自 Host 地址空間的地址,減少了從 Host 到 DPU 的拷貝。整個數(shù)據(jù)傳輸仍由 DPU 中的服務(wù)來實現(xiàn),只有受信任的 DPU 服務(wù)才能訪問 Cross-function mkey,實際上就是由存儲客戶端來維護(hù),整個 IO 過程都不會將存儲后端暴露給 Host,確保潛在的安全風(fēng)險最小化。進(jìn)一步來說,Host 的內(nèi)存可以被用來做文件數(shù)據(jù)緩存,無需受 DPU 引入的影響,也避免了 Double Buffer 問題:
DPU Secure Storage Zero Copy 會通過 DOCA virtfs-fs SDK 來交付,過去 DOCA 已經(jīng)提供了 SNAP NVME 能力,即可以通過 DPU 來實現(xiàn) NVMe over Fabric 的卸載,DOCA SNAP virtfs 會成為新的文件存儲訪問卸載能力。
DPU 中的 VirtioFS 服務(wù)會基于 SPDK(https://spdk.io/) 開發(fā),提供面向不同的文件存儲供應(yīng)商實現(xiàn)統(tǒng)一的抽象,運(yùn)行在 DPU 中,面向 Host 的 virtio-fs 內(nèi)核驅(qū)動承接請求,并為不同供應(yīng)商的文件存儲客戶端根據(jù)需要去執(zhí)行對應(yīng)請求,未來文件存儲供應(yīng)商可以通過以下方式對接:
目前 DPU Secure Storage 項目也需要得到文件存儲廠商和 Linux Upstream 的支持,文件存儲廠商需要盡快考慮將存儲客戶端遷移到合適的 DPU 運(yùn)行環(huán)境,并作為 SPDK virtio-fs 的后端,為了實現(xiàn)零拷貝,需要能夠支持利用 SPDK 的 memory domain API 來獲得 mkey 對應(yīng)的 Host 內(nèi)存空間。而為了在 Host OS 上需要進(jìn)一步加強(qiáng) virtio-fs 的性能,比如實現(xiàn)多隊列能力,支持 GPU 內(nèi)存等。
對于國內(nèi)領(lǐng)先的分布式存儲廠商來說,我們同樣認(rèn)為,不僅是 Nvidia BlueField 系列產(chǎn)品可以提供這樣的方式,這樣的需求應(yīng)該可以在普遍的 DPU 產(chǎn)品中實現(xiàn)并被利用,有效的提高 DPU 在存儲協(xié)議上的多樣化支持,并帶來共享文件存儲的安全性所需。
我們也會盡快評估在基于新一代全共享架構(gòu)(XSEA)的全閃存文件存儲,提供面向 AI Cloud 場景的 DPU 訪問客戶端能力,擁抱快速變化的 AI 基礎(chǔ)設(shè)施進(jìn)化。在多樣化的 GPU 存儲類型的利用上,不管是塊存儲的 NVMe 卷作為節(jié)點內(nèi)的高速緩存,還是共享文件存儲作為 CPU/GPU 內(nèi)存的全局緩存存儲,最終通過基于對象存儲的數(shù)據(jù)湖來統(tǒng)一治理,這些存儲類型的需求和定位都跟 XSKY 的產(chǎn)品定位和路線圖高度符合。