GPCNeT 還是 GPCNoT?

作者:Gilad Shainer,Mellanox Technologies

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

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

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

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

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

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

GPCNeT 還是 GPCNoT?

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

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

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

GPCNeT 還是 GPCNoT?

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

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

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

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

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

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

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

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

GPCNeT 還是 GPCNoT?

圖 3 – 啟用擁塞控制與不啟用擁塞控制的 HDR 200Gb/s InfiniBand 的 GPCNeT 基準(zhǔn)測試結(jié)果。在啟用擁塞控制的情況下,InfiniBand 呈現(xiàn)出世界領(lǐng)先的性能結(jié)果。

當(dāng)評估高性能計算系統(tǒng)或互連產(chǎn)品時,業(yè)界有很多更有效的基準(zhǔn)測試可選。如果能夠?qū)⒂脩魧嶋H應(yīng)用作為基準(zhǔn)進(jìn)行測試,顯然更有利于確定系統(tǒng)或網(wǎng)絡(luò)的性能與功能。GPCNeT 基準(zhǔn)測試的缺點遠(yuǎn)超過優(yōu)點,是否應(yīng)該稱其為GPCNoT 呢?

關(guān)于Mellanox

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

極客網(wǎng)企業(yè)會員

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

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

長按掃碼 閱讀全文