您現在的位置是:首頁 > 攝影首頁攝影

SSD直接連線到GPU,英偉達終於出手了

由 半導體行業觀察_ 發表于 攝影2022-12-04
簡介BaM 不依賴於虛擬地址轉換、基於頁面錯誤的按需載入資料以及其他以 CPU 為中心的傳統機制來處理大量資訊,而是提供了允許 Nvidia GPU 獲取的軟體和硬體架構直接從記憶體和儲存中獲取資料並對其進行處理,而無需 CPU 核心對其進行編

英偉達固態硬碟怎麼樣

SSD直接連線到GPU,英偉達終於出手了

英偉達、IBM 和大學合作者開發了一種架構,他們稱該架構將為 GPU 加速的應用程式(例如分析和機器學習訓練)提供對大量資料儲存的快速細粒度訪問。

這種技術被稱為大加速器記憶體(Big accelerator Memory),又名 BaM,這是一個有趣的嘗試,旨在減少 Nvidia 圖形處理器和類似硬體加速器在訪問儲存時對通用晶片的依賴,這可以提高容量和效能。

我們知道,現代圖形處理單元不僅僅用於圖形;它們還用於各種重型工作負載,例如分析、人工智慧、機器學習和高效能計算 (HPC)。為了高效地處理大型資料集,GPU 要麼需要大量昂貴的本地專用記憶體(例如 HBM2、GDDR6 等),要麼需要高效地訪問固態儲存。現代計算 GPU 已經搭載 80GB–128GB 的 HBM2E 記憶體,下一代計算 GPU 將擴充套件本地記憶體容量。但資料集大小也在迅速增加,因此最佳化 GPU 和儲存之間的互操作性很重要。

換而言之,我們必須改進 GPU 和 SSD 之間的互操作性有幾個關鍵原因:首先,NVMe 呼叫和資料傳輸給 CPU 帶來了很大的負載,從整體效能和效率的角度來看,這是低效的。其次,CPU-GPU 同步開銷和/或 I/O 流量放大顯著限制了具有大量資料集的應用程式所需的有效儲存頻寬。

“BaM 的目標是擴充套件 GPU 記憶體容量並提高有效的儲存訪問頻寬,同時為 GPU 執行緒提供高階抽象,以便輕鬆按需、細粒度地訪問擴充套件記憶體層次結構中的海量資料結構”,該團隊在其撰寫的論文中說。

BaM 是 Nvidia 將傳統的以 CPU 為中心的任務轉移到 GPU 核心的一步。BaM 不依賴於虛擬地址轉換、基於頁面錯誤的按需載入資料以及其他以 CPU 為中心的傳統機制來處理大量資訊,而是提供了允許 Nvidia GPU 獲取的軟體和硬體架構直接從記憶體和儲存中獲取資料並對其進行處理,而無需 CPU 核心對其進行編排。

BaM 有兩個主要部分:GPU 記憶體的軟體管理快取;以及用於 GPU 執行緒的軟體庫,透過直接與驅動器對話,直接從 NVMe SSD 請求資料。在儲存和 GPU 之間移動資訊的工作由 GPU 核心上的執行緒處理,使用 RDMA、PCIe 介面和允許 SSD 在需要時直接讀取和寫入 GPU 記憶體的自定義 Linux 核心驅動程式。如果請求的資料不在軟體管理的快取中,驅動器的命令將由 GPU 執行緒排隊。

這意味著在 GPU 上執行以執行密集型工作負載的演算法可以快速獲取所需的資訊,並且——至關重要的是——以針對其資料訪問模式進行最佳化的方式。

SSD直接連線到GPU,英偉達終於出手了

論文中的圖表比較了傳統的以 CPU 為中心的儲存訪問方法 (a) 與 GPU 主導的 BaM 方法 (b) 以及所述 GPU 將如何物理連線到儲存裝置 (c)。

研究人員使用現成的 GPU 和 NVMe SSD 測試了一個由 Linux 驅動的原型 BaM 系統,以證明它是當今讓主機處理器指揮一切的方法的可行替代方案。我們被告知,可以並行化儲存訪問,消除同步障礙,更有效地使用 I/O 頻寬來提高應用程式效能。

“以 CPU 為中心的策略會導致過多的 CPU-GPU 同步開銷和/或 I/O 流量放大,從而減少具有細粒度資料相關訪問模式(如圖形和資料分析、推薦系統和圖形)的新興應用程式的有效儲存頻寬神經網路,”研究人員在論文中說。

藉助軟體快取,BaM 不依賴於虛擬記憶體地址轉換,因此不會遭受諸如 TLB 未命中之類的序列化事件的影響,”包括 Nvidia 首席科學家、曾領導斯坦福大學計算機科學系的 Bill Dally 在內的作者指出。

“BaM 在 GPU 記憶體中提供了一個高併發 NVMe 提交/完成佇列的使用者級庫,使按需訪問未從軟體快取中丟失的 GPU 執行緒能夠以高吞吐量方式進行儲存訪問,”他們繼續說道。“這種使用者級方法對每次儲存訪問產生的軟體開銷很小,並且支援高度的執行緒級並行性。”

該團隊計劃將他們的硬體和軟體最佳化的細節開源給其他人來構建這樣的系統。我們想起了 AMD 的 Radeon Solid State Graphics (SSG) 卡,它將快閃記憶體放置在 GPU 旁邊。