《ODCC:2023網絡級DMA(NDMA)技術需求白皮書(36頁).pdf》由會員分享,可在線閱讀,更多相關《ODCC:2023網絡級DMA(NDMA)技術需求白皮書(36頁).pdf(36頁珍藏版)》請在三個皮匠報告上搜索。
1、1網絡級 DMA 技術需求白皮書ODCC-2023-0500C編號 ODCC-2023-0500C網絡級 DMA 技術需求白皮書開放數據中心委員會2023-09 發布I網絡級 DMA 技術需求白皮書ODCC-2023-0500C版權聲明版權聲明ODCC(開放數據中心委員會)發布的各項成果,受著作權法保護,編制單位共同享有著作權。轉載、摘編或利用其它方式使用 ODCC 成果中的文字或者觀點的,應注明來源:“開放數據中心委員會 ODCC”。對于未經著作權人書面同意而實施的剽竊、復制、修改、銷售、改編、匯編和翻譯出版等侵權行為,ODCC 及有關單位將追究其法律責任,感謝各單位的配合與支持。II網絡級
2、 DMA 技術需求白皮書ODCC-2023-0500C編寫組編寫組項目經理:項目經理:呂云屏華為技術有限公司工作組長:工作組長:郭亮中國信息通信研究院貢獻專家:貢獻專家:吳美希中國信息通信研究院溫小振中國信息通信研究院王瑞雪中國移動研究院秦鳳偉中國移動研究院盛曦珠海星云智聯科技有限公司唐毓虎珠海星云智聯科技有限公司黃楚生珠海星云智聯科技有限公司王軍珠海星云智聯科技有限公司何宗應Broadcom Inc成偉蘇州盛科通信股份有限公司王俊杰蘇州盛科通信股份有限公司張君逸華為技術有限公司王巧靈華為技術有限公司莊艷華為技術有限公司III網絡級 DMA 技術需求白皮書ODCC-2023-0500C前前 言
3、言數字化經濟時代,全球算力需求急劇增加,算力系統的軍備競爭也日益激烈。算力已不僅是一個技術維度的概念,更成為了一種全新的社會生產力,對整個經濟社會發揮著越來越重要的作用。HPC超算系統的算力幾乎按照摩爾定律在提升,從 G 級到現在的 E級,并正在向 10E級演進。AI智算系統在大模型的應用激發下,需要具備千億甚至萬億、百萬億的參數量處理能力。單個計算機或服務器的處理能力已遠遠不能滿足計算任務的要求,需要在數據中心中部署高性能分布式系統,突破單機算力和存儲的限制,提供高并發高可用的計算服務。隨著算力需求的增長,分布式系統規模同步擴張,以承載起大規模算力任務的需求。集合通信被廣泛應用于分布式計算/
4、存儲系統,應用通過調用集合通信推進計算任務,因此通信的完成效率決定了分布式系統整體的性能上限。集合通信中除了一對一的通信模式外,還包含大量的多對多通信模式,如 AI中常見的 AllReduce、HPC中調用的 Bcast。而業界主流的實現是使用點對點傳輸,如 RDMARC模式,來完成多對多集合通信,這必然帶來系統資源浪費、通信性能下降的問題,尤其是在分布式系統通信規模日益擴大的情況下,點對點傳輸的可擴展性缺陷更加凸顯。因此,亟需改進現有支持集合通信的傳輸機制,從而最優化集合通信效率,提升分布式系統性能。IV網絡級 DMA 技術需求白皮書ODCC-2023-0500C本研究報告在分析了分布式系統
5、中集合通信特征的基礎上,列舉了當前業界主要的技術路線以及在大規模系統中面對的關鍵挑戰,提出了面向集合通信的原生傳輸框架網絡級 DMA(NDMA)。相對于服務器內 DMA 技術、本地和遠程服務器間 RDMA技術,NDMA著重于面向網絡中的一組節點進行內存直讀、直寫操作,通過端網協同機制,將應用的通信邏輯下沉到網絡,最優化分布式系統傳輸性能,在 HPC/AI/存儲等多種分布式系統場景都具備明確的應用價值。V網絡級 DMA 技術需求白皮書ODCC-2023-0500C目目 錄錄版權聲明.I編寫組.II前 言.III一、高性能分布式系統承載大規模算力需求.1(一)全球算力高速增長.1(二)分布式系統承
6、載大規模高復雜度算力任務.2(三)通信效率影響分布式系統性能.4二、分布式系統以多對多集合通信為主.4(一)什么是集合通信及其原語.5(二)分布式系統中集合通信的調用.6三、大規模集合通信面臨性能挑戰.6(一)集合通信實現現狀.7(二)高性能傳輸協議的發展及其挑戰.8(三)在網計算的發展及其挑戰.11四、NDMA應對大規模集合通信需求.14(一)NDMA概念.14(二)NDMA的基本模式和應用價值.151.網絡組播及典型應用.152.網絡聚播及典型應用.163.網絡任播及典型應用.18(三)NDMA技術架構.201.整體框架.20VI網絡級 DMA 技術需求白皮書ODCC-2023-0500C
7、2.關鍵技術.22(四)NDMA原型驗證.261.OSU Benchmark 驗證計算場景 MPI_bcast 任務完成時間.262.SPDK驗證存儲場景 IOPS(單位時間完成請求數量).27五、總結和展望.281網絡級 DMA 技術需求白皮書ODCC-2023-0500C網絡級網絡級 DMADMA 技術需求白皮書技術需求白皮書一、一、高性能分布式系統高性能分布式系統承承載大規模算力需求載大規模算力需求(一一)全球算力高速增長全球算力高速增長全球算力的高速增長是當今數字時代的一個顯著特征。從最初的單機計算到現在的云計算、分布式計算等技術,全球算力已經達到了驚人的規模。算力已不僅是一個技術維度
8、的概念,更成為了一種全新的社會生產力,對整個經濟社會發揮著越來越重要的作用。從圖 1 中看到,人均算力水平和國家的人均 GDP 強相關,是衡量一個國家一個地區發達程度的重要指標。高算力國家,包括美國、新加坡 等,人 均算力 都在 1000GFOLP 以上,我國人 均算力 在553GFLOPS,與發達國家仍有一定差距。圖 1:世界各國人均算力水平,來源于泛在算力:智能社會的基石未來,隨著全球智能化進程的加速,人工智能、云計算、大數據等技術持續發展和應用,對于算力的需求更會急劇增大。據統計,全球算力每年以驚人的速度增長,預計到 2030 年,全球算力規模達到 56ZFlops,平均年增速達到 65
9、%,其中基礎算力達到 3.3ZFlops,2網絡級 DMA 技術需求白皮書ODCC-2023-0500C平均年增速達 27%;智能算力達到 52.5ZFlops,平均年增速超過80%;超算算力達到 0.2ZFlops,平均年增速超多 34%。(數據來源:中國算力發展指數白皮書(2022年)(二二)分布式系統分布式系統承承載大規模高載大規模高復雜復雜度算力度算力任任務務算力需求的高速增長,使得算力任務的規模越來越大,復雜度越來越高。在年增長速度最快的人工智能領域,隨著 ChatGPT 的誕生,AI大模型再次受到業界的關注。AI 大模型是指由大量參數組成的深度學習模型,通常包含數百萬到數十億個參數
10、。這些模型可以通過大規模的數據訓練,以實現各種復雜的任務,如圖像識別、語音識別、自然語言處理等。AI 大模型的規模逐年快速增長,如圖 2 所示。2018 年 GPT-1 參數量為 1.17 億,2019 年 GPT-2 參數量為 15 億,2020 年 GPT-3 達到 1750 億個參數,而 OpenAI 最新發布的 GPT-4 模型參數量大約超過 100 萬億個。AI 大模型由于其復雜性和規模,需要大量的計算資源和存儲空間來進行訓練和部署。圖 2:AI 大模型演進,來源于 https:/3網絡級 DMA 技術需求白皮書ODCC-2023-0500C超算算力年增長速度僅次于人工智能。超算系統
11、通常由數以萬計的處理器核心組成,能夠在極短的時間內完成大規模的科學計算、數據分析和模擬等任務,廣泛應用于科學研究、工程設計、天氣預報、金融分析等領域。圖 3 是世界最強超算算力 TOP500 給出的自1990 年起超算算力的進步趨勢,并進行了線性回歸。圖中的三條線分別是上榜超算的總算力,榜單冠軍的算力以及榜單第 500 名超算的算力??梢钥吹?,超算算力幾乎按照摩爾定律在提升,從 G 級到現在的 E 級,未來還將向 10E級演進。圖 3:TOP500 性能發展,來源于 https:/top500.org不管是人工智能還是超算,其算力任務都呈現出規模擴大、復雜度提升的趨勢,遠超單個計算機或服務器的
12、處理能力。因此,需要高性能分布式系統,通過網絡連接提供海量計算、存儲資源,從而承載大規模算力任務,突破單機算力和存儲的限制,提供高并發高可用的計算服務,加快任務完成速度。4網絡級 DMA 技術需求白皮書ODCC-2023-0500C(三三)通信效通信效率影響率影響分布式系統性能分布式系統性能系統的加速比體現了分布式系統的性能。根據阿姆達爾定律,可以計算出系統的加速比。阿姆達爾定律是一個計算機科學界的經驗法則,它代表了處理器并行運算之后效率提升的能力,其計算公式表述如下。其中,S 為系統加速比,p 為并行度占比,s 為并行節點數。增加并行節點數,可以提升系統加速比,而當 s 時,并行度占比越大則
13、系統加速比越高。S=11 p+ps分布式系統中無法通過 100%的并行處理完成計算任務。圖 4 以簡化的形式展現了了計算任務執行的基本過程。圖中,藍色部分是節點并行計算的過程,當并行階段結束后,進入串行通信的過程,即并行階段的輸出發送到其他節點作為下一并行階段的輸入,只有當通信完成,各節點獲得相應輸入后,才能將計算任務向前推進,進入下一并行階段。圖 4:計算任務執行過程二、二、分布式系統以分布式系統以多多對對多多集合通信為主集合通信為主5網絡級 DMA 技術需求白皮書ODCC-2023-0500C(一一)什么什么是集合通信是集合通信及其原語及其原語集合通信是一種通信方式,它將多個通信對象(如進
14、程、線程等)組合在一起,以實現一次調用實現向多個對象發送數據,或從多個對象接收數據。集合通信常用于分布式系統并行計算中,協助參與同一任務的多個計算進程完成數據交互。常見的集合通信可以進一步抽象為廣播、散布、聚集等操作。其中,廣播操作將數據發送給所有通信對象;散布操作將數據分散給多個通信對象;聚集操作將多個通信對象的數據合并到一個對象中。集合通信通常以集合通信原語作為調用接口。MPI 是常見的用于并行計算的通信框架,它定義了多種集合通信原語,AI 場景中經常使用的 AllReduce 就是一種 MPI 通信原語,如圖 5 所示,經過 AllReduce 操作后,原先各節點上 A、B、C、D的子集
15、被進行了聚合或歸一化,最終各節點均獲取到 A、B、C、D各子集聚合后的結果。圖 5:AllReduce6網絡級 DMA 技術需求白皮書ODCC-2023-0500C(二二)分布式系統中集合通信的調用分布式系統中集合通信的調用應用通過調用集合通信,在進程或線程間完成數據交互,從而向前推進分布式系統任務。除了點對點的通信外,很大一部分的交互發生在多點和多點之間,包括 1 對多、多對 1以及多對多的情況。以超算系統為例,集合通信原語的調用統計如圖 6 所示(數據來源:Characterization of MPI Usage on a Production Supercomputer,Sudheer
16、Chunduri,Scott Parker,Pavan Balaji,Kevin Harms and Kalyan Kumaran,Argonne National Laboratory),1 對 1 的通信占比為 34%,而其余的66%都為多對多的通信方式。因此,提升多對多集合通信的傳輸效率對分布式系統性能的整體提升有著極其重要的作用。圖 6:集合通信原語調用統計三、三、大規模集合通信面大規模集合通信面臨臨性能性能挑戰挑戰7網絡級 DMA 技術需求白皮書ODCC-2023-0500C(一一)集合通信實現現集合通信實現現狀狀應用調用集合通信原語后,網絡完成數據的傳輸,實現集合通信操作。應用不感
17、知網絡的動作行為,集合通信原語可以有多種實現方式。由于目前常用的傳輸層協議僅支持點到點傳輸,對于多對多的通信,通常都是在網絡上轉換成點到點通信,即應用一次集合通信原語的調用由網絡多次的點對點傳輸轉發來完成。以組播為例,一種實現方式為單節點分別和多個目的節點通信,如圖 7 所示。這種方式可以應用于 AI Parameter Server結果分發,存儲系統多副本寫等。源節點將同一份消息依次發送給多個目的節點,實質上是一種帶寬資源的浪費,易形成帶寬瓶頸鏈路。另一種為中間節點協助轉發,可以用于在 HPL 計算中的鏈式組播,如圖 8 所示。這種方式雖然減少了帶寬瓶頸,但每個中間節點在進行轉發時,都需要網
18、絡層與應用層交互,引入額外 CPU 處理帶來的延遲開銷。這兩種方式下,都會引入了與通信規模線性相關的額外開銷,且無法通過優化下層網絡的延遲/吞吐性能來消除。圖 8:組播實現方式一8網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 9:組播實現方式二為了提升集合通信的傳輸效率,業界不斷探索著新的優化,主要的優化方向包括傳輸協議的改進,和在網計算的發展。(二二)高性能高性能傳輸協傳輸協議的發展議的發展及其挑戰及其挑戰傳輸協議的發展集中在端側創新,通過高性能端到端的傳輸來優化點到點通信,中間網絡無感知。RDMA 就是最具有代表性的高性能傳輸協議。RDMA(Remote Direct M
19、emory Access)允許在不經過 CPU 的情況下,直接在主機內存之間傳輸數據。傳統的網絡通信方式需要CPU參與數據傳輸的每一個步驟,包括數據的拷貝、校驗和傳輸等,這些操作會占用大量的 CPU 資源,導致網絡傳輸速度變慢。而RDMA 將數據從發送端的內存直接傳輸到接收端的內存,通過 0 拷貝(不需要用戶空間和內核空間中來回復制數據)、內核 Bypass(數據流程繞過內核),和 CPU 卸載(在 CPU 不參與通信的情況下對內存進行讀寫),極大的提高數據傳輸的效率和降低延遲。9網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 10:TCP 與 RDMA 比較RDMA 最主要的
20、傳輸模式是 RC(Reliable Connection),即可靠連接,是一種點到點的傳輸方式。如圖 10 所示,RDMA RC 模式下,收發兩端創建 QP(Queue Pair),并建立 QP 之間一對一的連接關系,之后在建立好的連接上順序發送消息,由 PSN(PacketSequence Number)保證數據包的順序和完整性。圖 11:RDMA RC但這種模式存在擴展性問題。由于每對通信進程間都需要建立QP 連接,若有 N 個節點,每個節點 P 個進程,所有進程間 Full-Mesh通信,則每個節點需要建立 N*P*P個 QP。QP 占用系統資源,在通信過程中,QP 的上下文在協議棧處理
21、過程中也會被頻繁訪問修改。當規模擴大時,系統對 QP 狀態維護開銷增大,且網卡需要與主機內存交互讀取相應 QP 上下文,加劇傳輸性能下降。有測試表10網絡級 DMA 技術需求白皮書ODCC-2023-0500C明,商用網卡在 QP 數量超過 256 時,吞吐即會出現明顯的下降,如圖 12所示。圖 12:RDMA 性能測試,來源于 Wang Z,Luo L,Ning Q,et al.SRNIC:AScalable Architecture for RDMA NICsJ.除了擴展性問題,RDMA RC 模式還存在長尾延遲問題。同一個 QP 內的消息必須按照請求下發的順序依次按序傳輸。如果發送端先后
22、下發了兩個傳輸請求,分別對應著 1GB 的消息和 1KB 的消息,則 1KB 消息必須等待 1GB 消息傳輸完成后才能被傳輸,使得1KB 消息被 1GB 消息阻塞了。同時,因為同一 QP 內的數據必須在網絡上走相同的傳輸路徑,所以極易在網絡上產生流量不均,尤其當網絡規模擴大后,不同 QP 內數據路徑選擇的哈希沖突概率上升,導致網絡擁塞產生,帶來長尾延遲。盡管 RDMA 還定義了另外兩種模式,分別是 UD(UnreliableDatagram)和 RD(Reliable Datagram),但 UD 模式沒有可靠性保證,也不支持內存直讀/寫,弱化了 RDMA 的性能優勢;而 RD 模式無商用實現
23、,可實現性較差。11網絡級 DMA 技術需求白皮書ODCC-2023-0500C因此,為了改善 RDMA 規模擴展性和傳輸長尾延遲的問題,業界衍生出了兩種傳輸連接優化的技術路線,分別是連接復用和無連接。連接復用的主要實現方式有多種,包括共享接收隊列(SharedReceive Queue,SRQ),即一個進程共享同一個的接收隊列;擴展可靠連接(Extended Reliable Connection,XRC),即一個進程對于相同目地服務器上的所有進程共享同一個發送 QP;動態連接傳輸(Dynamically-connected transport,DCT),即在初始化時,進程之間并不預先建立連
24、接,而是在運行過程中根據實際通信需求動態建立連接,通信完畢后再關閉連接。這些實現在不同程度上減少了需要維護的狀態,但仍存在著擴展性弱、建/拆鏈 Overhead 過高等問題。無連接的主要實現方式為,網卡僅承擔 Datagram 級可靠傳輸,應用處理亂序重排及擁塞流控,每個節點狀態維護壓力與節點進程數相關與節點數無關,Google 的 1RMA 和 AWS 的 SRD 都屬于這類實現。無連接實現的出發點在于軟件的快速迭代,具有較好的靈活性,網卡擴展性好,但它放棄了 RDMA 硬件卸載協議棧的優勢,加劇了軟件開銷,使得靜態延遲增大,犧牲了傳輸性能。(三三)在在網網計算的發展計算的發展及其挑戰及其挑
25、戰在網計算是一種通信加速技術,體現了數據中心從“以計算為中心”到“以數據為中心”的架構轉變。在網計算的核心理念在于,利用網絡在數據傳輸路徑上的優勢位置,讓網絡卸載部分計算任務,在數據搬移的過程中完成計算,從而提升通信效率,加速應用。常12網絡級 DMA 技術需求白皮書ODCC-2023-0500C見的在網計算場景包括在網聚合、在網緩存等,已初步展現了該技術的應用價值。Nvidia 的 SHARP(Scalable Hierarchical AggregationProtocol)就是在網計算的一個商用方案。SHARP 基于 RDMA傳輸,讓 RDMA 連接在交換機上終結,實現在網聚合與數據的組
26、播分發,如圖 13所示。圖 13:SHARP在網計算目前仍處于起步階段,對于在網計算的整體框架以及功能模塊還并沒有形成統一定義,業界仍在持續的探索和討論中。學術上,研究者們發表了大量在網計算方面的文章,其中不乏頂尖學術會議上的論文。比如 2021 年 NSDI 會議的最佳論文 ATP(Aggregation Transmission Protocol),同樣是實現在網聚合的操作,它面向分布式機器學習場景,定義了一套由主機和可編程交換機交互完成的私有傳輸協議,其報文格式如圖 14 所示,完全替代了 TCP,對分布式訓練的網絡傳輸進行數據聚合優化,在網絡中提供了盡力而為的聚合服務。再比如 2020
27、 年 OSDI 會議論文 Pegasus,它針對在分布式存儲系統中選擇性復制不能很好的應對動態變化負載,且實現強一致性代價較大的問題,基于 UDP 設計了主機和交換機之間13網絡級 DMA 技術需求白皮書ODCC-2023-0500C新的傳輸協議,報文格式如圖 15 所示,實現交換機上的一致性目錄(in-network coherence directory),提升分布式存儲的負載均衡性能。圖 14:ATP 傳輸協議報文格式圖 15:Pegasus 傳輸協議報文格式不僅如此,在網計算也引起了標準組織的關注。IRTF(InternetResearch Task Force)是一個由 IAB(In
28、ternet Architecture Board)授權對一些相對遠期的網絡問題進行研究的組織,與 IETF(InternetEngineering Task Force)關系緊密,并行工作。IRTF 已于 2020 年正式成立了 COIN(Computing in the Network)研究組。該工作組將針對應用場景、功能架構、新傳輸機制等展開研究,目前仍處于應用場景的討論階段,還未在整體框架上完成收斂??梢钥吹?,在網計算正在成為未來提升系統性能重要的技術方向。然而在當前的發展中,在網計算的設計呈現出碎片化的狀態,難以形成標準,其中一個很主要的原因就是統一傳輸框架的缺失。由于在網計算常常涉
29、及到多對多的通信場景,而當前的網絡傳輸集中于點到點的方式,缺乏面向多對多通信的原生設計,這就使得開14網絡級 DMA 技術需求白皮書ODCC-2023-0500C發出了各種私有傳輸協議來支持,帶來生態發展的局限,阻礙在網計算技術的廣泛應用。四、四、NDMADMA 應對大規模集合通信需求應對大規模集合通信需求(一一)NDMADMA 概念概念NDMA 的全稱是 Network DMA,它是網絡中一組節點的直接內存訪問技術。直接內存訪問 DMA 是計算系統中常見的技術,它允許外部設備直接訪問內存中的數據,而無需經過 CPU 的處理。DMA 應用于單個節點內部,提高了單個節點內數據傳輸效率?;贒MA
30、 的理念,發展出了遠程直接內存訪問 RDMA。RDMA 允許遠程服務器或主機直接訪問本地內存,而無需經過本地 CPU 的干預,極大降低了端到端的傳輸時延。RDMA 側重于在兩個節點之間完成點到點的數據傳輸訪問。NDMA 是對現有遠程直接內存訪問技術的增強,著重面向網絡中的一組節點進行內存直讀、直寫操作,最優化集合通信場景下數據的傳輸訪問性能,進而提升分布式系統性能。NDMA 旨在將集合通信多對多操作的邏輯從應用層面下沉到網絡,實現集合通信“一棧直達”,即應用對集合通信原語的一次調用,僅對應著網絡的一次傳輸轉發行為,不存在中間節點額外處理。仍以集合通信中的組播為例。在 NDMA 的方式下,組播源
31、節點在網絡層面上只需要發送一次數據,由網絡上的交換機節點進行復制轉發,將數據報文發送到多個組播組節點,并完成數據在組播組節點15網絡級 DMA 技術需求白皮書ODCC-2023-0500C中的內存直接訪問操作。整個過程中,數據報文只經過一次 Tx+Rx協議棧,無額外 CPU開銷。圖 16:NDMA 實現“一棧直達”(二二)NDMADMA 的基的基本本模式和應用模式和應用價值價值NDMA 使用統一的框架支持網絡組播、聚播和任播三種基本模式,對高性能計算存儲場景有著明顯的系統性能提升。1.1.網絡網絡組組播及典播及典型應用型應用組播是一種 1 對多的傳輸,是分布式計算系統中最常使用的通信模式之一。
32、在超算系統 Mira 中,MPI_bcast 原語的執行時間占MPI 通信總時間的 14%,時間占比在 MPI 集合通信原語中僅次于MPI_AllReduce。用作 HPC Top 500 榜單排名測試的應用 HPL,其通信以組播模式為主。在 HPL 中,每一輪計算循環中包含 3 部分通信。其中,第2 部分“Panel 廣播”即一列計算進程分別把將數據組播給同一行的其他進程,第 3 部分“行交換”過程包含一行計算進程分布把數據組播給同一列的其他進程,如圖所示。16網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 17:HPL 通信模式NDMA 的組播模式利用交換機完成組播報文的復
33、制分發,以網絡層組播替代應用層組播,避免了相同數據的重復發送,使得組播任務完成時間逼近理論最優值(即數據量與帶寬之比),在大規模下相比于應用層組播任務完成時間有顯著減少,從而降低 HPL 過程中的通信開銷,有效提升 HPL 端到端計算效率。圖 18:組播優化2.2.網絡聚播及典網絡聚播及典型應用型應用聚播是一種多對 1 的傳輸,在 AI 計算、大數據應用中存在大量此種類型的操作。AI 計算中使用基于參數服務器(Parameter Server,PS)的數據并行方法解決訓練數據規模過大導致的訓練時間過長的問題。如圖18 所示,PS 訓練方法將訓練數據集分割成多個 batch 放置在不同的work
34、er中,多個 worker同時訓練同一個 AI模型。每一輪訓練完成,17網絡級 DMA 技術需求白皮書ODCC-2023-0500C多個 worker 將訓練好的數據(模型參數或者梯度)發送到 PS 進行合并更新,然后 PS 將更新后的數據下發到每個 worker,開啟新一輪的訓練。訓練循環往復,直至模型收斂。在此過程中,所有 worker都要發送數據到 PS進行,導致 PS 的網絡鏈路易成為瓶頸帶寬。圖 19:AI PS 訓練在大數據應用中,MapReduce 是典型的一種計算框架。如圖 19所示,Map 并行執行,其輸出結果作為 Reduce 的輸入,由 Reduceworker 完成規約
35、化簡操作。并行的 map 任務會成為每個 reduce 任務的輸入流量,且 map 與 reduce 之間形成多組多對一的通信關系,使得交換機承受多個多對一流量,出端口緩存壓力增大,影響并行計算性能。圖 20:MapReduce 通信18網絡級 DMA 技術需求白皮書ODCC-2023-0500C采用聚播技術,數據在經過交換設備時,會先進行聚合,再轉發聚合結果,緩解了瓶頸點的帶寬和緩存壓力,有效避免因網絡性能下降帶來的任務通信代價增加,并縮短任務完成時間。圖 21:聚播優化3.3.網絡任播及典網絡任播及典型應用型應用任播是一種 1 對 1 的操作,但其特殊點在于接收端是一組節點中的一個,發送端
36、可以選擇其中任意一個發送數據,任意一個接收到數據的接收端都可以完成數據處理。企業存儲系統是一個典型的應用場景。在該場景下,存儲系統一般由兩張網絡構成,前端業務網絡和后端存儲網絡,如圖 22 所示。前端業務網絡中,通常由存儲陣列側的控制器處理客戶端發來的各類請求,如讀寫等 IO命令請求,或者控制命令請求??刂破魍瓿烧埱筇幚砗?,根據一定的負載均衡邏輯,經后端網絡,對特定的硬盤進行數據存取。19網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 22:企業存儲系統架構前端客戶網絡和后端存儲網絡相對解耦,客戶端通常會隨機下發請求。而控制器由于負載分擔以及數據打散的需求,會有很大概率將請求轉
37、發至歸屬節點進行處理,從而引入有損分布式系統性能的水平時延,如 23 所示。單節點系統性能取決于“垂直時延”,即端到端 I/O 流程所花費時延,包括主機下發請求、協議棧處理、全局 cache、存儲持久化等。而擴展到分布式系統后,由于需查找存儲節點歸屬,系統性能還受限于“水平時延”,即控間交互流程所花費時延,包括歸屬查找、I/O 請求轉發、跨引擎數據搬移等。水平時延的引入會導致客戶端請求的額外轉發,處理時延加劇,系統整體的 IOPS吞吐降低。20網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 23:企業存儲系統“水平時延”問題任播技術可以通過網絡交換機隨路地進行負載分擔邏輯處理,
38、從而避免占用陣列側控制器過多的 CPU 資源和控間轉發帶來的帶寬與延遲損失,提升系統整體的 IOPS吞吐,如圖 24 所示。圖 24:任播優化(三三)NDMADMA 技術技術架構架構1.1.整整體體框架框架NDMA 是一個由網絡端側節點和網絡轉發節點相互協同,共同構成的統一傳輸框架,提供對集合通信的原生支持。該框架支持三種基本模式的遠端直接內存訪問,分別是組播、聚播和任播,能夠21網絡級 DMA 技術需求白皮書ODCC-2023-0500C應用于大規模通信場景,且不綁定特定的網絡層協議,具有更強的靈活性和開放性。從協議棧層次劃分來看,NDMA 框架包含對網絡層、傳輸層和業務層的能力要求。網絡層
39、支持調用多對多轉發能力(組播/任播/聚播),不局限于以太體系。若 NDMA 使用 IP 網絡層,由于 IP 網絡層自身已具備組播、單播能力,NDMA可在此基礎上結合應用特征做適當優化。傳輸層支持大規模多對多連接,通過新的傳輸協議實現 1 對 1,1 對多和多對 1 的 可靠通信,無消息間頭阻問題,支持亂序接收。業務層支持基于 NDMA 的集合原語新實現,降低集合通信完成時間,提升端到端應用性能。圖 25 以基于 IP 網絡的 NDMA 為例,與 RoCEv2 體系對比,展示了 NDMA 協議棧層次間的關系。圖 25:NDMA 協議位置從組件構成來看,NDMA 框架中包括網絡轉發設備(如交換機)
40、、網絡端側設備(如服務器側網卡/CPU)和通信應用軟件(如MPI/UCX)。各組件間關聯以及主要功能如圖 26 所示。22網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 26:NDMA 組件功能網絡轉發設備負責建立轉發路由表并按路由表進行多對多轉發。轉發路由表具有一定的業務邏輯,如在存儲任播場景下,轉發設備感知后端存儲系統的從屬關系,從而建立相應的轉發表。轉發設備能夠識別端測報文所屬類型,如組播、聚播、任播,根據報文類型查找正確的轉發路由表實現報文轉發。網絡端側設備負責建立和維護面向集合通信的傳輸連接。新的傳輸連接匹配多對多通信范式,與轉發設備協同配合,根據應用需求構建傳輸通信
41、組,通信組內靈活支持三種基本模式的連接關系,并保證傳輸的可靠性。通信應用軟件具備調用 NDMA 類型接口的能力。集合通信操作的輸入輸出不發生改變,應用對集合通信原語的調用邏輯無變化,但原語的實現需要新增面向 NDMA 多對多傳輸連接所對應的動作和參數。2.2.關鍵技術關鍵技術如何設計多對多的可靠傳輸連接是實現 NDMA的基礎和關鍵。(1)組級傳輸連接23網絡級 DMA 技術需求白皮書ODCC-2023-0500C從連接方式來看,以 RoCEv2(RDMA RC)為代表的進程級連接,和以 SRD 為代表的無連接,是兩個極端方向的連接機制設計。進程級連接實現復雜度低,易于硬件卸載,利用硬件卸載協議
42、棧極大降低了端到端傳輸時延。然而,進程級連接兩端固定,連接數量多,規模擴展受限。這種方式效率高但資源壓力大。與之相反的無連接方式,將亂序重排、擁塞控制等和功能收歸 CPU,網卡負擔減輕,使得擴展性得到極大提升,但是回退到了軟件處理方式,時延無保障。這種方式靈活性強但效率低。這兩種方式的連接都無法滿足大規模分布式應用的需求。NDMA 根據應用任務的特征,引入“通信組”概念。所謂通信組,指的是參與一個分布式任務的多個有相互通信需求的進程。NDMA基于通信組建立了介于進程級連接和無連接之間新的連接方式,即組級的連接共享。組級連接相對于進程級連接,極大程度降低了連接數。在 N 個節點,每節點 P 個進
43、程的場景下,進程級連接的數量級為 O(N*P*P),而組級連接的數量級僅為 O(1),如圖 27 所示。并且,通信組的劃分與應用任務相對應,任務確定后,通信組級的連接則具有一定的穩定性,不會頻繁動態更新而引入大量開銷。圖 27:組級連接示例(2)可靠性機制24網絡級 DMA 技術需求白皮書ODCC-2023-0500C可靠性包含三個層面的含義,分別是數據完整性,數據還原性和數據正確性。數據完整性指的是數據無丟失,丟包情況下需要重傳。發送端根據報文應答消息來檢測是否丟包。發送端設置定時器,在定時器時間內,若收到報文應答消息 ACK,則認為報文被接收端正確接收;否則,發送端認為報文丟失,需要重傳,
44、這其中包括顯式收到接收端發送過來的丟包指示消息,如 NACK,也包括在定時器時間內未收到接收端任何應答消息。重傳的方法分為 Go-back-N和選擇重傳。RoCEv2 基于 RDMA 的重傳機制使用 Go-Back-N,即重傳丟失的數據報文 N 之后的所有數據報文。相比于 Go-back-N 這種低效的重傳方式,選擇重傳只需要重傳丟失的單個數據報文,因此丟包帶來的性能負面影響也要小得多,SRD即使用了選擇重傳方式。數據還原性指的是數據發出的順序和數據接收的順序一致,最終傳到用戶層的數據不能亂序。最常見的保序方式是讓同一個流(flow)在網絡上走相同的路徑,源和目的相同的流量被認為是同一個流,網
45、絡轉發設備對同一個流執行同樣的轉發規則,保證選擇相同路徑進行轉發;另一種方式是將一個 flow切分成若干個 flowlet,按照 flowlet 的粒度在網絡上發送,flowlet 內同一路徑順序轉發,flowlet間多個路徑亂序轉發,再由端側應用將亂序報文重新排序。數據正確性通過數據校驗來保證。NDMA 的可靠性機制遵循上述三個層面的含義,通過網絡轉發設備和網絡端側設備協同完成。25網絡級 DMA 技術需求白皮書ODCC-2023-0500C在數據完整性上,接收端通過報文應答消息 ACK/NACK 指示報文的接收狀態,網絡設備則需要根據多對多通信的不同特征,對接收端發送的報文應答消息進行預處
46、理,如組播模式下,聚合組播接收端發送回來的報文應答消息;聚播模式下,復制轉發接收端發送的報文應答消息,從而滿足不同多對多操作的要求。在丟包時,發送端可以選擇 Go-back-N或選擇重傳。在數據還原性上,根據應用特征劃分保序粒度,基于該粒度的流量內由網絡轉發保證收發順序的一致性,不需要端側應用進行亂序重排;而基于該粒度的流量間無保序要求。數據正確性仍有相應校驗機制,在通信組連接方式下,接收端對于包含通信組信息的報文可以通過 CRC、MR等合法性校驗。(3)多對多通信流程圖 28:NDMA 通信流程NDMA 傳輸的主要流程如下:a.應用按照分布式任務的需求創建通信組;b.參與通信組的節點各自建立
47、組連接,指定通信對端為通信組;c.源端下發通信任務,通信任務中指定通信操作類型,為組播、任播或聚播;26網絡級 DMA 技術需求白皮書ODCC-2023-0500Cd.源端發出的報文中,攜帶操作類型標識和通信組標識;e.交換機通過通信組標識識別集合通信報文,根據操作標識進行組播、任播或聚播;f.接收端收到報文,進行正確性校驗。各項校驗通過后,生成ACK 報文,ACK 報文攜帶通信組標識,并通過操作標識標明為集合通信 ACK;g.交換機通過通信組標識識別集合通信報文,根據操作標識對ACK 采取不同預處理操作;h.源端收到 ACK報文,通過校驗,完成通信任務。(四四)NDMADMA 原原型型驗證驗
48、證由中國移動牽頭,基于星云智聯以太網卡和華為以太交換機,完成了 NDMA 原型系統的搭建,并在原型系統上初步驗證了計算和存儲不同場景下,NDMA 帶來的性能增益。該原型系統由 4 臺服務器,1 臺交換機組成。服務器安裝計算/存儲應用軟件,配置星云智聯 25G以太網卡。1.1.OSOSU BenchBenchmarark 驗證驗證計算場計算場景景 MPI_MPI_bcacast t 任任務務完完成時間成時間該過程調用 NDMA 框架中組播和聚播模式,實現應用層可靠組播,如圖 28所示。27網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 29:NDMA 實現可靠組播實測結果顯示,1
49、 對 3 組播測試下,相比于傳統 openMPI 的方式,NDMA 不管是對大消息還是小消息的場景均有顯著性能提升,如圖 30所示,任務完成時間平均降低 50%。圖 30:NDMA 可靠組播性能測試2.2.SPDSPDK 驗證驗證存儲場存儲場景景 IOPSIOPS(單位時間單位時間完完成請求數量成請求數量)該過程調用 NDMA 框架中任播模式,實現多目標節點的存儲I/O請求,如圖 31所示。28網絡級 DMA 技術需求白皮書ODCC-2023-0500C圖 31:NDMA 實現 I/O 任播實測結果看到,3 節點中任一節點作為接收節點的測試下,相比于傳統應用層任播(帶有水平時延)方式,NDMA
50、 使得存儲IOPS提升 45%以上,如圖 32所示。圖 32:NDMA I/O 任播性能測試五、五、總總結結和展和展望望隨著算力需求的急劇爆發,算力任務的規模和復雜度也不斷提升,對分布式系統的性能提出了更高的要求。分布式系統中依靠大量集合通信的傳輸將計算任務向前推進,因此集合通信的效率很大程度影響了分布式系統的性能。NDMA 提出了一種全新的面向集合通信的網絡傳輸機制,旨在對網絡中一組節點進行內存直接訪問。它在統一的傳輸框架中,支29網絡級 DMA 技術需求白皮書ODCC-2023-0500C持組播、聚播和任播三種基本模式,通過端網協同配合,實現靈活的多對多通信,使得集合通信做到“一棧直達”,最優化了多對多集合通信吞吐與時延性能,打破分布式系統性能擴展的瓶頸。本文僅為拋磚引玉,搭建了 NDMA 的傳輸框架,初步驗證了計算、存儲不同場景下的性能增益,未來還有待進一步的優化和打磨,對技術細節進行完善,并希望能推動國際標準/行業標準,歡迎感興趣的業界同行參與共同構建開放生態,助力數字經濟時代下充分釋放算力,提升生產力。