NVIDIA 加速 AI 平臺和產(chǎn)品(如 NVIDIA EGX 、 DGX 、 OVX 和 NVIDIA AI for Enterprise )需要數(shù)據(jù)中心網(wǎng)絡(luò)的最佳性能。 NVIDIA Spectrum Ethernet 平臺通過芯片級創(chuàng)新實(shí)現(xiàn)了這一性能。
融合以太網(wǎng) RDMA 自適應(yīng)路由( RoCE )通過減少網(wǎng)絡(luò)擁塞問題加快了應(yīng)用程序的速度。這篇文章介紹了 NVIDIA 頻譜以太網(wǎng)的自適應(yīng)路由技術(shù),并提供了一些初步的性能基準(zhǔn)。
是什么讓我的網(wǎng)絡(luò)變慢了?
您不必是云服務(wù)提供商就可以從橫向擴(kuò)展網(wǎng)絡(luò)中獲益。網(wǎng)絡(luò)行業(yè)已經(jīng)發(fā)現(xiàn),具有第 2 層轉(zhuǎn)發(fā)和生成樹的傳統(tǒng)網(wǎng)絡(luò)架構(gòu)效率低下,而且難以擴(kuò)展。他們過渡到 IP 網(wǎng)絡(luò)結(jié)構(gòu)。
這是一個很好的開始,但在某些情況下,它可能不足以解決新類型的應(yīng)用程序和跨數(shù)據(jù)中心引入的流量。
可擴(kuò)展 IP 網(wǎng)絡(luò)的一個關(guān)鍵屬性是它們能夠跨多個交換機(jī)層次結(jié)構(gòu)分布大量流量和流量。
在一個完美的世界中,數(shù)據(jù)流是完全不相關(guān)的,因此在多個網(wǎng)絡(luò)鏈路上分布均勻、負(fù)載平衡平穩(wěn)。該方法依賴于現(xiàn)代哈希和多路徑算法,包括等成本多路徑( ECMP )。運(yùn)營商受益于任何規(guī)模的數(shù)據(jù)中心中的高端口數(shù)、固定外形的交換機(jī)。
然而,在許多情況下,這是行不通的,通常包括無處不在的現(xiàn)代工作負(fù)載,如 AI 、云和存儲。
圖 1 :。介紹 NVIDIA 自適應(yīng)路由
問題是有限熵的問題。熵是一種衡量流經(jīng)給定網(wǎng)絡(luò)的流量的豐富性和多樣性的方法。
當(dāng)您有數(shù)千個從全球各地的客戶端隨機(jī)連接的流時,您的網(wǎng)絡(luò)被稱為有 high entropy 。然而,當(dāng)您只有少數(shù)大型流時(這在 AI 和存儲工作負(fù)載中經(jīng)常發(fā)生),大型流會控制帶寬,因此會出現(xiàn) low entropy 。這種低熵流量模式也稱為 elephant flow 分布,在許多數(shù)據(jù)中心工作負(fù)載中都很明顯。
那么為什么熵很重要呢?
使用靜態(tài) ECMP 的傳統(tǒng)技術(shù),您需要高熵來將流量均勻地分布在多個鏈路上,而不會出現(xiàn)擁塞。然而,在大象流場景中,多個流可以在同一條鏈路上對齊,從而創(chuàng)建一個超額預(yù)訂的熱點(diǎn)或微爆發(fā)。這會導(dǎo)致?lián)砣?、延遲增加、數(shù)據(jù)包丟失和重傳。
對于許多應(yīng)用程序,性能不僅取決于網(wǎng)絡(luò)的平均帶寬,還取決于流完成時間的分布。完成時間分布中的長尾或異常值可能會顯著降低應(yīng)用程序性能。圖 2 顯示了低熵對流完成時間的影響。
圖 2 :。網(wǎng)絡(luò)擁塞示例
此示例由單個機(jī)架頂部交換機(jī)組成,具有 128 個 100G 端口。
64 個端口是連接到服務(wù)器的 100G 下游端口。
64 個端口是連接到第 1 層交換機(jī)的 100G 上游端口。
每個下游端口接收四個帶寬相等的流量: 25G 每個流量,總共 256 個流量。
所有流量都通過靜態(tài)哈希和 ECMP 處理。
在最好的情況下,此配置的可用帶寬不會超額使用,因此可能會出現(xiàn)以下結(jié)果。在最壞的情況下,與理想情況相比,流程可能需要長達(dá) 2.5 倍的時間才能完成(圖 3)。
圖 3 :。流量完成時間可能會有很大變化
在這種情況下,一些端口擁塞,而其他端口未使用。最后一個流量(最壞流量)的預(yù)期持續(xù)時間是預(yù)期第一個流量持續(xù)時間的 250% 。此外, 10% 的流量預(yù)計流量完成時間超過 150% 。也就是說,有一個長尾流,完成時間比預(yù)期的要長。為了避免高置信度擁塞( 98% ),必須將所有流的帶寬降低到 50% 以下。
為什么有許多流會因完成時間過長而受到影響?這是因?yàn)?ECMP 上的一些端口非常擁擠。當(dāng)流完成傳輸并釋放一些端口帶寬時,滯后流通過相同的擁塞端口,導(dǎo)致更多擁塞。這是因?yàn)樵趯?biāo)頭進(jìn)行哈希處理后,路由是靜態(tài)的。
自適應(yīng)路由
NVIDIA 正在為頻譜交換機(jī)引入自適應(yīng)路由。通過自適應(yīng)路由,轉(zhuǎn)發(fā)到 ECMP 組的流量選擇擁塞程度最低的端口進(jìn)行傳輸。擁塞基于出口隊列負(fù)載進(jìn)行評估,確保 ECMP 組在不考慮熵級別的情況下保持良好平衡。向多個服務(wù)器發(fā)出多個請求的應(yīng)用程序以最小的時間變化接收數(shù)據(jù)。
這是如何實(shí)現(xiàn)的?對于轉(zhuǎn)發(fā)到 ECMP 組的每個數(shù)據(jù)包,交換機(jī)在其出口隊列上選擇負(fù)載最小的端口。評估的隊列是那些與數(shù)據(jù)包服務(wù)質(zhì)量匹配的隊列。
相比之下,傳統(tǒng)的 ECMP 基于哈希方法進(jìn)行端口決策,這通常無法產(chǎn)生清晰的比較。當(dāng)相同流的不同數(shù)據(jù)包通過網(wǎng)絡(luò)的不同路徑傳輸時,它們可能會無序到達(dá)目的地。在 RoCE 傳輸層, NVIDIA ConnectX NIC 負(fù)責(zé)處理無序數(shù)據(jù)包,并將數(shù)據(jù)按順序轉(zhuǎn)發(fā)給應(yīng)用程序。這使得從中受益的應(yīng)用程序看不到自適應(yīng)路由的魔力。
在發(fā)送方方面, ConnectX 可以動態(tài)標(biāo)記流量,以符合網(wǎng)絡(luò)重新排序的條件,從而確保在需要時可以強(qiáng)制執(zhí)行消息間排序。交換機(jī)自適應(yīng)路由分類器只能對這些標(biāo)記的 RoCE 流量進(jìn)行分類,使其服從其唯一的轉(zhuǎn)發(fā)。
頻譜自適應(yīng)路由技術(shù)支持各種網(wǎng)絡(luò)拓?fù)洹τ?CLO (或葉/脊椎)等典型拓?fù)?,到給定目標(biāo)的各種路徑的距離是相同的。因此,交換機(jī)通過擁塞最小的端口傳輸數(shù)據(jù)包。在路徑之間距離不同的其他拓?fù)渲?,交換機(jī)傾向于通過最短路徑發(fā)送流量。如果擁塞發(fā)生在最短路徑上,則選擇擁塞最小的備選路徑。這確保了網(wǎng)絡(luò)帶寬得到有效利用。
工作量結(jié)果
存儲
為了驗(yàn)證 RoCE 中自適應(yīng)路由的效果,我們從測試簡單的 RDMA 寫測試應(yīng)用程序開始。在這些在多個 50 Gb / s 主機(jī)上運(yùn)行的測試中,我們將主機(jī)分成幾對,每對主機(jī)在很長一段時間內(nèi)互相發(fā)送大型 RDMA 寫流。這種類型的流量模式是存儲應(yīng)用程序工作負(fù)載中的典型模式。
圖 4 顯示了基于哈希的靜態(tài)路由在上行鏈路端口上發(fā)生沖突,導(dǎo)致流完成時間增加,帶寬減少,流之間的公平性降低。在轉(zhuǎn)移到自適應(yīng)路由后,所有問題都得到了解決。
圖 4 :。針對存儲工作負(fù)載的自適應(yīng)路由
在第一個圖中,所有流幾乎同時完成,峰值帶寬相當(dāng)。
在第二個圖中,一些流實(shí)現(xiàn)了相同的帶寬和完成時間,而其他流發(fā)生沖突,導(dǎo)致完成時間更長,帶寬更低。實(shí)際上,在 ECMP 的情況下,一些流在 13 秒的理想完成時間 T 內(nèi)完成,而性能最差的流需要 31 秒,約為 T 的 2.5 倍。
人工智能/高性能混凝土
為了繼續(xù)評估 RoCE 工作負(fù)載中的自適應(yīng)路由,我們在一個 32 服務(wù)器測試臺上測試了常見 AI 基準(zhǔn)的性能增益,該測試臺在兩級 fat 樹網(wǎng)絡(luò)拓?fù)渲惺褂盟膫€ NVIDIA 頻譜交換機(jī)構(gòu)建。該基準(zhǔn)評估了分布式 AI 培訓(xùn)和 HPC 工作負(fù)載中常見的集體操作和網(wǎng)絡(luò)流量模式,如全對全流量和全減少集體操作。
總結(jié)
在許多情況下,基于靜態(tài)哈希的轉(zhuǎn)發(fā)會導(dǎo)致高擁塞和可變流完成時間。這會降低應(yīng)用程序級性能。
NVIDIA 頻譜自適應(yīng)路由解決了這個問題。這項技術(shù)增加了網(wǎng)絡(luò)使用的帶寬,最大限度地減少了流完成時間的變化,從而提高了應(yīng)用程序的性能。
將此技術(shù)與 NVIDIA ConnectX NIC 提供的 RoCE 無序支持相結(jié)合,應(yīng)用程序?qū)λ褂玫募夹g(shù)是透明的。這確保了 NVIDIA Spectrum Ethernet 平臺提供了實(shí)現(xiàn)最大數(shù)據(jù)中心性能所需的加速以太網(wǎng)。
關(guān)于作者
Gil Levy 擁有 25 年的網(wǎng)絡(luò)產(chǎn)品 ASIC 設(shè)計經(jīng)驗(yàn)。他的重點(diǎn)領(lǐng)域是高速數(shù)據(jù)包處理、數(shù)據(jù)包緩沖、擁塞控制、可編程性和遙測。在過去的 8 年中,他一直在 NVIDIA 的頻譜以太網(wǎng)產(chǎn)品線工作。他之前曾為 Marvell 、 Broadlight 和 Galileo 工作,為企業(yè)、 metro 和數(shù)據(jù)中心市場開發(fā)以太網(wǎng)交換機(jī)和網(wǎng)絡(luò)處理器 ASIC 。吉爾擁有特拉維夫大學(xué)電氣工程學(xué)士學(xué)位,目前正在瑞奇曼大學(xué)攻讀計算機(jī)科學(xué)碩士學(xué)位。
Yonatan Piasetzky 在 NVIDIA 網(wǎng)絡(luò)業(yè)務(wù)部門( NBU )的端到端高級開發(fā)團(tuán)隊工作。 Yonatan 從端到端的角度研究 HPC 和 AI 工作負(fù)載的加速網(wǎng)絡(luò),包括 DPU 和交換機(jī),以及下一代高性能網(wǎng)絡(luò)的虛擬化和云解決方案。 Yonatan 在特拉維夫大學(xué)獲得物理和電氣工程學(xué)士學(xué)位,在魏茨曼研究所獲得理學(xué)碩士學(xué)位,目前正在特拉維夫大學(xué)攻讀集成光子學(xué)量子計算博士學(xué)位。
Barak Gafni 是 NVIDIA 的架構(gòu)師,專注于實(shí)現(xiàn)未來的高性能、可擴(kuò)展和簡單網(wǎng)絡(luò)。巴拉克擁有特拉維夫大學(xué)電氣工程學(xué)士學(xué)位,曾參與撰寫多份 IETF 草案,并在網(wǎng)絡(luò)領(lǐng)域擁有多項專利。
審核編輯:郭婷
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5425瀏覽量
171731 -
NVIDIA
+關(guān)注
關(guān)注
14文章
4986瀏覽量
103066 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9160瀏覽量
85426
發(fā)布評論請先 登錄
相關(guān)推薦
評論