
微軟宣布 DirectStorage API 進入 PC,可藉這項技術讓 NVMe SSD 繞過 CPU 和內建記憶體,直接提供顯示卡記憶體數據,大幅降低軟體加載時間,GPU 大廠輝達和藍色巨人 IBM 及美國康乃爾大學也找到一種方式,讓 GPU 與 SSD 等儲存設備無縫運作,且不需專用 API 支援。這稱為 Big Accelerator Memory(BaM)架構,有可能用在各種運算任務,對大型運算工作負載提升不少。
外媒《TomsHardware》報導,GPU 不斷發展,不再侷限繪圖影像應用,還會用在各種大型資訊工作負載,加上 GPU 可程式化也越來越接近 CPU,需要直接取得大型儲存設備資料的需求逐漸提升。為了更高效率處理數據,GPU 一般都配備高速大容量顯示記憶體,但成本非常高。以輝達旗下 Ampere 架構新款 A100 運算卡來說,就配置 80GB HBM2e 顯示記憶體,速率為 3.2Gbps,2TB/s 顯示記憶體頻寬。不過 GPU 處理資料量快速成長,現有方式遠遠跟不上資料處理量需求,使最佳化 GPU 與儲存設備相互操作性更迫切重要。
要改進 GPU 和儲存設備連結有些關鍵因素,包括 SSD NVMe 調用和資料傳給 CPU 的負擔。從整體性能和效率來看很低效率。其次,CPU 與 GPU 互動操作,大大限制需要大數據傳輸的應用程式的有效儲存頻寬。Big Accelerator Memory 新架構目標就是擴展 GPU 記憶體容量,並提高有效儲存頻寬,同時讓 GPU 更容易取得擴展記憶體的大量資料。
Big Accelerator Memory 新架構本質上就是讓輝達 GPU 能直接從系統記憶體和存儲設備取得資料,不需經過 CPU 參與。GPU 將自身顯示記憶體當成軟體管理暫存,另使用 PCIe 介面、RDMA 和客製 Linux 核心驅動程式移動資料,使 SSD 需要時直接讀寫 GPU 顯示記憶體。如果沒有需用數據,GPU 執行緒會排序 SSD 的命令。Big Accelerator Memory 新架構不需轉換虛擬記憶體地址,因此不會出現 TLB 缺失等序列化狀況。輝達及合作夥伴計畫開源驅動程式,讓其他人使用 Big Accelerator Memory 概念。
輝達表示,透過 Big Accelerator Memory 新架構能讓 GPU 執行緒按需讀取或寫入少量數據,這取決於計算情況。由於每次儲存取得的數據消耗很小,且支援高度執行序級並行,有效緩解和控制 I/O 流量。在 GPU 執行 BaM 基礎架構軟體可充分利用底層儲存設備,即便是消費級 SSD,Big Accelerator Memory 新架構也有競爭力的性能優勢。Big Accelerator Memory 新架構是 GPU 獲得大容量儲存空間並獨立於 CPU 的方式之一,相比現有解決方案,新方案使運算加速器更獨立。
(首圖來源:NVIDIA)