從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

機器之心發表於2018-06-18

英偉達嚐到了硬體帶來的甜頭,同時公司高層表示他們樂意在發展計劃中加入大量的主機。為此,英偉達正越來越多地參與制造 GPU 計算的系統元件,並且為 OEM 和 ODM 伺服器提供成品元件。

這是一次巨大的轉變,但對所有以計算為中心的平臺供應商而言,這個過程終將——在某些情況下逐漸地發生。

在處理器的製造商,同時也是使用該處理器的系統的主要或唯一銷售者的情況下,供應商通常預設擁有該平臺的完全控制權。實際上銷售大量裝置的供應商可能有一個經銷商渠道,但這是一種經銷手段,而不是一種工程手段。在其他情況下,就英特爾(有時由 AMD)提供的 X86 平臺來說,起初它們主要對銷售處理器感興趣,它是一種具有某些額外特性的功能強大的 PC 晶片,這些特性使伺服器產生價值。

至少在英特爾的案例中,公司在發展過程中逐漸擴充套件業務到晶片組的銷售上,這些晶片組在共享的儲存系統中相互連線並與系統中的外圍裝置相連。最後,公司進一步擴充套件業務到除主儲存器以外的整塊主機板的銷售上。如今,在最新推出的,採用「Skylake」Xeon SP 處理器,可能也包括其之後的兩個版本的「Purley」平臺上,英特爾提供處理器、晶片組、主機板、NAND 快閃記憶體和 3D XPoint ReRAM 儲存,並且英特爾很快還會提供計劃配備在初始 Purley 平臺上的代號為「Apache Pass」(https://www.nextplatform.com/2015/05/26/intel-lets-slip-broadwell-skylake-xeon-chip-specs/)的 3D XPoint DIMM 永久性擴充套件記憶體;英特爾還可以新增 Omni-Path 網路介面卡。儘管一些伺服器製造商仍然自己製造主機板,但是很少有獨立的晶片組,因為將 CPU 彼此連線並與其他外部裝置相連的嵌入處理器或其封裝中的電路太繁雜;而英特爾原生的晶片組效能確實也超越了八執行緒 NUMA 架構的 Xeon SP 處理器。

近日,英偉達推出了 HGX-2 平臺,以及以 HGX-2 為架構的 DGX-2 伺服器,該伺服器釋出於今年 3 月份的英偉達 GPU 技術大會。正如英偉達在會議之後對 DGX-2 所做的詳細拆解那樣(https://www.nextplatform.com/2018/04/13/building-bigger-faster-gpu-clusters-using-nvswitches/),它是一件高密集,強效能並具有極佳的熱效能的電子產品。DGX-2 架構的核心是 NVSwitch 記憶體結構,該結構已被嵌入系統中的 GPU 計算節點中,允許多達 16 個最新的「Volta」Tesla V1000 加速器以點對點的方式彼此耦合。在 GPU 複合體中,每塊 GPU 與另一塊 GPU 之間的頻寬為 300 GB/秒。本質上,NVSwitch 結構為 GPU 節點建立了一個 512 GB 的巨大的共享記憶體空間,以 10 千瓦的功耗,在 Tensor Core 上達到近 2 Petaflops 的算力。

企業中許多機架的功耗不超過 10 千瓦,其中許多機架不具備與整合了兩個 HGX-2 的 DGX-2 GPU 計算體所需要的複雜且低容差的中間面聯結器。這就是為什麼在 HGX-2 平臺上,英偉達正從主機板和 GPU 加速器聯結器的設計上,從僅是為了自己的內部需求,為少數重要的客戶和研究人員提供技術規格以及為 ODM 和 OEM 提供參考架構上,轉變為設計自己的系統,正如英偉達從 HGX-1 的設計上,轉而在 GPU 複合體共享的記憶體中,製造一臺擁有 8 或 16 路 Volta 核心的機器,這臺機器僅裝載了 HGX-2 系統主機板,完全配備了 Volta GPU 加速器和足夠多的 NVSwitch 電路和聯結器。

這是一次微妙但重要的轉變,據英偉達聯合創始人兼執行長黃仁勳近期向華爾街透露的訊息,這將推動英偉達資料中心部門的收入增長,甚至會超過截至目前通過銷售大量的 DGX 主機帶來的數億美元的生意。截至 4 月份,2018 財年第一季度結束,英偉達資料中心業務營收 28 億美元,並且 DGX 伺服器的銷售似乎佔據了業務的 15%。隨著英偉達向那些想要自己製造如 DGX-2 伺服器的 ODM 和 OEM 僅出售成品主機板和 NVSwitch 聯結器,而不是原始 GPU 和交換機晶片,英偉達伺服器業務的收入將進一步攀升。

負責英偉達加速計算產品管理和市場營銷的 Paresh Kharya 告訴 The Next Platform:「這與我們提供設計的 HGX-1 平臺有點不同。以 HGX-2 來說,事實上我們提供了整合的主機板。設計這些系統真的是很複雜,因為我們要在一堆不同的載體上超越限制,從影象在一堆 GPU 中的訊號傳輸到功耗等等。我們正在超越資料中心的限制,並且為了降低我們合作伙伴的風險,確保他們成功並加快產品上市時間,我們將 HGX-2 作為一個整合主機板提供給他們。」

英偉達作為一家 GPU 顯示卡製造商,同時也是一家 GPU 晶片的供應商,在這兩個身份之間沒有任何利益衝突。同時,英偉達並不羞於成為一家伺服器製造商,它們推出了 HGX-1 平臺和基於該平臺的例項產品 DGX-1,並已經售賣了 2 年。這是一件複雜的事,並且需要被正確執行,正如我們已經說明的那樣,通過這樣做,英偉達也獲得了更多的收入——我們認為是毛利潤率,與英特爾通過銷售平臺而不是自己資料中心組的處理器所獲得的收入一樣多。我們認為,在這一領域,英偉達的毛利率要遠高於英特爾,這正說明了基於 GPU 加速的 AI 和 HPC 系統的大量需求。

新舊 HGX

藉助基於英特爾 Xeon 伺服器節點的 HGX-1 平臺,GPU 通過混合立體網路中的 NVLink 埠相互連線,伺服器節點中的一對處理器通過 4 條 PCI-Express 通道與 GPU 複合體相連,如下所示:

從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

如果 Xeon 處理器擁有大量 NVLink 埠能直接和 GPU 複合體相連,應該可以得到很好的效果。但是由於「Pascal」架構的 GPU 相對較少的 NVLink 埠,這將限制在單一的共享快取佔用上 GPU 的數量,甚至是上文提到的 Volta 加速器,這就意味著為了 CPU 的連線會犧牲掉一些 GPU 的連線。(這就是為什麼橡樹嶺國家實驗室的「Summit」超級計算機至多隻能給每對 Power9 處理器配備 6 個 Volta V100。)

至少在 2017 年 3 月,微軟 Azure 公共雲的傑出工程師,Leedert van Doorn 是這樣告訴我們的,HGX-1 實際上是由微軟設計,並通過 Facebook 建立的 Open Compute Project 開源的。有趣的是,HGX-1 有一個級聯的 PCI-Express 交換機網路架構,在執行微軟自己的 CNTK 機器學習框架時,它允許多達 4 個系統和 32 個 Pascal 或 Volta GPU 與單張圖片相連線。目前尚不清楚微軟是否會將擁有單個 CPU-GPU 計算複合體的 CNTK 與 4 個或更多的 HGX-2 整合在一起,但我們清楚的是,是英偉達而不是微軟,開發了新一代 HGX-2 的體系架構,同時英偉達是否會開源這個設計還有待考察。順便一提,用於機器學習訓練和擁有延展性的交換機拓撲結構的是 HGX-1 平臺的衍生品,同時亞馬遜網路服務上使用的 P3 GPU 產品也是基於 HGX-1 平臺。

去年釋出的 16 GB Volta Tesla V100 加速卡可以裝載由 8 塊 GPU 構成的 1 Petaflops 的 Tensor Core 晶片組,同時單個 HGX-1 複合體上的 GPU 有 128 GB 的共享記憶體。GPU 通過一個或兩個 NVLink 或 PCI-Express 埠彼此相連,同時最多 4 塊 GPU 通過 NVLink 彼此完全連線。NVLink 的連線複合體 擁有 300 GB/秒的對分頻寬,並且多 GPU 深度學習範例是資料並行歸約化的——有時稱為批量並行。使用這種方法,你可以採集 64 或 128 張影象,並同時訓練 64 或 128 個神經網路複本,以及將結果整合在一起。

使用 NVSwitch 聯結器和 HGX-2 架構,你仍然可以通過這種方式進行機器學習,也可以將神經網路不同的層放置在同一系統下不同的 GPU 上,但是你需要 GPU 之間更高的頻寬連線——同時所有 GPU 之間需要點對點連線——使其良好執行。這被稱為模型並行化,並且 HGX-2 平臺支援這種方法,通過主機來大幅度減少問題的訓練時間。

HGX-2 平臺擁有 16 個彼此連線的 Volta V100,每個都有高達 32 GB 的幀快取器,總共有 512 GB 的 GPU 共享記憶體,同時 Tensor Core 的半精度單元擁有高達 2 Petaflops 的效能。這就意味著 4 倍記憶體和 2 倍的 FLOPs。每個 GPU 通過 6 個 50 GB / 秒 且聚合在一起的 NVLink 2.0 埠連線到 NVSwitch 複合體中,通常來說,NVSwitch 具有 300 GB / 秒的頻寬。重要的是,所有 16 塊 GPU 加速器彼此直接相連,並且對分頻寬增加了 8 倍,達到 2.4 TB / 秒。這就是為什麼在執行一系列 HPC 和 AI 工作負載時,相比於一對 HGX-1 平臺,HGX-2 平臺有高出 2 至 2.7 倍的效能:

從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

HGX-2 平臺不僅通過 NVLink 和 NVSwitch 架構,還採用了大量網路架構來實現這種效能。以下是一張關於 HGX-2 平臺的內嵌 NVSwitch 拓撲結構的框圖,比三月份提供的圖示好得多。

從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

兩塊主機板各有 8 塊 GPU,其中用於 NVLink Bridge 的 6 個 NVSwitch ASIC 位於主機板背面,用於與 PCI-Express 交換機組相連的 6 個 PCI-Express 聯結器 位於主機板正面,如下所示:

從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

作為 HGX-2 平臺的一部分,英偉達並不是忽視伺服器平臺的整體外觀,只是 GPU 計算器與聯結器的複合體以及大型叢集的 GPU 圖形卡才是研發的所有目的。但英偉達確實對 CPU,儲存器和網路介面卡整合到整個系統內的方式提出了一些建議,以此來建立一個與英偉達幾個月前銷售的 DGX-2 系統相同的 OEM 或 ODM。對於級聯 PCI-Expre 交換機和網路介面卡以及位於 InfiniBand 或乙太網路上的 NVM-Express 儲存器,以下是被推薦的架構:


從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

首先要注意的是,CPU 複合體和 GPU 複合體(包含在兩個 GPU 主機板單元內,同時通過底板連線)是彼此分離的。這允許系統的 CPU 和 GPU 兩個部分可以獨立地進行更改。此外,每塊 GPU 擁有 2 個 PCI-Express 3.0 x16 插槽,通過其與 2 個 HGX-2 主機板中的一個直接相連。CPU 通常與主機板上任意一塊特定的 GPU 相距 3 個節點,同時 NVSWitch 複合體與系統中其他任意一塊 GPU 再遠一個節點。事實上從任意一塊 CPU 到任意一塊 GPU 的路徑有多條,這減少了系統的爭用。(我們可以計算出有多少條潛在的路徑,但這需要花費一些時間。)

從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

英偉達提供的 HGX-2 系統參考架構的有趣之處在於網路介面——無論是內建 RDMA 的 100 GB / 秒 InfiniBand 還是附加 RoCE 的 100 GB / 秒乙太網——都在主機板上,接近 GPU,而不是掛在 CPU 上。RDMA 允許 HGX-2 系統進行多節點放縮,並提供大而寬管道和低延遲率來實現這些。同時,你會注意到,相比於 CPU 複合體,NVM-Express 儲存器更靠近 GPU 複合體。

實際上,HGX-2 系統中的 Xeon CPU 是 GPU 複合體的序列協同處理器。很好笑,不是嗎?(這讓我們想起了一個笑話,自從 GPU 計算開始以來,特別是當英偉達正在開發「Project Denver」以將 ARM 核心加入到 GPU 加速器時,我們一直在說:「一名頭上有隻母雞的男子走進一位醫生的辦公室,那隻雞說:『你好,醫生,你能把我屁股下的東西切掉嗎?』」)

當然,並不是所有從事超級計算和雲搭建的 OEM 或 ODM 都會建造一個與 DGX-2 看起來完全一樣的機器。Kharya 表示今年年底發行的大部分基於 HGX-2 GPU 計算平臺的機器將在 16 塊 GPU 中擁有 2 塊 CPU,但如果比例合理的話,可能出現這樣一種平衡的情況,也就是 8 塊 GPU(單塊主機板)中有 2 塊 CPU。雖然在單個 NUMA 節點中整合 4 或 8 塊 Xeon CPU,然後與 1 或 2 塊 GPU 主機板相連是可能的,但這不是英偉達預想會發生的事。我們會說,如果在 GPU 和 CPU 上存在大量 NVLink 埠,那麼可能表示 CPU 上大量的記憶體佔用對 GPU 複合體而言是有幫助的,特別是如果 CPU 和 GPU 的記憶體是相干的,並通過告訴 NVLink 埠執行。供應商在伺服器設計的密集度上也會有所不同,Kyarya 說他在工作中看到的早期機器有 7U 機箱,其他機器是 10U 機箱。

這給我們帶來了一大堆 GPU 加速參考設計,英偉達已經做了這樣的設計讓我們能更容易為每個特定的工作負載選擇合適的平臺。用於機器學習訓練和推斷的 HGX 平臺(如下如所示的 T1,T2)互不相同,用於訓練的機器使用 Volta V100,用於推斷的機器使用 Pascal P4。如 HGX-I1 和 HGX-12,它們在一個節點中裝載 1 或 2 個 P4. 如下所示:

從GPU製造者到伺服器提供商:英偉達的計算平臺轉型

與現在許多 HPC 系統一樣,SCX 平臺是針對傳統的 HPC 模擬和建模工作負載以及不包括機器學習的應用程式棧,當然了,SCX 中的 SC 是超級計算的縮寫,同時 HPC 主題有 4 個變體。有些裝載了 2 個、4 個或 8 個 Volta V100 加速器的機器通過 PCI-Express 連線到處理器上——即 SCX-E1,SCX-E2,和 SCX-E3——以及一個裝載了 4 個 V100 的,使用 NVLink 2.0 彼此連線的機器,其餘機器可能是連線到配備類似 Power9 的埠的 CPU 上。在上表中,IVA 是智慧視訊分析的簡寫,VDI 是虛擬桌面基礎架構的簡寫,RWA 是遠端工作站的簡寫。

這實際上只是幫助人們瞭解什麼樣的配置對於目前什麼樣的工作是有用的。久而久之,比如說,當重寫 HPC 程式碼以充分利用 NVSwitch 的優勢時,相比 SCX-E3 或 SCX-E4,我們十分期望 HPC 核心更像 HGX-T2 那樣考慮節點情況。我們也期望更高密度的推斷框以及未來基於 Volta 架構的推斷框。

目前,機器學習推斷實際上通過單塊 GPU 完成的,並且可以在一對 HGX-2 上的 16 GPU 內有序訓練,並且也可以採用微軟過去在 CNTK 上用的方法在 4 對 HGX-2 主機板或 64 塊 GPU 上訓練。對於石油和天然氣行業不斷髮展的地震分析工作,與機器學習一樣,他們正在推行更高的 GPU 和 CPU 使用比率,但對於量子化學和分子動力學來說,最佳比列大約是 4 塊 GPU 加一對 CPU,同時使用 PCI-Express 連線也有幫助。

原文連結:https://www.nextplatform.com/2018/05/30/nvidia-takes-more-control-of-its-gpu-compute-platform/

相關文章