GPCNeT 還是 GPCNoT?

作者:Gilad Shainer,Mellanox Technologies

全新的數據世界為實現更高級別的科學模擬開創(chuàng)了機會,使我們能解決過去曾經認為不可解決的棘手問題,開發(fā)高級深度學習引擎,用以改善我們的生活。為了達成這些目標,數據中心體系結構已經悄然發(fā)生了變化,新的技術正在將數據中心體系結構從以 CPU 為中心的舊概念過渡到以數據為中心的新概念。在這個過程中,一個至關重要的環(huán)節(jié)就是一些新型計算方案的出現,如智能和可編程的互連解決方案。

InfiniBand 作為一種標準互連技術,長久以來一直在高性能計算和深度學習領域保持領先地位,現在又被應用于各種云平臺,為計算和數據密集型應用提供高效服務。目前,在業(yè)界領先的云平臺和Hyperscale 系統(tǒng)中,數以萬計的計算節(jié)點使用InfiniBand互連,與全球各地眾多的超級計算機系統(tǒng)采用了相同的方案。全球用戶紛紛選擇 InfiniBand 作為互連技術,是因為它能提升計算密集型和數據密集型應用的性能和擴展性。在傳統(tǒng)以太網為基礎的數據中心中,越來越多地出現使用InfiniBand互連的HPC、AI、大數據等專業(yè)應用池,這些專業(yè)應用池通過高速網關連接到以太網基礎網。另外,InfiniBand 網絡不僅僅性價比高,而且在相同數據吞吐量的情況下,甚至比以太網成本更低。

InfiniBand 推出了創(chuàng)新型網絡計算引擎,它內置于網絡設備內,可以對網絡傳輸中的數據執(zhí)行算術運算操作 – 比如數據聚合、數據標簽匹配及其他一些運算。另外,還有一些InfiniBand 設備內置標準計算核心,可以很方便地編程來實現其他相關的數據運算。正因如此,與以太網或其他私有網絡(有些是隱形以太網)相比,InfiniBand顯然成為首選解決方案。

顯而易見,網絡計算的創(chuàng)新在于,除了履行它在數據中心中互連的核心使命外,網絡還變成了傳輸數據中的“協(xié)處理器”,– 也就是說,能有效和高效地移動數據,確保其余計算資源能及時接收到數據。經過多年發(fā)展,該領域涌現出大批技術和功能,比如 RDMA、GPUDirect® RDMA、QoS、動態(tài)路由和擁塞控制,這些技術都是InfiniBand標準規(guī)范的一部分。其中最后兩項InfiniBand網絡的基礎功能,卻成為了一些最新的私有網絡的新技術。

我們以網絡擁塞為例說明。網絡擁塞主要由以下兩個原因導致:1)點對點通信共用同一網絡路徑,而其他路徑則閑置;2)在多對一通信模式下,單個接收端無法及時處理多個發(fā)送端同時發(fā)出的所有數據。

動態(tài)路由機制可克服因點對點網絡通信分布不均衡導致的網絡擁塞。橡樹嶺國家實驗室使用MPIGraph 基準測試結果表明,InfiniBand 動態(tài)路由可實現 96% 的網絡利用率(來源:“The Design, Deployment, and Evaluation of the CORAL Pre-Exascale Systems,” Sudharshan S. Vazhkudai, Arthur S. Bland, Al Geist, et al )。InfiniBand 可以實現細粒度動態(tài)路由,支持多種動態(tài)路由方案??梢愿鶕到y(tǒng)設計和使用情況選擇最合適的方案來實現優(yōu)異的性能。

GPCNeT 還是 GPCNoT?

圖 1 – 靜態(tài)路由與動態(tài)路由的 mpiGraph 性能結果比較,展現出 InfiniBand 動態(tài)路由的優(yōu)勢,在 Summit 超級計算機上的測量結果顯示,它有效地消除了點對點擁塞,實現了 96% 的網絡利用率(來源:“The Design, Deployment, and Evaluation of the CORAL Pre-Exascale Systems”,Sudharshan S. Vazhkudai、Arthur S. Bland、Al Geist , el al)

多對一通信擁塞問題可通過擁塞管理或擁塞控制機制加以解決。擁塞控制的關鍵在于,依靠網絡交換機發(fā)現多對一場景并迅速向發(fā)送端發(fā)出網絡擁塞通知。發(fā)送端接到擁塞通知后,適當減少發(fā)向接收端的數據量,以確保接收端能成功處理所有數據。這樣可以防止網絡被數據淹沒,交換機緩沖區(qū)保持為空,從而避免了多對一擁塞場景。顯然,擁塞通知越及時從交換機發(fā)出和到達發(fā)送端,擁塞控制成效越顯著。

早在 2010 年,我有幸與挪威 Simula 實驗室團隊合作展示 InfiniBand 擁塞控制機制。我們搭建了一個小型實驗環(huán)境,其中包含七臺服務器和兩臺交換機,通過 DDR 20Gb/s InfiniBand 鏈路將各服務器連接到交換機(其中三臺服務器連接到一臺交換機,其余四臺服務器連接到另一臺交換機),再通過一條 QDR 40Gb/s InfiniBand 鏈路連接兩臺交換機。我們構造了一個多對一網絡擁塞場景,和犧牲流(Victim Flows)(犧牲流是指其數據流不屬于多對一通信組,但因擁塞導致性能受損)。結果證明了 InfiniBand 擁塞控制不僅可以消除網絡擁塞,還能防止產生犧牲流。

GPCNeT 還是 GPCNoT?

圖 2 – 采用 InfiniBand 擁塞控制與不采用 InfiniBand 擁塞控制的網絡性能 – 證明 InfiniBand 擁塞控制在消除多對一擁塞和犧牲流方面的成效(來源文章:“first experiences with congestion control in InfiniBand hardware ”,2010 年)

毋庸置疑,自 2010 年以來,InfiniBand 硬件擁塞控制機制又進行了多次改進和增強。例如,最新 HDR 200Gb/s InfiniBand 交換機和網卡的 面向更有效和高效擁塞控制的快速發(fā)現和通信機制。

最近,我們注意到一種名為GPCNeT (Global Performance and Congestion Network Test - 全局性能和擁塞網絡測試)的新型網絡測試基準。GPCNeT 基準測試是一項 MPI 級測試,旨在衡量后臺流量對于 Random Ring 延遲和帶寬以及小數據 MPI Allreduce 操作的影響。這引起我們的思考:為什么創(chuàng)建此類基準測試突然變得如此重要?為什么沒在十年前做這件事?主要原因在于直到最近那些私有網絡才剛開始支持擁塞控制,還把它作為一個技術創(chuàng)新來進行介紹。

簡單而言,GPCNeT 基準測試可測量三種 MPI 操作,分別在兩種場景下進行每種操作測試:第一種場景,部分集群節(jié)點運行任一種MPI操作測試,其余節(jié)點閑置;第二種場景,相同節(jié)點運行同一種 MPI 操作測試不變,在其余節(jié)點上注入背景網絡流量,構造多對一通信操作和網絡擁塞。最后對每項測試在兩種場景的結果進行比較,得出 GPCNeT 基準測試評分。

實際上,GPCNeT 基準測試衡量的是有載相對性能,而不是絕對網絡性能。因此,GPCNeT 無法用來比較一種網絡相對另外一種網絡的快慢。舉例來說,如果在一個網絡上測試GPCNeT看到無擁塞時 MPI Allreduce 延遲 是2us(微秒)、有擁塞時延遲是 3us,而另外一個網絡上測試GPCNeT看到無擁塞時延遲 是100 us、有擁塞時延遲 是110us,根據GPCNeT得分,會得出錯誤的結論,認為第二個網絡更好(但是眾所周知,延遲越小,網絡性能越好)。這就是GPCNeT 基準打分機制的問題:它掩蓋了真實的網絡延遲性能。

此外,這個基準測試將 8 字節(jié) 的數據視為MPI Allreduce的重要測試數據,而背景擁塞流量則基于大消息。并不是說 8 字節(jié) MPI Allreduce 性能不重要,而是大消息的聚合和歸約對應用程序性能的影響更大 – 例如深度學習場景。深度學習已經成為很多 HPC 應用的重要組成部分,可用于提高 HPC 模擬的精確度。當然,應用程序中還會用到 8 字節(jié)數據交換,但大消息(從幾百字節(jié)到幾千字節(jié)乃至數百萬字節(jié)大小)使用程度更高,且對應用程序性能的影響也更顯著。

基于上述種種事實(還可以列出更多其他理由),我們可以得出結論:GPCNeT 是一個非常牽強的基準測試,其作用極為有限,無法用它的結果來比較現實網絡性能。

最后,如果我們想看一下 HDR 200Gb/s InfiniBand 在 GPCNeT 基準測試中的表現究竟如何,測試結果再次印證了 HDR InfiniBand 的世界頂尖性能,幾乎沒有抖動!事實證明,InfiniBand 擁塞控制機制完美解決了 GPCNeT 基準測試營造的擁塞問題,GPCNeT 擁塞因子得分幾乎為1 – 而1是GPUNeT擁塞因子理論最好成績。

GPCNeT 還是 GPCNoT?

圖 3 – 啟用擁塞控制與不啟用擁塞控制的 HDR 200Gb/s InfiniBand 的 GPCNeT 基準測試結果。在啟用擁塞控制的情況下,InfiniBand 呈現出世界領先的性能結果。

當評估高性能計算系統(tǒng)或互連產品時,業(yè)界有很多更有效的基準測試可選。如果能夠將用戶實際應用作為基準進行測試,顯然更有利于確定系統(tǒng)或網絡的性能與功能。GPCNeT 基準測試的缺點遠超過優(yōu)點,是否應該稱其為GPCNoT 呢?

關于Mellanox

Mellanox 公司的英文全稱是 Mellanox Technologies(中文名:邁絡思),是一家在全球范圍內為服務器和存儲提供端到端InfiniBand和以太網智能互連解決方案及服務的領軍企業(yè)。Mellanox互連解決方案憑借其低延遲、高帶寬、網絡計算等優(yōu)勢, 可在應用之間快速地傳遞數據,提升系統(tǒng)性能和提高數據安全性,極大地提升了數據中心效率。Mellanox的端到端高速互連產品包括: 網卡、交換機、線纜、光模塊、軟件和芯片等,用以加速應用的性能、優(yōu)化業(yè)務的投資回報率,覆蓋云服務、超大規(guī)模數據中心、高性能計算、人工智能、企業(yè)級數據中心、網絡安全、存儲以及金融服務等各個行業(yè)。

免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。

2020-04-01
GPCNeT 還是 GPCNoT?
作者:Gilad Shainer,Mellanox Technologies全新的數據世界為實現更高級別的科學模擬開創(chuàng)了機會,使我們能解決過去曾經認為不可解決的

長按掃碼 閱讀全文