現代微處理器通常能夠通過分層緩存來隱藏計算與內存之間的大部分差距。這是因為許多負載表現出相對可預測的一般內存模式,可以通過空間局部性和時間局部性加以利用。有些負載還尷尬地并行。例如,人工智能負載往往表現出這種行為。只要你持續為機器提供數據,更多計算就相當于更高性能。人工智能負載往往具有非??深A測的內存模式以及較高的數據重新利用能力,這有助于實現上述所有目標。
不幸的是,并非所有算法都具有這些理想的特性。圖就是這樣一個例子。企業廣泛地使用圖來處理大數據。這些數據結構往往有上萬億個邊緣,并采用特殊的圖算法對數據進行操作。圖算法采用非常隨機的內存訪問模式,導致負載受到內存延遲的高度限制,迫使計算元素在很多時候陷入停滯。它本質上是一個非常大的指針追逐問題,表現出與運行在GPU和CPU上的大多數負載相矛盾的行為。
更糟的是,圖算法往往具有非常差的次線性縮放特性。你根本無法通過投入更多處理器來解決這個問題。由于數據的稀疏性和不規則性,下一個數據訪問通常是在一個完全不同的節點上,傳輸數據最終會導致整個系統出現瓶頸。
美國國防部分層識別驗證及利用計劃(DARPA HIVE)
分層識別驗證及利用(HIVE)計劃是美國國防部正在開展的一項計劃,目標是解決這些缺點。HIVE采用軟硬件雙管齊下的方式。針對該計劃的硬件部分,正在開發用于圖處理的下一代ASIC。針對軟件部分,正在開發一個新的全棧圖框架。美國國防部希望通過專門的圖處理器和優化的軟件棧,實現比當前同類最佳的GPU高1000倍的性能效率。
在上個月底舉行的DARPA ERI峰會上,Peter Wang介紹了該項目的最新進展。Wang是Anaconda公司的聯合創始人兼首席技術官。他也是HIVE軟件架構的首席研究員。
介紹英特爾PUMA團隊
英特爾負責HIVE的硬件架構部分,他們正在開發一個新的架構來解決這些問題。在英特爾的數據中心事業部內部有一個名為PUMA的秘密團隊。他們負責圖分析(GA)處理器的開發。這是他們正在秘密開發的一個完整產品,英特爾打算最終將其商業化。
新的圖處理器基于一種新開發的架構,被稱為可編程統一內存架構或PUMA。這是一種新的架構,用于整個全局統一內存空間的小型不規則內存訪問。在這種架構下,芯片放棄了現代CPU和GPU所使用的許多基本假設——它并不假設自己擁有附近所有內存,它并不假設內存訪問會在不久的將來重復執行,它也不假設對特定地址的內存訪問意味著附近的內存地址也將被訪問。Wong說:“通過拋棄這些基本假設,你可以圍繞對全局統一數據的小訪問而構建一個完全不同的硬件架構。然后,在每個階段,每當有一個有線互聯或者任何把一個計算單元連接到其它一些數據單元或其它計算單元的東西,每一個點都針對延遲進了優化?!?PUMA從根本上改變了與內存訪問相關的行為,使內存訪問更小、更有效,并使訪問這些內存的延遲更長,但在整個系統中實現扁平化。
PUMA實現機箱級完全集成,可以跨處理元件和內存進行良好的通信。它旨在擴展到大型系統,在多個機架和多個集群上使用。
Wang根據英特爾的內部模擬結果給出了一些初步性能數據。他說:“節點縮放確實是一個關鍵問題。當我們討論上萬億個邊緣的時候,我們知道這些數字會變得更大?!睘榇?,Wang報告了超過80%的縮放效率。他補充道:“這實際上讓我們能夠并行化解決圖問題的方法?!?/p>
軟件基礎設施
HIVE的第二階段是構建軟件基礎設施。新軟件不僅必須與新硬件兼容,而且必須與現有CPU和GPU兼容。此外,新軟件必須支持數據科學屆使用的大量現有軟件?,F有的大量軟件都是為了以某種方式解決特定的圖問題而開發的。該計劃的部分目標是能夠將現有的軟件和庫連接到HIVE軟件框架中,以便使其更易于投入使用。
當前的軟件包括通過API公開的算法、數據的內部圖表示以及硬件后端(GPU、CPU、FPGA或ASIC)。Wang解釋說,在當前平臺下,必須做出重大取舍,無論是針對某種類型的硬件進行優化還是針對某些算法進行優化。Wang說: “如果你專門從事圖表示,那么你就會與數據科學生態系統脫節,因為你被切斷了與一些重要庫的聯系?!?/p>
作為HIVE第二階段一部分,他們正在開發模塊化架構框架。現有軟件正在重新納入它們的組成部分,以便可以根據該軟件最佳功能將其插入到框架中。該結構包括Workflow Scheduler和Dispatch Engine,用于把User API負載任務路由到后端。他們利用DASK任務調度程序來執行此操作。這也是他們進行后端切換和調度的方式。順便說一句,值得注意的是,雖然他們正在與英特爾密切合作,共同開發這個框架,以便能夠通過PUMA架構實現其性能目標,但是軟件框架并不是專門為PUMA設計的。事實上,它們完全針對廣泛的硬件,以便數據科學家立即能夠跨越CPU、GPU和FPGA,充分利用相同的軟件基礎設施。并最終使用相同的基礎架構,利用PUMA圖處理器來加速相同的負載。
值得一提的是,如果有必要,在后端,框架可包含一組能夠轉換不同格式數據的轉換器。
這種設計有兩大好處——集成新硬件意味著設計了一個新的硬件后端,如果數據模型與現有模型不同,則添加對數據模型的支持,并添加一個可以從現有數據模型轉換到新數據模型的轉換器。同樣,集成一個新的User API只需要在其中一個硬件上添加一個接口并至少采用一種算法。
最終,HIVE的總體目標就是統一和簡化“讓圖軟件與硬件進行優化通信的”流程,只需讓硬件廠商提供其硬件并為其集成一個良好的后端,同時讓數據科學家能夠通過自己的API和算法來充分利用該硬件。
Wang透露,從明年開始,用戶有望看到開源的初始源代碼。
責任編輯:tzh
-
FPGA
+關注
關注
1630文章
21769瀏覽量
604638 -
asic
+關注
關注
34文章
1205瀏覽量
120600 -
cpu
+關注
關注
68文章
10889瀏覽量
212378 -
gpu
+關注
關注
28文章
4760瀏覽量
129130 -
微處理器
+關注
關注
11文章
2272瀏覽量
82605
發布評論請先 登錄
相關推薦
評論