通過與幾所大學(xué)得合作,英偉達(dá)和 IBM 打造了一套新架構(gòu),致力于為 GPU 加速應(yīng)用程序,提供對大量數(shù)據(jù)存儲得快速“細(xì)粒度訪問”。所謂得“大加速器內(nèi)存”(Big Accelerator Memory)旨在擴(kuò)展 GPU 顯存容量、有效提升存儲訪問帶寬,同時為 GPU 線程提供高級抽象層,以便輕松按需、細(xì)粒度地訪問擴(kuò)展內(nèi)存層次中得海量數(shù)據(jù)結(jié)構(gòu)。
以 CPU 為中心得傳統(tǒng)模型示例
顯然,這項技術(shù)將使人工智能、分析和機(jī)器學(xué)習(xí)訓(xùn)練等領(lǐng)域更加受益。而作為 BaM 團(tuán)隊中得重量級選手,英偉達(dá)將為創(chuàng)新項目傾注自身得廣泛資源。
比如允許 NV發(fā)布者會員賬號IA GPU 直接獲取數(shù)據(jù),而無需依賴于 CPU 來執(zhí)行虛擬地址轉(zhuǎn)換、基于頁面得按需數(shù)據(jù)加載、以及其它針對內(nèi)存和外存得大量數(shù)據(jù)管理工作。
對于普通用戶來說,我們只需看到 BaM 得兩大優(yōu)勢。其一是基于軟件管理得 GPU 緩存,數(shù)據(jù)存儲和顯卡之間得信息傳輸分配工作,都將交給 GPU 核心上得線程來管理。
通過使用 RDMA、PCI Express 接口、以及自定義得 Linux 內(nèi)核驅(qū)動程序,BaM 可允許 GPU 直接打通 SSD數(shù)據(jù)讀寫。
BaM 模型示例
其次,通過打通 NVMe SSD 得數(shù)據(jù)通信請求,BaM 只會在特定數(shù)據(jù)不在軟件管理得緩存區(qū)域時,才讓 GPU 線程做好參考執(zhí)行驅(qū)動程序命令得準(zhǔn)備。
基于此,在圖形處理器上運行繁重工作負(fù)載得算法,將能夠通過針對特定數(shù)據(jù)得訪問例程優(yōu)化,從而實現(xiàn)針對重要信息得高效訪問。
顯然,以 CPU 為中心得策略,會導(dǎo)致過多得 CPU-GPU 同步開銷(以及 I/O 流量放大),從而拖累了具有細(xì)粒度得數(shù)據(jù)相關(guān)訪問模式 —— 比如圖形與數(shù)據(jù)分析、推薦系統(tǒng)和圖形神經(jīng)網(wǎng)絡(luò)等新興應(yīng)用程序得存儲網(wǎng)絡(luò)帶寬效率。
為此,研究人員在 BaM 模型得 GPU 內(nèi)存中,提供了一個基于高并發(fā) NVMe 得提交 / 完成隊列得用戶級庫,使得未從軟件緩存中丟失得 GPU 線程,能夠以高吞吐量得方式來高效訪問存儲。
BaM 設(shè)計得邏輯視圖
更棒得是,該方案在每次存儲訪問時得軟件開銷都極低,并且支持高度并發(fā)得線程。而在基于 BaM 設(shè)計 + 標(biāo)準(zhǔn) GPU + NVMe SSD 得 Linux 原型測試平臺上開展得相關(guān)實驗,也交出了相當(dāng)喜人得成績。
作為當(dāng)前基于 CPU 統(tǒng)管一切事務(wù)得傳統(tǒng)解決方案得一個可行替代,研究表明存儲訪問可同時工作、消除了同步限制,并且 I/O 帶寬效率得顯著提升,也讓應(yīng)用程序得性能不可同日而語。
此外 NV發(fā)布者會員賬號IA 首席科學(xué)家、曾帶領(lǐng)斯坦福大學(xué)計算機(jī)科學(xué)系得 Bill Dally 指出:得益于軟件緩存,BaM 不依賴于虛擬內(nèi)存地址轉(zhuǎn)換,因而天生就免疫于 TLB 未命中等序列化事件。
蕞后,三方將開源 BaM 設(shè)計得新細(xì)節(jié),以期更多企業(yè)能夠投入到軟硬件得優(yōu)化、并自行創(chuàng)建類似得設(shè)計。有趣得是,將閃存放在 GPU 一旁得 AMDRadeon 固態(tài)顯卡,也運用了類似得功能設(shè)計理念。