1、數據中心智能無損網絡 白皮書開放數據中心委員會 2021-09-15 發布 ODCC-2021-05001 數據中心智能無損網絡白皮書 i 目目 錄錄 前 言 . iii 版權說明 . iv 數據中心智能無損網絡白皮書 . 1 1. 介紹 . 1 1.1. 范圍 . 1 1.2. 目的 . 1 2. 讓數據中心煥發生機 . 1 2.1. 一個到處都是數據的新世界 . 1 3. 數據中心需求和技術不斷提升 . 3 3.1. 原有數據中心橋接標準 . 3 3.2. 需求演化 . 4 3.3. AI 計算的特點 . 5 3.3.1. 模型并行計算 . 6 3.3.2. 數據并行計算 . 6 3.4.
2、 技術演進 . 8 3.4.1. SSDs 和 NVMeoF:高吞吐量低時延網絡 . 8 3.4.2. GPU:用于并行計算的超低時延網絡 . 11 3.4.3. SmartNICs . 12 3.4.4. 遠程直接內存訪問(RDMA) . 14 ODCC-2021-05001 數據中心智能無損網絡白皮書 ii 3.4.5. GPU DirectRDMA . 16 4. 當今數據中心網絡面臨的挑戰 . 19 4.1. 平衡高吞吐量和低時延 . 19 4.2. 無死鎖無損網絡 . 21 4.3. 大規模數據中心網絡的擁塞控制問題 . 23 4.4. 擁塞控制算法的配置復雜性 . 26 4.4.1
3、. 自適應 PFC Headroom 計算 . 26 4.4.2. 動態 ECN 閾值設置 . 27 5. 解決新數據中心問題的新技術 . 28 5.1. 低時延和高吞吐量的混合傳輸 . 28 5.2. 基于拓撲識別的 PFC 死鎖預防 . 30 5.3. 改善擁塞的通知 . 32 5.3.1. 反應點(RP) . 33 5.3.2. 阻塞點(CP) . 33 5.3.3. 通知點(NP) . 33 5.4. 解決擁塞控制算法的配置復雜性 . 35 5.4.1. 優化緩存區以降低 PFC headroom 配置的復雜性 . 35 5.4.2. 智能 ECN 閾值優化 . 35 6. 結論 .
4、37 ODCC-2021-05001 數據中心智能無損網絡白皮書 iii 前前 言言 由中國信通院云大所、百度、騰訊、美團、京東、移動、電信、華為、思科、博通、英偉達等 ODCC(開放數據中心委員會)成員單位聯合編制的智能無損數據中心網絡白皮書 正式發布。 該白皮書內容翔實, 分別從數據中心的重要性、應用發展需求、網絡面臨的挑戰、相應的解決方案和標準化工作進展等方面開展了介紹。 2017 年起,ODCC 牽頭制定無損網絡技術標準以及測試規范等,相繼發布行業標準、 技術報告等 10 多項成果, 得到了產業界的廣泛參與, 搭建起一個 DCN技術熱點討論平臺,相關技術的標準化推動工作也在緊鑼密鼓進行
5、當中。在國家高度重視新基建的環境下,白皮書發布為我國數據中心技術、產品和服務走出去打下了良好的基礎。 起草單位:中國信息通信研究院(云計算與大數據研究所)、百度在線網絡技術(北京)有限公司、中國移動通信集團有限公司、中國電信集團有限公司、深圳市騰訊計算機系統有限公司、 華為技術有限公司、 NVIDIA(英偉達)中國有限公司、思科(中國)有限公司、博通公司、北京三快在線科技有限公司、北京京東世紀貿易有限公司 起草者:郭亮、李潔、高峰、顧戎、趙繼壯、程傳勝、殷悅、宋慶春、劉軍、何宗應、孫黎陽、唐廣明、權皓、陶春雷、王少鵬、趙精華 ODCC-2021-05001 數據中心智能無損網絡白皮書 iv 版
6、權說明版權說明 ODCC(開放數據中心委員會)發布的各項成果,受著作權法保護,編制單位共同享有著作權。 轉載、摘編或利用其它方式使用 ODCC 成果中的文字或者觀點的,應注明來源:“開放數據中心委員會”。 對于未經著作權人書面同意而實施的剽竊、復制、修改、銷售、改編、匯編和翻譯出版等侵權行為,ODCC 及有關單位將追究其法律責任,感謝各單位的配合與支持。 ODCC-2021-05001 數據中心智能無損網絡白皮書 1 數據中心智能無損網絡白皮書 1. 介紹介紹 1.1. 范圍范圍 白皮書研究了支持現代數據中心網絡需求的網絡技術, 包括高性能計算和人工智能應用,提出了需求演變和新時代技術挑戰的解
7、決方案。 1.2. 目的目的 白皮書旨在為現代數據中心網絡存在的問題和面臨的挑戰, 提供高層次解決方案。白皮書梳理了數據中心的建設現狀和技術演進,介紹了數據中心發展過程中面臨的問題,并基于分析研究,提出增強數據中心網絡能力和運營效率的技術解決方案,契合持續變化的應用需求。 2. 讓數據中心煥發生機讓數據中心煥發生機 2.1. 一個到處都是數據的新世界一個到處都是數據的新世界 數字化轉型正在改變著我們的個人生活和職業生活。 工作流程和人際交往正轉向基于云、移動設備和物聯網的數字化流程和自動化工具。支撐數字化轉型的技術是人工智能(AI)。數據中心在運行擁有海量數據的人工智能應用程序時,要將這些數據
8、重新轉換為相關性信息、自動化人工交互和細致化決策制定(如圖1)。在增強現實、語音識別和上下文搜索需求強勁的當今世界,滿足數據中心實時交互需求比以往任何時候都更加重要。為滿足實時需求,數據中心網絡必須具備更強大的性能、規模和可靠性。 ODCC-2021-05001 數據中心智能無損網絡白皮書 2 圖 1 AI 時代的數字化轉型 云時代的數據中心專注于應用轉型和服務的快速部署。在 AI 時代,數據中心提供了實現數字化生活所需的信息和算法。 高速存儲和人工智能分布式計算的結合,將大數據轉化為快速數據,供人、機、物訪問。高性能、大規模、無丟包的數據中心網絡對數字轉換的順利進行至關重要。 人工智能、網絡
9、性能等高性能應用的關鍵指標包括吞吐量、時延和擁塞。吞吐量是指快速傳輸大量數據的網絡總容量。 時延是指跨數據中心網絡事務的總延遲。 當流量超過網絡容量時, 會發生擁塞。 丟包是嚴重影響吞吐量和時延的因素。 當前,各行業正在加速數字化轉型。據估計,有 64%的企業已經成為數字轉型的探索者和實踐者1。在 2000 家跨國公司中,67%的 CEO 將數字化作為企業戰略的核心2?,F實世界中的數字化轉型趨勢正在引領數據中心網絡支持“以數據為中心”的計算模式。 數字化過程中產生的大量數據成為核心資產,人工智能應用也隨之出現。根據華為全球產業展望的預測,到 2025 年,新增數據量將達到 180ZB3。然而,
10、數據并不是“自我終結”。從數據中獲取的知識和智慧擁有永恒價值。非結構化數據(如原始語音、視頻、圖像數據)的比例不斷增加,未來將占到所有數據的 95%(如圖 2)?,F有的大數據分析方法無法適應數據的快速增長,需要進行性能優化,從原始數據中挖掘更多價值?;谏疃葘W習的人工智能方法可以過濾掉大量 1 Orange, “Finding the competitive edge with digital transformation,” 03 June 2015. Online. Available: https:/www.orange- 2 Wiles, J., “Mobilize Every Fun
11、ction in the Organization for Digitalization,” Gartner, 03 December 2018. Online. Available: https:/ Accessed 10 June 2020. 3 Huawei, “Touching an Intelligent World,” Huawei, 2019. Online. Available: https:/ Accessed 15 March 2021. ODCC-2021-05001 數據中心智能無損網絡白皮書 3 無效數據,并自動提取有用信息,提供更有效的決策建議和行為指導。 圖 2
12、新興的 AI 應用 總體來說,云數據中心架構提高了應用性能,擴大了應用規模。云平臺允許IT 資源快速分配,創建以應用程序為中心的服務模型。在 AI 時代,應用程序需要消耗前所未有的數據量, 必要的性能創新增強了云數據中心架構的負載處理能力。在現有的云數據中心中,很難實現性能創新和新人工智能應用程序的無縫銜接。知道如何根據人工智能應用的需求實現數據有效處理,至關重要。實現成功的關鍵因素是有機結合應用程序的存儲資源和計算資源之間的數據流。 3. 數據中心需求和技術不斷提升數據中心需求和技術不斷提升 3.1. 原有數據中心橋接標準原有數據中心橋接標準 在 10Gbps 以太網的早期, ODCC 工作
13、組就開始關注數據中心橋接 (DCB) 。DCB 任務組針對數據中心環境中所用的以太網、網橋和相關協議定義了一組增強功能。使用案例和重點應用是集群和存儲區域網絡,使用了傳統的專用技術,如 InfiniBand和光纖通道4。以太網的重要目標是消除擁塞造成的損失,并在鏈路上為特定流量分配帶寬。數據中心橋接的關鍵參數包括: 優先級流量控制(優先級流量控制(PFC) :) :一種鏈路層流量控制機制,消除了數據包丟失風險,可以獨立應用于各種流量。 增強型傳輸選擇(增強型傳輸選擇(ETS) :) :一種隊列調度算法,允許流量帶寬分配。 4 InfiniBand 是 InfiniBand貿易協會的商標和服務標
14、志。 ODCC-2021-05001 數據中心智能無損網絡白皮書 4 擁塞通知:擁塞通知:一種檢測擁塞的二層端到端擁塞管理協議,通過跨二層網絡的信號來限制發送端的傳輸速率,避免丟包。 數據中心橋接能力交換協議(數據中心橋接能力交換協議(DCBX) :) :一個識別和性能交換協議,與鏈路層發現協議(LLDP)共同作用,用于傳輸上述參數的功能和配置。 這些參數對于將以太網擴展到集群計算和存儲區域網絡的專業市場非常重要。然而,隨著環境和技術的變化,還需要不斷優化。目前,使用三層協議和高度協調管理系統的數據中心已經實現規模部署。以太網鏈路已經從 10Gbps 提高到 400 Gbps,并計劃將速度提高
15、到 Tbps 范圍。人工智能等新應用程序的出現,對基礎設施提出了新的要求,推動了體系結構變化。為進一步擴大以太網在現代數據中心中的應用范圍,還需要繼續創新。 3.2. 需求演化需求演化 人工智能應用給數據中心網絡帶來了壓力。 自動駕駛汽車的人工智能訓練就是一個例子。深度學習算法嚴重依賴海量數據和高性能計算技術。每天收集的訓練數據接近 PB 級(1PB=1024TB) ,如果使用傳統硬盤存儲和普通 CPU 來處理數據,可能至少需要一年才能完成訓練。這顯然是不切實際的。為了提高人工智能的數據處理效率,需要在存儲和計算領域進行革命性的變革。例如,存儲性能需要提高一個數量級才能實現每秒 100 萬次以
16、上的輸入/輸出操作(IOPS)5。 為了滿足實時數據的訪問要求,存儲介質已經從硬盤驅動器(HDD)發展到固態驅動器(SSD) ,再到存儲類內存(SCMs) ,存儲介質延遲縮短了 1000 倍以上。如果在網絡延遲方面沒有類似的改進,這些存儲優化就無法實現,只能簡單地將瓶頸從介質轉移到網絡上。 對于網絡固態硬盤 (SSD) , 通信時延占端到端存儲總時延的 60%以上。如果轉向存儲類內存(SCMs) ,除非網絡性能得到改善,否則這一比例可能會增加到 85%。 這就造成了存儲介質有一半以上的時間處于閑置狀態。同時優化存儲媒介和 AI 計算處理器,會使得通信時延占總時延的 50% 5 Handy, J
17、. and T. Coughlin, “Survey: Users Share Their Storage,” 12 2014. Online. Available: https:/www.snia.org/sites/default/files/SNIA%20IOPS%20Survey%20White%20Paper.pdf.Accessed 14 May 2020. ODCC-2021-05001 數據中心智能無損網絡白皮書 5 以上,限制技術進步,造成資源浪費6。 人工智能應用程序和應用場景的范圍和復雜性持續增加。例如 2015 年微軟的 Resnet 實現 7 百億億次計算,有 600
18、0 萬個參數。2016 年百度在訓練深度語音系統時,實現 20 百億億次計算和 3 億個參數。2017 年谷歌 NMT 實現 105 百億億次計算和 87 億個參數7。AI 計算的新特性對數據中心網絡的發展提出更高要求。 傳統協議已經不能滿足日常生活中新應用程序的服務需求。 舉個簡單的例子,美團線上外賣業務增長在過去 4 年里大約增長了 5 倍8。僅在用餐高峰期的幾個小時里,交易量就從 21.49 億增加到 123.6 億。美團智能調度系統為用戶、商家和超過 60 萬名外賣員設計了一個復雜的多人多點實時決策過程。該系統每天更新 50 億次定位數據,這些數據為外賣員計算可選路徑并在 0.55 毫
19、秒內選擇最佳路線。當后端服務器使用 TCP/IP 協議時,內核緩存區、應用緩存區和網卡緩存區之間的數據量副本使得 CPU 和內存總線資源緊張,導致延遲增加,無法滿足應用程序的需求。新遠程直接內存訪問(Remote Direct Memory Access, RDMA)協議消除了數據副本,釋放了 CPU 資源,能夠完成路徑選擇和取出順序計算。RDMA 效率的提高給網絡帶來了更大的壓力,將瓶頸轉移到數據中心網絡基礎設施上,低時延和無損行為成為了新的必要需求。 3.3. AI 計算的特點計算的特點 傳統的數據中心服務(web、數據庫和文件存儲)是以事件為基礎,計算結果通常是確定的。對于這樣的任務,單
20、個事件和相應網絡通信之間幾乎沒有相關性或依賴性。傳統事件的發生和持續時間是隨機的。然而,AI 計算并非如此。這是一個迭代收斂的優化問題。 它導致數據集和計算算法之間存在高度的空間相關 6 Huawei, “AI, This Is the Intelligent and Lossless Data Center Network You Want!” 13 March 2019. Online. Available: https:/ Accessed 14 May 2020. 7 Karuppiah, E. K., “Real World Problem Simplification Using
21、Deep Learning / AI,” 2 November 2017. Online. Available:https:/ Accessed 14 May 2020. 8 Yanqin, D., “The “Ultra Brain” weapon behind Meituans delivery of 30 million orders in a single day,” 19 September 2019. Online. Available: https:/ Accessed 15 March 2021. ODCC-2021-05001 數據中心智能無損網絡白皮書 6 性,在通信流之間
22、形成時間相關性。 AI 計算用于大數據,要求快數據。為了滿足這一點,它必須與“分而治之”的問題并行運作。計算模型和輸入數據集較大(例如 100MB 節點條件下,10K 規則的 AI 模型需要超過 4TB 的內存)。單個服務器無法提供足夠的存儲容量和處理資源,使得問題無法按順序解決。需要 AI 計算和存儲節點并行,縮短處理時間。這種分布式 AI 計算和存儲要求需要快速、高效和無損的數據中心網絡,該網絡構建起兩種不同的并行計算模式模型并行計算和數據并行計算。 3.3.1. 模型并行計算 模型并行計算中,每個節點承擔了整個算法的一部分計算。每個節點處理相同的數據集,不同的算法部分,完成了對不同參數集
23、的估計。通過節點交換算法估計,得到收斂于所有數據參數的最佳估計。模型并行計算最初是將公共數據集分布到分布式節點,然后把來自每個分布式節點的單個參數進行集合。圖 3 顯示了在并行操作模式下,整個模型的參數如何分布在計算節點上。 圖 3 并行計算模型9 3.3.2. 數據并行計算 在數據并行計算中,每個節點都承載了整個 AI 算法模型,但只處理部分輸 9 Dean, Jeffrey, Greg S. Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Quoc V. Le, Mark Z. Mao, MarcAurelio Ranzato, Andrew
24、 Senior, Paul Tucker, Ke Yang, Andrew Y. Ng, Large Scale Distributed Deep Networks, Google Inc., Mountain View, CA. Available: https:/ Accessed 19 May 2021. ODCC-2021-05001 數據中心智能無損網絡白皮書 7 入數據。每個節點都試圖使用不同的數據視圖來估計相同的參數集。當一個節點完成一輪計算時,由公共參數服務器加權并聚合參數,如圖 4 所示。更新加權參數要求所有節點同步更新信息。 圖 4 數據并行計算9 無論采用哪種并行計算方法
25、,數據中心網絡都要承受更大的通信壓力。當網絡成為瓶頸時,計算資源的等待時間會超過工作完成時間的 50%10。 對于所有的 AI 應用程序,計算模型都在不斷迭代,且存在一個會造成網絡incast 擁塞的同步步驟。圖 5 顯示了 AI 訓練中發生 incast 堵塞的方式。訓練過程在不斷迭代,在每次迭代都會產生很多同步參數。應用程序在下載模型時會同步將下一次計算得到的結果(M)上傳到參數服務器。上傳到參數服務器中的過程會造成 incast。應用新興計算技術能夠縮短計算時間,但網絡壓力和由此產生的 incast 也會隨之增加。 10 Cardona, O., “Towards Hyperscale
26、High Performance Computing with RDMA,” 12 June 2019. Online. Available: https:/pc.nanog.org/static/published/meetings/NANOG76/1999/20190612_Cardona_Towards_Hyperscale_High_v1.pdf. Accessed 14 May 2020. ODCC-2021-05001 數據中心智能無損網絡白皮書 8 圖 5 訓練期間的周期性 incast 擁塞 工作節點和參數服務器間的通信構成了相互依賴的網絡流集。分布式 AI 計算的迭代過程中,
27、大量突發流量會在幾毫秒內將數據分配到工作節點,當傳遞和更新中間參數時,發送到參數服務器的小規模流量會發生 incast。在這些流交換的過程中,網絡可能會出現丟包、擁塞、負載失衡等問題。因此,一些流的流完成時間(FCT)被延長。如果有一些流發生延遲,可能會導致存儲和計算資源無法得到充分利用。進而延遲了整個應用程序的完成時間。 分布式 AI 計算具有同步性,在理想情況下,可以預測到計算完成時間。當沒有擁塞時,低網絡動態時延使得平均 FCT 是可預測的,因此,整個應用程序的性能也可以被預測。當擁塞導致的動態延遲增加到丟包臨界點時,就無法預測FCT 了。完成時間遠遠大于平均完成時間的流,會發生所謂的尾
28、部時延。系統對輸入/輸出(I/O)請求的全部響應中,尾部時延僅占系統響應時間的一小部分,與大部分響應時間相比,它花費的時間最長。盡可能縮短尾部延遲對于并行算法和整個分布式計算系統的成功至關重要。 為了最大限度地利用數據中心中的計算資源,尾部時延需要被解決。 3.4. 技術演進技術演進 當不斷變化的需求和技術相協調時,即意味著進步。新需求通常會驅動新技術研發,而新技術能支撐新用例,這些用例又會促成新需求。網絡存儲、分布式計算、系統架構和網絡協議的突破推動下一代數據中心的發展。 3.4.1. SSDs 和 NVMeoF:高吞吐量低時延網絡 ODCC-2021-05001 數據中心智能無損網絡白皮書
29、 9 在網絡存儲中, 一個文件被分發到多個存儲服務器, 實現輸入/輸出的加速和冗余。當數據中心應用程序讀取文件時,它會同時從不同的服務器訪問數據的不同部分。數據幾乎同時通過數據中心交換機進行聚合。數據中心應用程序寫入文件時,數據寫入會在分布式存儲節點和冗余存儲節點之間觸發一系列存儲事務。圖 6 顯示了由網絡存儲服務模型觸發的數據中心通信示例。 圖 6 網絡存儲服務模型 該示例強調了網絡同時支持高吞吐量和低時延的重要性。 寫入主存儲服務器的大量數據會分多次傳輸到副本。小規模的確認和提交消息必須進行排序,并在事務完成之前傳遞給發起客戶端,說明了超低時延的必要性。 隨著使用非易失性存儲器高速 (NV
30、Me) 接口規范的技術從 HDD 發展到 SSD,再發展到 SCM,存儲性能得到了巨大提升。通過 NVMe 訪問存儲介質所花時間相比以前的硬盤技術減少了 1000 倍。不同技術之間的樣本搜索時間分別為:HDD= 2-5 毫秒,SATA SSD = 0.2 毫秒,NVMe SSD = 0.02 毫秒。SCM 通常比NVMe 閃存 SSD 快三到五倍。 NVMeoverfabrics(簡稱 NVMeoF)是指用于網絡存儲的 NVMe 配置。介質的訪問速度越快,網絡瓶頸越大,網絡時延的影響也越顯著。圖 7 展示了網絡時延如何成為更快 NVMe 存儲的主要瓶頸。網絡時延是端到端網絡硬盤存儲時延中可以忽
31、略的一部分,但隨著網絡化 SCM 存儲的發展,網絡時延將成為一個重要的組成部分。 為了最大化新介質的 IOPS 性能, 首先必須解決網絡時延問題。 ODCC-2021-05001 數據中心智能無損網絡白皮書 10 圖 7 HDD 和 SSD 的端到端時延故障 時延由靜態時延和動態時延兩種類型組成。靜態時延包括串行數據時延、設備轉發時延和光/電傳輸時延。這種時延類型取決于交換硬件的性能和數據傳輸的距離。它通常是固定的,而且很容易預測。圖 8 顯示,當前靜態時延的行業測量值通常為納秒(10-9 秒)或亞微秒(10-6 秒)級別,在端到端網絡總時延中占比不到 1%。 圖 8 網絡時延故障 動態時延對
32、端到端網絡總時延的作用更強, 并且受通信環境條件的影響更多。動態時延是由于內部排隊和數據包重傳引起, 這些時延的原因是網絡擁塞和數據包丟失。并行 AI 計算模型會形成獨特的流量模式,造成嚴重的網絡擁塞。降低端到端網絡時延的關鍵是解決動態時延,而解決動態時延的關鍵是緩解擁塞。 動態時延的主要來源是丟包導致的數據包重傳。 丟包時延比排隊時延大一個數量級,并對應用程序有嚴重影響。當交換機緩存區因擁塞而溢出時,就會發生丟包 (需要注意的是, 此處忽略傳輸過程中由于低概率比特錯誤而造成的丟包) 。Media latencyNetwork latencyOther60%10%30%85%10%5%HDD
33、Total LatencySSD Total Latency80%5%15%SCM Total LatencyQueuing latency (50 s)Switching latency (3 s)Transmission latency (0.3 s)Packet loss latency (5000 s)Dynamic Network LatencyStatic Network LatencyEnd-to-end Network Latency BreakdownODCC-2021-05001 數據中心智能無損網絡白皮書 11 導致丟包的兩種主要擁塞分別是網絡內擁塞和 incast 擁塞
34、。當網絡結構中的鏈路過載時,交換機之間的鏈路就會發生網絡內擁塞,這可能是由于負載不平衡。當許多源同時向相同目的地發送數據時, 網絡邊緣就會出現 incast 擁塞。 AI 計算模型本身所具有的階段,即在處理迭代之后對數據進行聚合,很容易發生 incast 擁塞(多打一)。 3.4.2. GPU:用于并行計算的超低時延網絡 今天的 AI 計算架構包括中央處理器(CPU)和圖形處理器(GPU)。GPU最初是為了高速渲染電子游戲而發明的, 現在在數據中心有了新的用途。 GPU 是一個擁有數千內核的處理器,能夠同時執行數百萬次數學運算。所有的人工智能學習算法都能進行復雜的統計計算, 并且可以處理大量的
35、矩陣乘法運算這非常適用于 GPU。然而,要擴展 AI 計算架構以滿足當前數據中心對 AI 應用程序的需求, GPU 必須是分布式和網絡化的。 這就對通信量和性能提出了更高要求。 Facebook 最近測試了分布式機器學習平臺 Caffe2,這個平臺為實現并行加速,使用了最新的多 GPU 服務器。測試時發現,8 臺服務器的計算任務導致100Gbit/s InfiniBand 網絡的資源未得到充分利用。網絡和網絡爭用的出現使解決方案的性能降低到線性范圍以下11。因此,網絡性能極大地限制了人工智能系統的橫向擴展。 GPU 提供了比現在的 CPU 架構高得多的內存帶寬。多節點 GPU 由于其高能效和硬
36、件并行性,被用于高性能計算。圖 9 展示了多 GPU 節點架構,每個節點由一臺主機(CPU)和多個 GPU 設備組成,這些設備通過 PCI-e 交換機或NVLink 連接。 每個 GPU 都能夠直接訪問其本地相對較大的設備內存、 更小更快的共享內存,以及主機節點 DRAM 的一小塊固定區域,即零拷貝內存12。 11 Morgan, T. P., “Machine Learning Gets an Infiniband Boost with Caffe2,” 19 April 2017. Online. Available: https:/ Accessed 14 May 2020. 12 Ja
37、i, Z., Y. Kwon, G. Shipman, P. McCormick, M. Erez and A. Aiken, “A distributed multi-GPU system for fast graph processing,” in VLDB Endowment, 2017. ODCC-2021-05001 數據中心智能無損網絡白皮書 12 圖 9 分布式 AI 計算架構12 3.4.3. SmartNICs 在過去的幾年里, CPU的速度提高和以太網鏈路的性能優化已經相互抵消。圖 10 展示了以太網鏈路的歷史速度提升情況和 CPU 性能的基準提升13。在過去的某些時期,傳
38、統 CPU 的處理能力足以承載以太網鏈路的負載,而簡化的 NIC可以節約成本,還可以在軟件中靈活處理整個網絡堆棧,優勢明顯。而在其他時期, 處理器無法適應鏈路速度提升, 因此在使用以太網鏈路時, 需要使用更昂貴、更復雜的 SmartNIC 和專業可卸載硬件。隨著時間的推移,SmartNIC 卸載逐漸成熟, 其中一些特性已經成為標準,并涵蓋在現在通用的 NIC 基本特性中。這種現象隨著 TCP 卸載引擎(TOE)的出現而出現,TOE 支持 TCP 校驗和卸載、大數據段發送和接收端擴展。 圖 10 歷史性能比較 13 Rupp, K., “42 Years of Microprocessor Tr
39、end Data,” February 2018. Online. Available: https:/ Accessed 22 July 2020. 0100200300400198819951998200320152019GbpsEthernet Speed0200004000060000800001000001988 1995 1998 2003 2015 2019SpecINTCPU PerformanceODCC-2021-05001 數據中心智能無損網絡白皮書 13 當今世界, 有跡象表明摩爾定律正在消失, 而以太網鏈路速度卻在持續飆升,可達到 400Gbps。這種變化差異還包括現
40、代數據中心中軟件定義網絡、虛擬化技術、存儲、消息傳遞和安全協議方面的復雜性,有一種觀點認為,SmartNIC 體系結構會繼續存在。那么,當今的數據中心 SmartNIC 到底是什么呢? 圖 11 展示了一個包含 SmartNIC 的數據中心服務器架構。SmartNIC 涵蓋了全部典型的 NIC 功能,還包括卸載功能,加快了應用程序在服務器 CPU 和 GPU的運行速度。SmartNIC 不是 CPU 或 GPU 的替代,而是通過網絡卸載對 CPU 或GPU 進行補充。 一些關鍵卸載包括虛擬機接口支持、 數據包靈活匹配、 覆蓋隧道的終止和發起、加密、流量計量、塑形和每流統計。此外,SmartNI
41、Cs 通常包括整個協議卸載和直接數據放置,支持 RDMA 和 NVMe-oF 存儲接口。 圖 11 使用 SmartNIC 的服務器架構 現在,SmartNIC 一個新的關鍵特征是可編程性。過去對 SmartNIC 的質疑是它們無法滿足快速變化的網絡環境。早期的云數據中心傾向于將 CPU 用于大多數網絡功能,因為 NIC 所需特性集的發展速度超過了硬件開發周期。然而,今天的 SmartNIC 擁有開放靈活的編程環境。它們實質上是開源環境中計算機前面的一臺計算機, 開源環境基于 Linux 和其他軟件定義網絡工具, 如 Open vSwitch14。將智能技術無縫集成到開源生態系統中,能夠快速開
42、發特性并進行利用。 14 The Linux Foundation, “Open vSwitch,” 2016. Online. Available: https:/www.openvswitch.org/. Accessed 23 July 2020. ODCC-2021-05001 數據中心智能無損網絡白皮書 14 數據中心 SmartNIC 提高了網絡的整體利用率和負載。 它們使網絡鏈路充分、迅速飽和,加劇了擁塞影響。同時,它們可以快速響應來自網絡的擁塞信號,減輕間歇性沖擊,避免丟包。SmartNIC 的可編程性使它能夠適應新的協議,這些協議可以與網絡相協調,以避免 incast 等情況
43、。 3.4.4. 遠程直接內存訪問(RDMA) RDMA 是一種新技術,旨在解決網絡應用中服務器端數據處理的高延遲問題。RDMA 可以讓數據直接從一臺計算機的存儲器傳輸到另一臺計算機,而不需要任何操作系統的干預。它允許高帶寬、低時延的網絡通信,特別適用于大規模并行計算環境。圖 12 展示了 RDMA 協議的原理。 圖 12 RDMA 協議的工作原理 RDMA 協議有三種不同的傳輸方式: Infiniband、 iWarp 和 RoCEv1/RoCEv2。 Infiniband 2000 年,InfiniBand 貿易協會 (IBTA) 首次發布了支撐 RDMA 的 InfiniBand準則。I
44、nfiniBand 適用于高效硬件設計,可以確保數據傳輸的可靠性和訪問遠程節點內存的直接性。Infiniband 作為一種特定的網絡解決方案,需要專門的Infiniband 交換機和 Infiniband 接口卡。 iWarp ODCC-2021-05001 數據中心智能無損網絡白皮書 15 iWarp 是一種 RDMA 協議,2014 年,IETF 規定 iWarp 需在 TCP 上運行。使用 TCP 作為傳輸工具,可以使 iWarp 覆蓋互聯網和廣域網,以及標準以太網和數據中心。雖然 iWarp 可以在軟件中實現,但要獲得所需的性能,還需要數據中心使用專門的 iWarp 網卡。 融合以太網
45、上的融合以太網上的 RDMA(RoCE) 2010 年 4 月,IBTA 發布了 RoCEv1 規范,該規范增強了 Infiniband 體系結構規范性,支持以太網 Infiniband(IBoE)。RoCEv1 標準直接在以太網鏈路的頂層指定了一個 Infiniband 網絡層。因此,RoCEv1 規范不支持 IP 路由。由于Infiniband 依賴于無損物理傳輸,所以 RoCEv1 規范依賴于無損以太網環境。 現代數據中心傾向于使用三層技術來支持大規模和更大流量控制。RoCEv1規范需要端到端的二層以太網傳輸,而在三層網絡中不能有效運行。2014 年,IBTA 發布了 RoCEv2,它擴
46、展了 RoCEv1,用 IP 和 UDP 報頭替換了 Infiniband全局路由報頭(GRH)?,F在的 RoCE 是可路由的,它很容易集成到首選的數據中心環境中。然而,為了獲得所需的 RDMA 性能,RoCE 協議被卸載,由特定網絡接口卡取代。這些網卡實現了全部的 RoCEv2 協議,包括 UDP 堆棧、擁塞控制和任何重傳機制。雖然 UDP 的重量比 TCP 輕,但附加支持在提高 RoCEv2 可靠性的同時, 增加了網卡實現的復雜性。 RoCEv2 仍然依賴 Infiniband 傳輸協議,該協議要在無損 Infiniband 環境中運行,因此 RoCEv2 仍然受益于無損以太網環境。 表
47、1 RDMA 網絡技術的比較 技術技術 數據速率數據速率 (Gbit/s) 時延時延 關鍵技術關鍵技術 優勢優勢 劣勢劣勢 以太網TCP/IP 10,25,40,50,56,100 或200 500-1000ns TCP/IP 套接字編程接口 應用范圍廣,價格低廉,兼容性好 網絡利用率低,平均性能差,鏈路傳輸速率不穩定 Infiniband 40,56,100 或200 300-500ns InfiniBand 網絡協議和架構動詞編程性能良好 不支持大規模網絡,需要特定的ODCC-2021-05001 數據中心智能無損網絡白皮書 16 接口 NIC 和交換機 RoCE/RoCEv2 40,56
48、,100 或200 300-500ns InfiniBand 網絡層或傳輸層和以太網鏈路層動詞編程接口 與傳統以太網技術兼容,性價比高,性能良好 特定的 NIC仍然有許多挑戰 Omni-Path 100 100ns OPA 網絡架構動詞編程接口 性能良好 單個廠商和特定的 NIC和交換機 圖 13 顯示了最常見的 RDMA 協議棧及相關標準。 表 1 比較了不同的實施細節。大型云數據中心中,RDMA 成為選擇高速存儲、人工智能和機器學習的協議?,F實世界中,有成千上萬的服務器在生產中使用 RDMA。使用 RDMA 極大的提高了應用程序性能15。 例如, 機器學習分布式訓練加快了 100 多倍,
49、用 RDMA代替 TCP/IP 進行通信,使得網絡化 SSD 存儲的 I/O 速度提高了約 50 倍。這些優化來自于 RDMA 的硬件卸載特性。 圖 13 RDMA 協議棧和標準 3.4.5. GPU DirectRDMA 把兩個好想法結合起來往往能創造出一個突破性的想法。GPU DirectRDMA包括 PCIe PeerDirect 技術和網絡 RDMA 技術,可以將數據直接發送到 GPU 內存。任何 PCIe 對等機都能支持此項技術,如 NVIDIA GPU、XEON PHI、AMD 15 Li, Y., R. Miao, H. H. Liu, Y. Zhuang, F. Feng, L
50、. Tang, Z. Cao, M. Zhang, F. Kelly, M. Alizadeh and M. Yu, “HPCC: High Precision Congestion Control,” in Proceedings of the ACM Special Interest Group on Data Communication (SIGCOMM 19), New York, NY, USA, 2019. EthernetInfiniBandLink LayerEthernetEthernetIPIPUDPTCPInfiniBandNetwork LayerInfiniBandN