無論是數據通訊技術的演進、互聯網技術的革新、還是視覺呈現的升級,都是得益于更強大的計算、更大容量更安全的存儲以及更高效的網絡。 英偉達網絡結合客戶需求,提出了基于InfiniBand網絡為基礎的集群架構方案,不僅可以提供更高帶寬的網絡服務,同時也降低了網絡傳輸負載對計算資源的消耗,降低了延時,又完美地將HPC與數據中心融合,構建了元宇宙發展的基石。
近日,在由51CTO主辦的MetaCon元宇宙技術大會《人機交互與高性能網絡》分會場上,英偉達網絡高級產品經理陳龍老師聚焦Meta集群的高性能網絡方案做了整體介紹,為元宇宙技術愛好者深度揭秘了什么是InfiniBand以及InfiniBand加速計算和存儲等精彩內容!
一、InfiniBand網絡集群架構產生的背景
眾所周知,我們現在是處于一個信息化的時代,一切信息都是以數字化為基礎的。5G、IoT的普及為我們構建了數以億萬的終端,打開了數字化的終端。每時每刻數以億計的數據源源不斷地生成,匯入云端,而大數據、AI、區塊鏈為代表的技術可以在數據中心構建的云端高效的數據存儲同時,不斷地分析、提煉數據,挖掘潛在的數據,反饋給終端,服務社會。
近年來,隨著web3.0和VR、AR技術的不斷完善,互聯網的邊界不斷被打破,在Meta的帶領下,元宇宙的時代正在悄然來臨。技術革命在豐富我們生活的同時,支持信息化時代的基石仍然沒有改變,計算、存儲和網絡仍是其技術發展的主旋律。
無論是從2G到5G的數據通訊技術的演進,還是web1.0、web2.0、web3.0互聯網技術的不斷革新,還有視覺呈現從圖片到視頻到VR、AR的過渡,支持其發展的無非是以下三點。
第 一,要更強大的計算:1.更多的核心做并行計算;2.異構計算,突破X86 CPU架構的限制。RISC-V、ARM、GPU、FPGA等計算單元的出現,滿足專業計算的需求。
第二,容量更大、更安全的存儲。容量從TB到EB級的存儲,存儲架構也更加豐富,集中,分布式存儲、并行存儲滿足大容量、高性能數據存儲的需求。
第三,作為數據、計算和存儲的橋梁,網絡在計算存儲演進的同時,自身的發展也極其迅速,從100G、200G、400G不斷發展,同時也從原有的TCP、UDP的網絡連接向RDMA擴展,不斷地提升網絡傳輸的性能。
另一方面,作為數據服務的提供商,為了應對云化部署的大潮,紛紛提出了云原生的概念,從應用的角度重新設計架構,讓服務可以變得更加高效。與此同時,設計中心也在面臨著另外一項變革,云化不僅在傳統的數據中心的業務內發生改變,也對HPC類的需求發生實質性的影響,越來越多的HPC的應用類似像仿真建模、圖形渲染、AI訓練、數字孿生都部署在云端,滿足各行各業發展的需求。
在此背景之下,英偉達網絡結合客戶需求提出基于InfiniBand網絡為基礎的集群架構方案,高效能地來完成客戶需求。相對于傳統的網絡方案,InfiniBand不僅提出了更高帶寬的網絡服務,也降低了網絡傳輸負載對計算資源的消耗,降低了延時,也完美地將HPC與數據中心融合在一起,構建了元宇宙發展的基石。

二、Meta集群到底是什么?
元宇宙旗艦公司Meta和圖形圖像AI領域公司英偉達,共同高調發布了基于DGX SuperPOD架構的Meta專用集群架構,用于實現Meta搶占元宇宙時代技術制高點的主要武器,負責AI算法、數據計算場景的應用。這次公布已經上線的一期集群規模是搭載了6080塊的A100的760臺DGX服務器,所有GPU采用了200Gbps的InfiniBand HDR網卡,實現了高效的數據傳輸,整體集群性能達到1.89億TF32精度的計算能力。
如此之高的計算,使得Meta成為AI領域內業界性能最高的集群,而如此規模之大的集群僅僅是Meta構建元宇宙時代霸主雄心的開始,后期的二期擴建將達到16000塊GPU,整體集群的能力將高達5億,存儲的數據帶寬將達到16TB。

再來看一下Meta公布的集群架構圖。這么龐大的集群,將采用20臺800口的InfiniBand柜式交換機作為網絡的骨干層,下面連接100個Pod,每個Pod內部署8臺40口InfiniBand HDR的交換機,實現全網絡無阻塞的CLOS架構,從而達到相比之前Facebook AI集群20倍性能計算的提升、9倍NCCL并行計算的能力、3倍AI模型建模的參數訓練。除此之外,集群還部署了10PB的NFS的集中數據存儲,46PB的塊存儲,提供內存數據恢復,175PB的塊存儲,而這一切都是以InfiniBand的網絡實現數據傳輸的快速傳輸解決方案。

是什么原因讓InfiniBand成為Meta集群的首要方案呢?從InfiniBand的網絡發展歷程來看,網卡會跟以太卡有所不同,其實我們現在熟知的以太網絡的網卡的很多設計都是從InfiniBand這里借鑒過來的。從圖上可以看出,早在20年前InfiniBand就發展出了萬兆卡,2008年已經演進到了40Gbps,隨后平均每三年左右就會發展出新的產品。今年已經量產了400G的NDL網卡,所以這InfiniBand成為GPU集群的首選方案,代際演進也將會變成兩年一代,2023年英偉達會發布800G的XDR網卡,2025年將發布1.6TB的GDL網卡,為消除數據傳輸之間的鴻溝奠定了堅實的基礎。
三、InfiniBand 網絡架構的奧秘
從InfiniBand解決方案的全景圖中,我們會看到有網卡、交換機、線纜、網絡端到端的硬件設備,還有DPU、網關設備,從而不僅構建了完備的數據中心的網絡設備,而且還打通了與廣域網同城應用的節點,實現了硬件完備的網絡傳輸解決方案,有兩點值得一提:

一是盒式交換機,我們提供的是1U 40口的200G交換機,相比同級別競爭對手提升了20%的交換能力。而且針對像Meta這樣的大型客戶,單獨提供了業界唯一20U超大型的柜式交換機,實現高達800個端口的超大規模的交換。
二是InfiniBand提供了業界新概念的DPU網卡,實現在業務負載上的卸載和隔離,做到了端到端的網絡管理與維護,最大化兼容老舊設備,可以讓設備無縫連接到高性能的InfiniBand的網絡。而這些硬件的基礎之上,我們還開創性的構建了網絡計算這一新興概念,實現在交換機上做計算,同時結合SHIELD、SHARP、GPU RDMADirect等功能之后,使得我們的網絡更加的智能和高效。
四、InfiniBand 是如何實現加速計算的?
講到計算,不太了解RDMA的應用的人們可能會疑惑,一個負責傳輸的網絡是如何實現對計算的加速呢?問題就在于真實的數據傳輸不僅僅是網絡設備的事情,以我們熟知的TCP報文轉發為例,大量的數據、協議報文處理都需要CPU的深度介入,類似像報文的封裝、轉發、上下文切換,都需要大量的CPU的開銷才能實現。在這樣的機制下,10G帶寬以下的數據流量不大的情況下,CPU的資源占用不太明顯。但是在流量上升到100G以上的時候,我們就會發現整個CPU的開銷就會顯著增加。在某些場景下,CPU的消耗會達到20多個核,來實現100G的數據傳輸。因此,在普遍服務器進入到100G傳輸的背景下,消耗掉傳輸的CPU的資源的代價就是在幫助計算加速。
RDMA就是這樣一種技術,在通信兩端的服務器內實現數據的直接傳輸,整個數據的操作CPU是完全不會介入,不僅降低了CPU的開銷,而且也使得CPU不會成為數據傳輸的瓶頸,使得我們的數據傳輸可以向200G、400G乃至1TB的數據的演進。

從圖上我們可以看出,對于一個普通的服務器當沒有使用RDMA技術的時候,由于CPU要負責大量的協議的開銷處理,使得有47%的資源工作在Kernel態下,而只有大概50%的資源用于程序的計算,限制了整個服務器的應用擴展。當如果我們使用RDMA技術之后,使得大量的消耗CPU資源的數據面完全被卸載在網卡上,我們就可以能夠控制在Kernel的資源在CPU的12%,將用戶態的CPU資源實現翻倍。這樣不僅將整個傳輸的性能提高,同時騰出來的CPU的資源又可以能夠部署更多的計算的負載,實現了整個帶寬的提升的同時,又增加了業務的部署,提高了整個服務器的利用效率。

另外,如何對GPU實現加速呢?
現在隨著AI技術的快速普及,GPU的應用也變得越來越重要,而且在GPU上由于有成千上萬的核要做計算,對數據傳輸的需求就會更大。在CPU服務器正在普遍向100G過渡的時候,GPU的服務器200G的網絡已經成為標配,并且我們正在向400G乃至800G的網絡過渡。因此GPU對網絡傳輸的需求會更為迫切。
解決方案除了需要像RDMA這樣的技術之外,還需要進一步擴展在網絡數據面上的制約,讓GPU全速運行。在標準的GPU服務器的架構上,我們知道GPU是以PCIe的方式和CPU進行互聯的,在這種架構下就決定了GPU在服務器數據傳輸時,所有的數據都要經過CPU。
從上圖能夠了解到,如果是這樣的這種傳輸方式,跨服務器之間的GPU的數據傳輸需要實現五步的數據拷貝。首先,服務器內部的GPU的顯存要把自己的數據通過PCIe總線傳輸到本地的CPU的內存上,然后再由本地的CPU內存實現數據拷貝,拷貝到專門的RDMA傳輸的管道的內存上。然后再通過RDMA的技術,使得這個數據從本臺服務器的內存傳輸到另外一臺服務器的內存,之后再由另一臺服務器的內存實現拷貝,拷貝到和本地GPU顯存交互的內存上。最后再由這部分的數據拷貝到GPU的顯存上。五步的數據拷貝,我們會看到這個操作會變得非常的復雜,而且中間的CPU內存等等都會成為數據轉發的瓶頸。

要解決這個問題,需要GPU Direct RDMA的技術,該技術可以實現讓GPU和網卡直接bypass掉CPU,實現網卡和GPU之間的數據直連。這樣只需要一步的數據拷貝,就可以讓處于發送端GPU的數據從它的顯存中直接一步跳到目的端的GPU的顯存內,實現數據的快速拷貝。簡化了流程,降低了時延,實現對GPU應用的加速的效果。
使用了GPU Direct RDMA技術之后,其對AI集群可以實現90%的時延的節省,4K以上報文大小的message傳輸的I/O帶寬實現了十倍的性能的提升。同時在這樣網絡性能大幅提升的前提下,對AI集群的并行計算的任務實現了一倍以上的性能改進的效果,大幅提高了AI集群的效能,改善了投入產出比。也正是這個原因,導致了Meta在元宇宙時代堅定地要使用InfiniBand的網絡作為業界最大規模AI集群的網絡方案,從而證實了InfiniBand的網絡加速GPU計算的效果。
以上我們從網卡的角度上闡述了InfiniBand如何機遇性的加速CPU和GPU計算,當然,那作為網絡中最為關鍵的交換機,InfiniBand是如何加速網絡計算的?這里需要提到InfiniBand的應用SHARP了。

我們知道AI訓練過程中有著大量的AllReduce的操作,直白地講,就是負責分布式計算的GPU要同時更新自己的數據到不同的計算GPU上,這樣的話在這種框架下就決定了數據要反復地進行網絡,保持數據在各個GPU上的同步。并且AllReduce的計算類型無非是求和異或求最值等簡單但是計算頻繁的操作。我們知道了這樣的計算模式之后,就可以設想把交換機變成一個計算節點,將所有的GPU的數據統一匯集到交換機上進行計算,并且統一分發到各個GPU上。這樣由于交換機的轉發帶寬遠大于服務器,如此的架構不僅沒有數據傳輸的瓶頸,而且在數據網絡中的流轉只需要一次就可以完成所有的計算過程,大大簡化了計算過程,降低了時延,消除了瓶頸。
從上面的圖例可以看出,在幾十臺DGX的服務器集群規模上使用了網絡計算功能之后,整體集群完成訓練的任務的性能提升了18%,這就意味著當使用了InfiniBand網絡的集群的時候,交換機不僅完成了高性能的數據傳輸,同時還完成了近兩成的計算任務,為客戶提高了性能的同時,節省了大量的服務器投入成本。
五、InfiniBand 是如何實現加速存儲的?
眾所周知,計算和存儲是任何集群中最重要的兩個組成部分。雖然在一個集群的物理形態下,存儲服務器的數量明顯少于計算服務器,但從本質上看,從事于存儲的服務器其實只是負責數據存儲的一小部分。而在廣義上的存儲,其實遍布了集群中的每一個角落。
在這里,我們按照以下四個維度對這幾種常見的存儲器件進行歸類和排布。
1.數據存儲的帶寬
2.數據訪問的時延
3.存儲器件的容量
4.單位容量下存儲的成本
不難看出IRAM內存SSD資源池、硬盤資源池和磁帶資源池,剛好能夠按照對角線進行排布。這就意味著在這樣的組成的集群內存儲的性價比是最高,配置最為合理的存儲方案。
但是如果機械硬盤、固態硬盤以單個器件存在,那存儲方案就不能實現對角線的排布。原因其實很簡單,以機械硬盤為例,受限于存儲帶寬的限制,單個硬盤不能夠提供更高的I/O、更大的容量,所以分布式存儲興起的時候,通過池化方案,完美地解決了這個問題,使得硬盤落盤的帶寬大幅提升,同時容量也變得更大。而今天固態硬盤的興起,雖然帶寬有了一兩個數量級的提升,但是相對于內存來說,仍然不夠快,同時存儲的容量也不夠大。所以通過網絡方案池化,將成為固態硬盤必然的一個趨勢,而此時對網絡承擔數百G的流量壓力。
因此,對于存儲,InfiniBand的加速本質上就是通過存儲器件的并行之后的池化,實現了數據性能的提升,而實現加速效果的。

通過InfiniBand的網絡重新解構集群,將計算單元、存儲單元立化成池,用InfiniBand作為整個集群的背板總線,高效地將其互聯起來,為軟件定義集群奠定了硬件的基礎。這樣,高性能集群就變成了一臺超高性能的服務器,可以根據各種任務的負載特性的不同,靈活配置計算與存儲資源,最大限度地滿足效率的同時,還能有更高的性能表現。并且在未來集群擴容時,可以根據真實的情況需要,定向擴容所需的資源,提高集群的彈性。而這一切,都需要建立在高可靠、高帶寬、低延時的網絡上。
要想了解更多元宇宙網絡及運算相關內容信息,可查看MetaCon元宇宙技術大會官網,地址:https://metacon.51cto.com/























