提升GPU效能,創新奇智發表最新研究論文

創新奇智發表於2019-04-04

人工智慧時代,演算法、算力與資料是三個最重要的要素。科學家和工程師將GPU應用於人工智慧模型訓練和推理後,帶來了巨大的算力提升。但在某系場景下,GPU效能並沒有完全發揮,如何進一步提升GPU效能已成為眾多AI公司的重要關注點。


創新奇智是一家源於創新工場人工智慧創新科技公司,始終堅信技術為立身之本。公司自成立以來非常重視技術研究,現已有大量研究成果被廣泛應用於公司內部業務當中,多個產品和解決方案從中受益。為促進人工智慧行業更為快速的發展,我們願將具備廣泛應用價值的技術分享出來,以期讓更多企業從中受益。


隨著公司業務的迅猛發展,創新奇智需要及時處理日益增長的海量客戶資料。例如,智慧貨櫃和渠道陳列平臺每天都要為客戶處理數百萬張高畫質圖片;工業視覺平臺需要在車間產線實時處理超清圖片;智慧園區平臺需要同時處理多路高畫質攝像頭影片資料;資料智慧專案需要及時處理大規模使用者行為資料。同時,在模型訓練過程中也需要更為迅速的對大量的資料進行處理,這就對計算機系統整體計算效能的提升,尤其是異構計算主要構成-GPU效能的提升提出了更為緊迫的要求。


近日,在201956屆設計自動化大會(DAC,英文全稱ACM/IEEE Design Automation Conference,是電子設計自動化和嵌入式系統領域的頂級會議),創新奇智CTO張發恩等人聯合釋出了一篇論文《Efficient GPU NVRAM Persistence with Helper Warps》(https://dac.com/content/2019-dac-accepted-papers)。該論文首次提出一種方法,透過在GPU上使用NVRAM儲存的有效並且易於使用的事務處理系統,在特定應用場景下,GPU效能獲得了4~5倍的提升。


以下為論文解讀:

提升GPU效能,創新奇智發表最新研究論文

摘要

非易失性隨機存取儲存器(NVRAM)是近年來出現的一種用於彌補主存和外部儲存裝置之間效能差距的儲存器。為了利用NVRAM的非揮發性,程式應該允許持久化儲存,這意味著在斷電事件期間必須保持一致性。利用高度的並行性,GPU的設計具有高吞吐量。然而,與DRAM相比,NVRAM具有更低的寫入頻寬,按照原樣使用NVRAM可能會產生次優的總體系統效能。為了解決這個問題,作者提出使用Helper Warp(暫簡單譯為輔助排程單位)將永續性移出事物執行的關鍵路徑,從而減輕延遲的影響。在頻寬限制為1.6GB/s12GB/s的情況下,該機制分別實現了4.4倍和1.5倍的加速,並且預計即使在NVRAM頻寬高達數百GB/s的某些情況下,也將保持速度優勢。

介紹

非易失性隨機存取儲存器(NVRAM)作為一種很有前途的NVRAM替代品,在過去的幾年裡逐漸成熟起來。MVRAM具有大容量和永續性,因此可以啟用和證明諸如事物記憶體之類的新程式設計範例。


可位元組定址的持久儲存裝置(如NVRAM)有幾種不同的使用方式。在最簡單的形式中,它可以作為DRAM或者快取的大容量臨時替代。這種型別的系統在CPUGPU上都討論過,但是沒有利用它們的永續性。另一種更復雜的方法是使用NVRAM作為持久資料儲存,使其成為事務處理系統(TPS)的一個組成部分。TPS的體系結構通常包括兩層:併發協議層,它可能表現為事務記憶體或者鎖定機制,負責檢測和解決事務之間的完整性;日誌層,以日誌的形式執行寫操作,以實現永續性,從而在斷電事件期間保持資料完整性。在CPU上,這種TPS系統可以涉及硬體、軟體和程式語言級別的變化;在GPU上是落後於CPU的,因為在GPU上存在基於事務記憶體的工作但在當前時刻不存在基於NVRAMTPS系統。


儘管NVRAM的儲存密度較大,但它提供的頻寬比DRAM的快取要少。因此,需要很好地管理頻寬引起的延遲,以避免效能下降。為了減輕頻寬差距帶來的損失,需要採用軟硬體結合方法。


本文主要有以下三點貢獻:


1)在這篇工作中作者首次提出了在GPU上使用NVRAM儲存的有效並且易於使用的事務處理系統。


2)作者提出使用Helper Warp,利用GPU的閒置計算資源來緩解寫入頻寬的限制。


3)作者建立了一種在不同的程式下能夠自適應地啟用Helper Warp(輔助排程單位)達到最佳效能的機制。         

高效的GPU NVRAM永續性支援

事務處理通常由併發控制和永續性日誌記錄兩部分組成。論文研究的系統採用軟體事務記憶體(STM)進行併發控制。作者提出的STM演算法採用了快速衝突檢測以及重做日誌記錄,並解決與全域性所有權記錄的衝突。寫/讀集跟蹤的粒度是一個32位機器字。對較大資料的訪問被視為多個32位機器字。該演算法不區分讀與寫,並透過支援執行緒ID較低的事務來解決衝突。具體的演算法步驟如圖2所示。
提升GPU效能,創新奇智發表最新研究論文

2:論文中使用的STM演算法

在上述TM演算法中,對NVRAM的寫入發生在成功提交期間。在預設的嚴格的Persis-tency模型下,事務必須等待persist操作完成之後才能宣告提交成功。這將NVRAM寫延遲新增到事務執行的關鍵路徑上,從而增加時間開銷。為了解決這個問題,論文作者提出了一個commit過程,它利用Helper Warp將延遲移出關鍵路徑。

                 

帶有輔助排程單位的高效日誌系統

提升GPU效能,創新奇智發表最新研究論文

3:論文提出框架中的事務時間線

提升GPU效能,創新奇智發表最新研究論文

4:總體系統框架

作者提出的方法使用輔助排程單位來分離事務的提交和持久步驟。輔助排程單位負責處理事務的永續性部分,使持久操作能夠與事務的其餘部分非同步完成。圖3顯示了新增了輔助排程單位的總體提交協議。

每個執行緒塊中都有一個輔助排程單位,它透過每個執行緒塊共享記憶體與正常排程單位通訊。此外,每個流多處理器(SM)都有一個頻寬監控視窗,用於跟蹤執行時的瞬時頻寬佔用情況。圖4演示了作者提出的框架,它包括記憶體拓撲和新增的部分。易失性RAM和非易失性RAM之間的聯絡類似於最近的AMD Vega框架,該框架旨在支援異構記憶體框結構,如SSDDRAM

                 

系統評估

提升GPU效能,創新奇智發表最新研究論文

5基準測試的總體執行時間,啟用了輔助排程單位(綠色)和禁用了輔助排程單位(紅色)


5展示了使用實驗設定的基準測試的執行時間,包括啟用和禁用輔助排程單位。這些線表示執行時間隨著NVRAM頻寬限制而變化的趨勢。綠色和紅色的線和點分別表示啟用和禁用輔助排程單位的執行時間。隨著頻寬的降低,兩種配置的執行時間都會增加。不過,沒有輔助排程單位的執行時間最終會增長得更快,並超過啟用輔助排程單位的執行時間。這兩條執行時間存在交叉點。H1的交叉點高達484GB/s(這意味著即使在易失性RAM頻寬下,輔助排程單位的效能也會更好),而BVH1的交叉點則低至11.75GB/s

提升GPU效能,創新奇智發表最新研究論文

6基準測試A1的塊級事務提交時間線
提升GPU效能,創新奇智發表最新研究論文

7:基於後設資料TM的事務平均執行時間的細分


6展示了基準測試A1中第0塊中事務的提交時間線。可以看出,當永續性頻寬限制為1.6GB/s時,連續提交會出現很大的差距。由於不同塊之間的行為是相似的,這種差異將直接轉化為更長的總體執行時間。有了輔助排程單位,差距明顯減小,從而大大縮短了基準測試的執行時間。


7展示了執行緒塊0中事務執行時間的細分情況,其中輔助排程單位靜態地開啟和關閉。由於頻寬有限造成的每個sistence階段的延遲會導致“caso-cade”效應,使得其他提交事務的時間比帶有輔助帶排程單位的時間長。這是由於排程單位級別的差異和持有所有權記錄使得提交事務需要等待冗長的永續性操作的完成。這也增加了中止率。透過啟用輔助排程單位,永續性可以更快地完成,並且級聯效應得到了緩解。

提升GPU效能,創新奇智發表最新研究論文

8基準測試B1+H1的持續頻寬趨勢,帶有輔助排程單位的自適應切換(上圖)

3種配置的執行時間細分(下圖)


8顯示了輔助排程單位在操作中的切換以響應不斷變化的永續性頻寬。總的來說,切換顯著減少了H1核心的時間,與總是關閉輔助排程單位相比執行時間提高了20%,與總是開啟輔助排程單位相比執行時間提高了6%

提升GPU效能,創新奇智發表最新研究論文

             9基準測試A2的持續頻寬趨勢,關閉輔助排程單位(頂部)和3種配置的執行時間細分(底部)


BVH基準測試相反,其他一些基準測試將觀察到提交頻寬高於大多數程式執行的閾值,比如A2。其永續性頻寬趨勢可以在圖9(頂部)中觀察到。對於這個基準測試,始終靜態地開啟或關閉輔助排程單位會導致輕微的效能損失,如圖9(底部),這是由於切換所涉及的開銷造成的。

結論

在本文中,作者觀察到事務GPU程式的效能下降來源於NVRAM的頻寬限制,這種限制導致了長時間的永續性延遲。當NVRAM用作主存的臨時替代品時,延遲將直接新增到事務的關鍵路徑上,從而使事務的執行時間更長。此外,這種延遲可能會影響位於相同排程單位的其他執行緒,從而導致整個基準測試的執行時間更長.

作者提出了Helper warp這個概念,它由位於片上共享記憶體中的提交緩衝區組成,事務提交將被重定向到該緩衝區。這將從關鍵路徑中移除時間開銷,使持續性操作更快。作者還提出了一種方法,使輔助器僅在需要最好效能時才使用。在某些情況下,閾值可能高達每秒數百GB。這包括今天和不久的將來可用的NVRAM頻寬範圍。

相關文章