前段時間介紹超節(jié)點(最近很火的“超節(jié)點”,到底是干啥的?)的時候,有很多讀者追問NVLINK的細節(jié)。
今天干脆單獨開一篇,講講NVLink。
█ NVLink的誕生背景
上世紀80-90年代,計算機技術高速發(fā)展,逐漸形成了英特爾和微軟為代表的“Wintel”軟硬件體系。
在硬件上,基本上都是圍繞英特爾的x86 CPU進行構建。為了能讓計算機內(nèi)部能夠更好地傳輸數(shù)據(jù),英特爾牽頭設計了PCIe總線。
懂電腦的同學,應該對PCIe非常熟悉。我們的顯卡,還有早期的網(wǎng)卡和聲卡等,都是插在計算機主板PCIe插槽上工作的。
后來,隨著時間的推移,計算機CPU、內(nèi)存、顯卡的性能越來越強大,相互之間傳輸?shù)臄?shù)據(jù)量也越來越多,PCIe的能力開始出現(xiàn)瓶頸(盡管這個技術也在迭代),傳輸速率和時延逐漸無法滿足需求。
表現(xiàn)最突出的,是顯卡(GPU)的通信需求。
本世紀初,游戲產(chǎn)業(yè)發(fā)展迅速,顯卡的升級迭代也很快。當時,為了讓游戲體驗更加流暢,甚至出現(xiàn)了同時安裝2塊顯卡的情況。
AMD(2006年收購了ATI)那邊,把這種多顯卡技術叫做Crossfire(交火)。
而英偉達這邊,則叫做SLI(Scalable Link Interface,可升級連接界面,也叫“速力”,2007年推出)。
除了個人消費領域之外,科研領域?qū)︼@卡性能的需求也不斷增加。
科學家們使用顯卡,不是為了玩游戲,而是為了3D建模,以及執(zhí)行一些超算任務。
英偉達在不斷提升顯卡性能的同時,發(fā)現(xiàn)PCIe協(xié)議嚴重限制了顯卡的對外數(shù)據(jù)傳輸。于是,他們開始考慮自創(chuàng)一套體系,用于取代PCIe協(xié)議。
2014年,英偉達基于SLI技術,推出了用于GPU高速互連的新協(xié)議——NVLink(Nvidia Link)。
英偉達NVLink技術的早期合作對象,是IBM。
為什么不是英特爾或AMD呢?因為PCIe是英特爾牽頭搞的,不太想搞NVLink。AMD算是英偉達競爭對手,也不合適。
當時,IBM是超算領域的巨頭,而且在技術參數(shù)上和英偉達非常匹配,所以雙方進行了合作。
英偉達在發(fā)布NVLink時指出:
GPU顯存的速度快但容量小,CPU內(nèi)存的速度慢但容量大。因為內(nèi)存系統(tǒng)的差異,加速的計算應用一般先把數(shù)據(jù)從網(wǎng)絡或磁盤移至CPU內(nèi)存,然后再復制到GPU顯存,數(shù)據(jù)才可以被GPU處理。
在NVLink技術出現(xiàn)之前,GPU需要通過PCIe接口連接至CPU,但PCIe接口太落后,限制了GPU存取CPU系統(tǒng)內(nèi)存的能力,對比CPU內(nèi)存系統(tǒng)要慢4-5倍。
有了NVLink之后,NVLink接口可以和一般CPU內(nèi)存系統(tǒng)的帶寬相匹配,讓GPU以全帶寬的速度存取CPU內(nèi)存,解決了CPU和GPU之間的互聯(lián)帶寬問題,從而大幅提升系統(tǒng)性能。
IBM POWER CPU的帶寬高于x86 CPU,PCIe瓶頸效應更為明顯,所以,他們才非常積極想要和英偉達合作。
在GTC2014上,英偉達CEO黃仁勛對NVLink贊不絕口。他表示:“NVLink讓 GPU與CPU之間共享數(shù)據(jù)的速度快了5-12倍。這不僅是全球首例高速GPU互聯(lián)技術,也為百億億次級計算鋪平了道路。”
2014年年底,美國能源部宣布將由IBM和英偉達共同建造兩臺新的旗艦超級計算機,分別是橡樹嶺國家實驗室的Summit系統(tǒng)和勞倫斯利弗莫爾國家實驗室的Sierra系統(tǒng),引發(fā)行業(yè)的高度關注。
而NVLink,就是其中的關鍵技術,用于IBM?POWER9 CPU與英偉達GPGPU(基于Volta架構)的連接。根據(jù)官方數(shù)據(jù),建成的超級計算機算力高達100Pflops。
除了超算之外,在智算領域,NVLink也迎來了機遇。
2012年,AI大佬杰弗里·辛頓帶著兩個徒弟搞出了深度卷積神經(jīng)網(wǎng)絡AlexNet,贏得ImageNet圖像識別大賽,徹底點爆了用GPU進行AI計算這個路線,從而打開了新世界的大門。
在超算和智算雙重浪潮的助推下,英偉達的GPU、NVLink、CUDA等技術,開始走向了全面爆發(fā)。
█ NVLink的技術演進
NVLink能夠?qū)崿F(xiàn)更高的速率、更低的時延,各方面性能都明顯強于PCle。
接下來,我們看看它到底是個什么樣的連接方式。
英偉達GTC2014發(fā)布的是NVLink的首個版本——NVLink 1.0。在2016年(GTC2016)發(fā)布的P100芯片上,就搭載了NVLink 1.0技術。
每塊P100 GPU集成了4條NVLink 1.0鏈路。每條NVLink 1.0鏈路由8對差分線(8個通道)組成。
NVLink鏈路和差分線
每對差分線(每個通道)的雙向帶寬是5GB/s。所以,每條NVLink 1.0鏈路的雙向帶寬是40GB/s。
因此,每塊P100 GPU的總雙向帶寬可達160GB/s,是PCIe3 x16(總帶寬大約32GB/s)的五倍。
NVLink還支持內(nèi)存一致性和直接內(nèi)存訪問(DMA),進一步提高了數(shù)據(jù)傳輸效率和計算性能。
迄今為止,英偉達陸續(xù)推出了NVLink 1.0~5.0,參數(shù)我就不一一介紹了,可以看下面的表格:
NVLink1-4代際(圖片來自英偉達官網(wǎng))
再來看看拓撲結構。
最簡單的兩張卡直接互連,就是杠鈴拓撲(barbell topology)。雙PCIe GPU之間,可以通過NVLink Bridge設備實現(xiàn)。
四張GPU卡的話,可以使用十字交叉方形拓撲(crisscrossed square topology)。這是一種Full Mesh的網(wǎng)狀交叉互聯(lián)結構。
8張GPU卡,就稍微有點復雜了。
在HGX-1系統(tǒng)中實現(xiàn)了一種 “hybrid cube mesh” 8 GPU互聯(lián)結構。如下圖所示:
每一塊GPU都巧妙利用了其6條NVLink,與其他4塊GPU相連。8塊GPU以有限的NVLink數(shù)量,實現(xiàn)了整體系統(tǒng)的最佳性能。
這個圖看上去有點奇怪。實際上,如果把它以立體的方式呈現(xiàn),就很清晰了:
就是串聯(lián)的架構。
當時英偉達發(fā)布的超級計算機DGX-1,就是采用了上面這個架構。
2016年,英偉達CEO黃仁勛給剛剛成立的OpenAI公司贈送了世界上第一臺DGX-1超級計算機,價值129000美元。
這臺DGX-1擁有2顆Xeon處理器和8顆Tesla P100 GPU,整機擁有170TFLOPs的半精度(FP16)峰值性能,還配備了512GB系統(tǒng)內(nèi)存和128GB GPU內(nèi)存。
這臺機器給OpenAI的早期起步提供了極大幫助,大幅縮短了他們的大模型訓練周期。
Hybrid Cube Mesh架構實現(xiàn)了單機內(nèi)的8卡互連,但也存在一些不足:它屬于一種串行連接,8塊GPU之間并非兩兩互聯(lián),每一塊GPU只與其他4塊GPU相連,且存在帶寬不對等的情況。
于是,2018年,為了實現(xiàn)8顆GPU之間的all-to-all互連,英偉達發(fā)布了NVSwitch 1.0。
NVSwitch,說白了就是“交換芯片”。它擁有18個端口,每個端口的帶寬是50GB/s,雙向總帶寬900GB/s。用6個NVSWitch,可以實現(xiàn)8顆V100的all-to-all連接。
引入NVSwitch的DGX-2,相比此前的DGX-1,提升了2.4倍的性能。
到NVLink 4.0的時候,DGX的內(nèi)部拓撲結構增加了NVSwitch對所有GPU的全向直連,DGX內(nèi)部的互聯(lián)結構得到簡化。
2022年,英偉達將原本位于計算機內(nèi)部的NVSwitch芯片獨立出來,變成了NVLink交換機。這意味著,一個計算節(jié)點已經(jīng)不再僅限于1臺服務器,而是可以由多臺服務器和網(wǎng)絡設備共同組成。
目前,NVLink Switch已經(jīng)發(fā)展到4.0版本。
2022年,NVLink 4.0發(fā)布時,英偉達把既有的NVLink定義為NVLink-network,然后又專門推出了NVLink-C2C(Chip to Chip,芯片到芯片之間的連接)。
NVLink-C2C是板級互連技術。它能夠在單個封裝中,將兩個處理器連接在一起,變成一塊超級芯片(Superchip)。
例如,英偉達的GH200,就是基于NVLink-C2C,將Grace CPU和Hopper GPU連接成Grace Hopper超級芯片。
Grace Hopper平臺的架構
目前最新的NVLink代際,是NVLink 5.0,由英偉達在2024年與Blackwell架構一同推出。單GPU可支持多達18個NVLink鏈接接,總帶寬達到1800GB/s,是NVLink 4.0的2倍,是PCIe 5帶寬的14倍以上。
具體參數(shù)前面表格有,小棗君就不多說了。
█ NVL72的整體架構
接下來,我們重點看看基于NVLink 5.0打造的DGX GB200 NVL72超節(jié)點。這個超節(jié)點的架構非常有代表性。
DGX GB200 NVL72,包含了18個GB200 Compute Tray(計算托架),以及9個NVLink-network Switch Tray(網(wǎng)絡交換托架)。如下圖所示:
每個Compute Tray包括2顆GB200超級芯片。每顆GB200超級芯片包括1個Grace CPU、2個B200 GPU,基于NVLink-C2C技術。
所以,整個機架就包括了36個Grace CPU(18×2),72個B200 GPU(18×2×2)。
8個DGX GB200 NVL72,又可以組成一個576個GPU的SuperPod超節(jié)點,總帶寬超過1PB/s,高速內(nèi)存高達240TB。
NVL72機架的9個Switch Tray(網(wǎng)絡交換托架),就是9臺NVLink Switch交換機。
每臺NVLink Switch交換機包括2顆NVLink Switch4芯片,交換帶寬為28.8Tb/s × 2。
NVL72采用高速銅連接架構設計。
在機架的背框中,有4組NVLink卡盒(NVLink Cartridge),也就是安費諾Paladin HD 224G連接器(每個連接器有72個差分對),負責計算托架、網(wǎng)絡托架之間的數(shù)據(jù)傳輸。
在這些連接器中,容納了5000多根節(jié)能同軸銅纜(NVLink Cables,帶有內(nèi)置信號放大器),可以提供130TB/s的全對全總帶寬和260TB/s的集合通信(AllReduce)帶寬。
功耗方面,B200單顆芯片的功耗1000W,1顆Grace CPU和2顆B200組成的超級芯片GB200,功耗達到了2700W。整個DGX GB200 NVL72機架,功耗大約是120kW(重量大約是1.3噸)。
為了確保穩(wěn)定的供電,NVL72采用了新的增強型大容量母線排設計。升級后的母線排寬度與現(xiàn)有Open Rack Version 3(ORV3)標準相同,但深度更大,顯著提高了其電流承載能力。新設計支持高達1400安培的電流流動,是現(xiàn)行標準的2倍。
NVL72是液冷機架式系統(tǒng),采用了增強型免工具安裝(盲配)液冷分配管(歧管)設計,以及新型可自動對準的免工具安裝(浮動盲配)托盤連接。不僅可以提供120kW冷卻能力,還極大地簡化了安裝和運維。
對外連接方面,NVL72配置了CX7或CX8網(wǎng)卡,通過400G或800G的IB網(wǎng)絡與外部進行Scale Out互聯(lián),對應每臺compute tray(計算托架)擁有2個OSFP 800G或1.6T端口。
值得一提的是,NVL72還包括BlueField-3數(shù)據(jù)處理單元(DPU),可以實現(xiàn)云網(wǎng)絡加速、可組合存儲、零信任安全和GPU計算彈性。
總而言之,GB200 NVL72確實是一個性能猛獸,也是打造萬卡、十萬卡GPU集群的利器。
憑借自身強大的算力,NVL72在推出市場后,很快引發(fā)了搶購熱潮。微軟、Meta等科技巨頭,都進行了瘋狂采購。
據(jù)悉,GB200 NVL72服務器的平均單價約為300萬美元(約合2139萬元人民幣),較NVL36機柜的平均售價高出66%。英偉達又又又賺得盆滿缽滿了。
█?結語
好啦,以上就是關于英偉達NVLink的介紹。
目前,AI算力建設浪潮仍在持續(xù)。
除了英偉達之外,包括AMD、華為、騰訊、阿里等在內(nèi)的很多公司都在研究和推進自己的節(jié)點內(nèi)部互連(Scale Up)技術標準,也在打造更大規(guī)模的GPU集群。
如果大家感興趣的話,小棗君會另行介紹。
感謝大家的耐心閱讀,我們下期再見!