透過與幾所大學的合作,NVIDIA和IBM 打造了一套新架構,致力於為GPU加速應用,提供對大量數據儲存的快速“細粒度訪問”。所謂的Big Accelerator Memory旨在擴展GPU顯示記憶體容量、有效提升儲存訪問頻寬,同時為GPU線程提供高級抽象層,以便輕鬆按細粒度地訪問擴展記憶體層次中的大量數據結構。
顯然這項技術將使人人工智慧、分析和機器學習訓練等領域更加受益。而作為BaM團隊中的重量級選手,NVIDIA將為創新項目傾注自身的廣泛資源。譬如允許NVIDIA GPU直接獲取數據,而無需依賴於CPU來執行虛擬地址轉換、頁面的數據加載、以及其它針對記憶體和外存的大量數據管理工作。
對於普通用戶來說我們只需看到BaM的兩大優勢。其一是採用軟體管理的GPU快取,數據儲存和顯示卡之間的訊息傳輸分配工作,都將交給GPU核心上的線程來管理。透過使用RDMA、PCI Express、以及自定義的Linux核心驅動,BaM可允許GPU直接打通SSD數據讀寫。
其次透過打通NVMe SSD的數據通訊請求,BaM只會在特定數據不在軟體管理的快取區域時,才讓GPU線程做好參考執行驅動命令的準備。因為此在顯示處理器上執行繁重工作負載的算法,將能夠透過針對特定數據的訪問例程優化,從而實現針對重要訊息的高效訪問。
顯然以CPU為中心的策略,會導致過多的CPU-GPU同步開銷(以及I/O流量放大),從而拖累了擁有細粒度的數據相關訪問模式—— 譬如顯示與數據分析、推薦系統和顯示神經網路等新興應用的儲存網路頻寬效率。為此研究人員在BaM模型的GPU記憶體中,提供了一個採用高並發NVMe的提交/完成隊列的用戶資料庫,使得未從軟體快取中遺失的GPU線程,能夠以高吞吐量的方式來高效訪問儲存。
更棒的是該方案在每次儲存訪問時的軟體開銷都極低,並且支援高度並發的線程。而在採用BaM設計+標準GPU+NVMe SSD的Linux原型測試平台上開展的相關實驗也交出了相當喜人的成績。
作為當前採用CPU統管一切事務的傳統解決方案的一個可行替代,研究表明儲存訪問可同時工作、消除了同步限制,並且I/O頻寬效率的顯著提升,也讓應用的性能不可同日而語。
消息來源
|