?

多GPU系統的高速互聯技術與拓撲發展現狀研究

2024-04-18 04:31崔晨吳迪陶業榮趙艷麗
航空兵器 2024年1期
關鍵詞:數據中心

崔晨 吳迪 陶業榮 趙艷麗

摘 要:????? 多GPU系統通過橫向擴展實現性能提升, 以滿足人工智能日趨復雜的算法和持續激增的數據所帶來的不斷增長的計算需求。 對于多GPU系統而言, 處理器間的互聯帶寬以及系統的拓撲是決定系統性能的關鍵因素。 在傳統的基于PCIe的多GPU系統中, PCIe帶寬是限制系統性能的瓶頸。 當前, 面向GPU的高速互聯技術成為解決多GPU系統帶寬限制問題的有效方法。 本文首先介紹了傳統多GPU系統所采用的PCIe互聯技術及其典型拓撲, 然后以Nvidia NVLink、 AMD Infinity Fabric Link、 Intel Xe Link、 壁仞科技BLink為例, 對國內外代表性GPU廠商的面向GPU的高速互聯技術及其拓撲進行了梳理分析, 最后討論了關于互聯技術的研究啟示。

關鍵詞:???? 多GPU系統; 高速互聯技術; 拓撲; 互聯帶寬; 數據中心

中圖分類號:??? ?TJ760; TP393

文獻標識碼:??? A

文章編號:??? ?1673-5048(2024)01-0023-09

DOI: 10.12132/ISSN.1673-5048.2023.0138

0 引? 言

在人工智能三要素中, 隨著算法日趨復雜與數據不斷激增, 算力逐漸成為人工智能應用創新與落地的關鍵支撐。

算力的基礎是GPU、 FPGA、 ASIC等多種類型的高性能人工智能芯片, 其中GPU在算力峰值、 通用性和兼容性等方面具備較大優勢, 成為大多數深度學習模型訓練和推理的首選加速器[1-4]。 當前, 全球GPU市場主要由NVIDIA、 AMD、 Intel三家公司壟斷, 其先后發布了自己的高性能GPU產品, 通過單個GPU性能的縱向擴展(scale up)和多GPU系統性能的橫向擴展(scale out)來滿足深度學習不斷增長的計算需求。 隨著人工智能應用的規模越來越大, 單個GPU通常無法完成訓練任務, 多GPU系統逐漸在工作站、 服務器、 超級計算機等各個層面得到了廣泛的部署應用[5], 為各種人工智能工作負載提供優異的計算性能和靈活性。

多GPU系統通常以“CPU+GPU”異構計算的方式實現算力擴展, 其中CPU作為控制中心, 對計算任務進行統一調度, 而GPU則作為人工智能加速卡, 專門處理人工智能應用中的大規模矩陣并行計算任務。 使用多GPU系統訓練人工智能應用時, 處理器間(CPU-CPU、 CPU-GPU、 GPU-GPU)的互聯帶寬以及系統的拓撲是影響系統性能的關鍵因素, 決定了處理器間數據交換的速度, 進而影響了GPU優異的浮點運算性能的實際利用率。 對于CPU-CPU互聯, 以Intel CPU為例, 通常通過快速通道互聯(Quick Path Interconnect, QPI)或超級通道互聯(Ultra Path Interconnect, UPI)進行通信。 而對于CPU-GPU和GPU-GPU互聯, 傳統的多GPU系統通過PCIe將多個GPU直接與CPU相連, GPU之間則無法直接進行點對點(Peer-to-Peer, P2P)通信, 并且由于CPU提供的PCIe通道數量有限, 因此支持的GPU數量是有限的。 PCIe Switch芯片可用于擴展系統中的PCIe通道數量, 一方面能夠容納更多的GPU, 另一方面同一個PCIe Switch下的GPU可以實現P2P通信。 然而, 隨著多GPU系統中GPU相對于CPU的比例持續增長, 且PCIe的帶寬遠小于CPU和GPU到其DRAM的帶寬, 使得PCIe帶寬成為限制多GPU系統性能的瓶頸。 當前, 面向GPU的高速互聯技術成為解決多GPU系統中帶寬限制問題的主流方法。

1 PCIe及其典型拓撲

1.1 PCIe

PCIe是一種高速串行計算機擴展總線標準, 其前身是Intel公司于2001年推出的“3GIO”, 經PCI-SIG認證規范后正式命名為“PCI-Express”, 簡稱“PCIe”[6]。 PCIe總線作為第三代I/O總線, 具備傳輸數據速度快、 信號抗干擾能力強、 傳輸距離遠、 功耗低等優點, 使其快速取代ISA和PCI總線, 成為當下應用最為廣泛的外設互聯協議[7]。 經過約20年的技術迭代與優化, PCIe總線已形成6個標準版本的規范, 如表1所示。 表中的×16表示通道(Lane)數。 PCIe通過鏈路(Link)實現兩臺設備的點對點物理連接, 一條鏈路可以包含×1、 ×2、 ×4、 ×8、 ×12、 ×16、 ×32個信號對, 每一組收發信號對稱為一條通道。

2022年1月, PCI-SIG正式發布了PCIe 6.0規范。 PCIe 6.0的主要技術要點是不再采用之前版本所采用的不歸零編碼(Non-Return-to-Zero, NRZ)調制方式, 而是改用四電平脈沖幅度調制(Pulse Amplitude Modulation 4-Level, PAM4)[8]。 圖1給出了這兩種調制方式的對比示意圖。 NRZ是一種兩電平調制技術(PAM2), 采用高、 低兩種電平表示邏輯0和1, 每個時鐘周期可傳輸1 bit的邏輯信息。 隨著傳輸速率提高, PCIe的信道衰減越來越大, 使得采用NRZ方法將數據速率提升到32.0 GT/s以上時存在重大挑戰。 PAM4使用四種電平來表示四種2 bit的邏輯信息, 即00、 01、 10、 11, 且每個時鐘周期可以傳輸2? bit的邏輯信息。? 在相同波特率下, PAM4的數據速率是NRZ的兩倍。 此外, PCIe 6.0引入了前向糾錯(Forward Error Correction, FEC)機制和循環冗余校驗(Cyclic Redundancy Check, CRC), 以緩和PAM4的高誤碼率[9]。

2022年6月, PCI-SIG在開發者大會上宣布PCIe 7.0規范正在開發中, 預計2025年正式發布。 PCIe 7.0同樣采用PAM4調制方式, 單通道最大數據速率為128 GT/s, ×16配置下可實現高達512 GT/s的雙向帶寬。

1.2 典型的PCIe拓撲

在傳統的多GPU系統中, 采用的是PCIe直通的方式將多個GPU直接與CPU連接, 如圖2(a)所示。 這種互聯方式存在兩個缺點。 一是GPU之間無法直接進行P2P通信, 二是由于CPU提供的PCIe通道數量有限, 且網卡等其他設備對PCIe的需求也在不斷增加, 因此系統能夠支持的GPU數量是有限的。

PCIe Switch芯片可用于擴展系統中的PCIe通道數量。 其具有一個上行端口(upstream port)和若干個下行端口(downstream port), 其中上行端口連接主設備, 下行端口連接端節點設備(endpoint), 或者連接下一級Switch繼續擴展PCIe鏈路[10-11]。 通過PCIe Switch對PCIe總線進行擴展, 一方面可以使系統容納更多的GPU, 另一方面同一個PCIe Switch下的GPU可以實現P2P通信。

在基于PCIe Switch擴展的多GPU系統中, 主要有三種典型的拓撲, 分別為: Balance拓撲; Common拓撲; Cascade拓撲[12], 如圖2(b)~(d)所示。 在這三種拓撲中, 同一個PCIe Switch下的GPU可以實現P2P通信, 不同PCIe Switch下的GPU的通信方式則有所不同。 Balance拓撲中不同PCIe Switch下的GPU通常通過CPU之間的QPI或者UPI進行通信(Intel CPU), Common拓撲中則是跨PCIe Root Port進行通信, Cascade拓撲中2級PCIe Switch下的GPU可以實現P2P通信, 不再需要通過PCIe Root Port。

目前PCIe Switch芯片的核心廠商主要是美國的博通(Broadcom)和微芯科技(Microchip), 表2給出了這兩家公司的代表性PCIe Switch產品。 其中, Microchip的PCIe Switch分為PFX、 PSX和PAX三個類型, 分別對應于Fanout、 Programmable和Advanced Fabric三種PCIe Switch。 PSX和PAX比PFX擁有更高級的功能, 比如PSX是客戶可編程的, 并提供相應的軟件開發套件, 而PAX則能夠提供高性能的光纖連接。

2 面向GPU的高速互聯技術及其拓撲

隨著多GPU系統中GPU相對于CPU的比例持續增長, 且PCIe的帶寬遠小于CPU和GPU到其DRAM的帶寬, 使得PCIe帶寬成為限制多GPU系統性能的瓶頸。 此外, 高帶寬存儲(High Bandwidth Memory, HBM)在GPU中得到廣泛應用, 且HBM1[13], HBM2[14-16], HBM2E[17-18], HBM3[19-20]的每管腳速率越來越高, 使得GPU與DRAM之間的數據交換帶寬得到了大幅提升。 如果仍基于PCIe實現GPU的P2P通信, 則會進一步加劇PCIe帶寬對系統性能的影響。 于是, GPU廠商開始尋求面向GPU的高速互聯方式, 如Nvidia NVLink, AMD Infinity Fabric Link, Intel Xe Link和壁仞科技BLink等。

2.1 Nvidia NVLink

Nvidia在2016年發布的Pascal架構GPU(P100)中, 推出了新的高速接口——NVLink 1.0。 NVLink 1.0采用Nvidia全新的高速信號互聯(High-Speed Signaling interconnect, NVHS)技術, 一條鏈路由一對Sub-Link組成, 每個Sub-Link對應一個發送方向并包含8個差分信號對, 每個差分信號對以20 Gb/s的速度傳輸NRZ形式的差分電信號, 因此一條鏈路的雙向帶寬為40 GB/s, P100支持4條鏈路, 從而能夠獲得160 GB/s的總雙向帶寬[5, 21]。 NVLink 1.0既支持GPU-GPU的P2P通信, 也支持CPU-GPU的P2P通信(P100可與IBM的POWER8 CPU通過NVLink 1.0互聯), 并允許GPU對遠端CPU的主機內存和相連GPU的設備內存進行直接讀寫。

在NVLink 1.0之后, Nvidia又在2017年的Volta架構(V100)中推出了NVLink 2.0[22], 在2020年的Ampere架構(A100)中推出了NVLink 3.0[23], 在2022年的Hopper架構(H100)中推出了NVLink 4.0[24]。 表3給出了四代NVLink的參數對比。 從表中可以看出, 雖然每條鏈路的信號對數在逐漸減少, 但每個信號對的數據速率在逐漸增加, 使得每條鏈路的雙向帶寬增長到50 GB/s以后保持穩定。 而隨著GPU包含的鏈路數量越來越多, GPU間的雙向帶寬也在持續增大。 在調制方式上, 前三代NVLink均采用NRZ, 而NVLink 4.0開始采用PAM4[25]。

圖3給出了基于NVLink的DGX系統的拓撲[5,22-24]。 基于Pascal架構和NVLink 1.0, Nvidia推出了世界上第一款專為深度學習構建的服務器——DGX-1。 圖3(a)是DGX-1系統的混合立方體網格(Hybrid Cube Mesh)拓撲, 其中左右兩邊的4個P100構成了2個NVLink全連接的四邊形, 2個四邊形之間也用NVLink進行連接, 每個四邊形中的GPU則通過PCIe分別與對應的CPU相連。 通過使用單獨的NVLink將2個四邊形相連, 一方面能夠緩解PCIe上行鏈路的壓力, 另一方面能夠避免通過系統內存和CPU間鏈路進行路由傳輸[5]。 隨著GPU架構的演進, Nvidia對DGX系統不斷進行升級。 圖3依次給出了基于V100的DGX-1系統(圖3(b))、 基于V100的DGX-2系統(圖3(c)), 以及DGX A100系統(圖3(d))和DGX H100系統(圖3(e))的拓撲。 可以看出, DGX系統的拓撲與GPU所包含的鏈路數緊密相關。 由于實現多GPU系統性能持續擴展的關鍵是靈活、 高帶寬的GPU間通信, 因此在DGX-2系統中, Nvidia引入了NVSwitch 1.0交換芯片。 NVSwitch 1.0具有18個NVLink端口, 每個端口能夠與任意其他端口以50GB/s的雙向帶寬進行全速通信。 DGX-2含有2塊基板, 每塊基板上有8塊V100和6個NVSwitch 1.0, 這是因為V100包含6條鏈路, 能夠同時與6個NVSwitch 1.0連接。 每個NVSwitch 1.0中, 有8個NVLink端口用于基板上的GPU間通信, 另外8個NVLink端口用于與另一塊基板相連, 還預留了2個NVLink端口。 因此, DGX-2的GPU間帶寬為300 GB/s(50 GB/s×6NVLinks), 總的對分帶寬(bisection bandwidth)為2.4TB/s(50 GB/s×8NVLinks×6NVSwitches)。 目前, NVSwitch已經升級到3.0, 表4給出了各版本NVSwitch的參數對比。

從圖3(e)可以看出, DGX H100系統中ConnectX-7網絡模塊取代了PCIe Switch用于GPU與CPU的連接。 NVLink是用于系統內的GPU間高速通信, 而為了實現深度學習和高性能計算工作負載的多系統擴展, 則需要提升多系統中GPU之間的通信能力。 Nvidia ConnectX-7單端口InfiniBand卡默認情況下能夠提供高達400 Gb/s的InfiniBand速率, 或者配置高達400 Gb/s的Ethernet速率。 實際上在基于V100的DGX-1和DGX A100系統中都用到了ConnectX網絡模塊, 不過此時其與系統中的PCIe Switch相連, 用于實現多系統擴展, 其中基于V100的DGX-1系統中采用的是4塊ConnectX-4(100 Gb/s), DGX A100中采用的是8塊ConnectX-6(200 Gb/s)。

2023年5月, Nvidia發布了Grace Hopper超級芯片, 以及由256塊Grace Hopper超級芯片通過NVLink 4.0全互聯的DGX GH200系統。 Grace Hopper超級芯片是Nvidia專為大規模人工智能和高性能計算設計的第一款GPU-CPU超級芯片, 將Hopper架構的GPU和Arm架構的Grace CPU通過具有高帶寬和內存一致性的Nvidia NVLink Chip-2-Chip(C2C)互聯, 并封裝在一起構成一個超級芯片[26]。 而DGX GH200中定制的NVLink Switch系統將NVLink 4.0和NVSwitch 3.0相結合, 構成包含96個L1級NVSwitch和36個L2級NVSwitch的兩級無阻塞胖樹拓撲, 將256個Grace Hopper超級芯片整合成一個整體協同運行, 擺脫了此前的DGX A100和DGX H100等系統中單級NVSwitch最多只能連接8個GPU的限制。 DGX GH200系統旨在處理大規模推薦系統、 生成式人工智能和圖形分析等TB級模型, 可為巨型人工智能模型提供144 TB的共享內存和1 exaFLOPS的FP8性能[27]。

除了面向深度學習的DGX系統, Nvidia還構建了面向人工智能與高性能計算的HGX系統、 面向數據中心和邊緣的EGX系統、 面向工業邊緣人工智能的IGX系統等。

2.2 AMD Infinity Fabric Link

隨著2017年發布基于全新的Zen架構的銳龍(Ryzen)桌面CPU和霄云(Epyc)服務器CPU, AMD引入了新的內外部互聯總線技術——Infinity Fabric Link 1.0(IF Link 1.0), 用于實現CPU-CPU互聯, 每條鏈路的雙向帶寬為42 GB/s。 IF Link 1.0集數據傳輸與控制于一體, 由傳輸數據的Scalable Data Fabric(SDF)和負責控制的Scalable Control Fabric(SCF)兩個獨立的通信平面組成, 其中SDF提供核心、 內存和IO之間的一致性數據傳輸, SCF為系統的配置和管理提供通用的命令和控制機制, SDF和SCF均可以在同一裸片(die)內、 同一封裝(package)內的裸片間以及雙插槽系統(two-socket system)中的封裝之間進行通信[28-29]。 SDF有兩種不同的SerDes(Serializer/Deserializer)類型, 一種是IF on-package(IFOP), 用于封裝內裸片間的短途互聯, 另一種是IF inter-socket(IFIS), 用于不同插槽上芯片間的長途互聯[30]。

2018年, AMD發布面向計算領域的鐳龍(Radeon)Instinct MI50和MI60 GPU加速器(均為Vega20架構), 采用IF Link 2.0技術, 支持GPU-GPU互聯, 且每條鏈路的雙向帶寬增加到了92 GB/s, 每個MI50或MI60包含2條IF Link, 可通過4塊GPU構成一個環狀拓撲, 實現184 GB/s的對分帶寬[31]。 圖4給出了基于IF Link的AMD多GPU系統的拓撲[32-33], 其中的圖4(a)是環狀拓撲的示意圖。 2020年, AMD發布了專門針對高性能計算和人工智能而設計的CDNA架構, 同年發布了基于CDNA架構的數據中心GPU——Instinct MI100加速器。 MI100采用IF Link 2.0技術, 以23 GT/s傳輸速率和16-bit單向位寬實現92 GB/s的雙向帶寬, 每個MI100包含3條IF Link, 可實現276 GB/s的GPU-GPU帶寬, 此外還可以通過PCIe 4.0直連的方式提供64 GB/s的CPU-GPU帶寬[34]。 4塊MI100可以構成一個全連接的四邊形拓撲(如圖4(b)所示), 對分帶寬增加到了368 GB/s。 這種全連接的拓撲能夠提高常見的通信模式(例如all-reduce和scatter/gather)的性能, 而這些通信原語廣泛應用于高性能計算和深度學習, 例如訓練神經網絡時的權重更新通信階段[32]。

2021年, AMD發布了CDNA 2架構, 并先后發布了由基于CDNA 2架構的圖形計算裸片(Graphcis Compute Die, GCD)封裝而成的Instinct MI200系列加速器, 包括2021年發布的MI250和MI250X, 以及2022年的MI210。 CDNA 2架構的主要改進之一就是基于IF Link 3.0技術提升了每個GCD的通信能力, 每顆GCD包含8條IF Link, 每條鏈路的雙向帶寬為100 GB/s。 MI250和MI250X的外形規格為OAM(OCP Accelerator Module)形態, 均包含2顆GCD, 每顆GCD的其中4條IF Link用于OAM封裝內的2顆GCD互聯(GCD間的最大雙向帶寬為400 GB/s), 其余4條IF Link則用于與其他加速器或者主機互聯, MI250最多可提供6條外部IF Link, MI250X最多可提供8條外部IF Link。 MI210為PCIe形態, 只包含1顆GCD, 最多可提供3條外部IF Link。 GCD中有1條特殊的鏈路, 其既可以作為一致性主機接口, 也可以作為下行PCIe4.0接口。 該接口的物理層為16通道的IF Link, 當與優化的第三代AMD霄云CPU相連時, 該接口邏輯上可作為IF接口, 實現緩存一致性; 當與其他x86服務器CPU相連時, 這個接口會退化為標準的PCIe接口, 實現與主機的非一致性通信[33]。

表5給出了三代IF Link的參數對比。 IF Link 3.0支持一致性的CPU-GPU互聯, 可實現CPU的DRAM內存與GPU的HBM內存的一致性內存架構。 在圖4(c)所示的基于MI250X加速器的拓撲中, MI250X中的GCD通過IF Link與優化的第三代AMD霄云CPU相連。 圖4(d)所示的基于MI250加速器的拓撲以及圖4(e)所示的基于MI210加速器的拓撲是更為主流的機器學習拓撲, GPU通過PCIe 4.0與主機CPU相連, 此時CPU-GPU互聯受限于PCIe帶寬, IF Link主要用于提升GPU-GPU的互聯帶寬以及GPU內部的GCD-GCD互聯帶寬。 另外圖4(d)與圖4(e)中霄云CPU間的互聯用較粗的IF Link表示, 這是因為CPU間的IF Link數量是可變的, 取決于系統的實現方式。

根據AMD于2022年6月發布的新的CDNA架構路線圖, 其預計將于2023年推出CDNA3架構以及MI300數據中心APU。 MI300將基于CDNA3架構的GPU與基于Zen 4架構的霄云CPU通過3D堆疊集成到一個封裝內, 采用IF Link 4.0技術實現基于HBM內存的統一內存架構, 以進一步降低延遲、 提高能效。

2.3 Intel Xe Link

Intel在其2020年架構日發布了名為Xe的GPU架構家族, 主要包括針對集成顯卡和低功耗的XeLP微架構、 針對高性能游戲的XeHPG微架構、 針對數據中心和人工智能的XeHP微架構以及針對高性能計算的XeHPC微架構。 2021年, Intel進一步公布了XeHPC微架構的IP模塊信息。 XeHPC微架構由2個堆棧(stack)組成, 每個堆棧包含4個切片(Xe slice), 64個核心(Xe core), 以及8條高速一致性Xe Link。 XeHPC微架構共包含16條Xe Link, 能夠實現GPU-GPU的高速一致性數據傳輸。

2023年1月, Intel推出了針對高性能計算和人工智能設計的數據中心GPU Max 1550(代號為Ponte Vecchio), 采用OAM外形規格, 具有16個端口, Xe Link帶寬為53 GB/s。 Max 1550可通過Xe Link構成2卡、 4卡、 6卡、 8卡的全互聯拓撲, 圖5給出了8卡全互聯拓撲的示意圖。 Intel 起初規劃推出的Max系列GPU除了600W OAM形態的Max 1550, 還有450W OAM形態的Max 1350(16個端口), 以及300W? PCIe形態的Max? 1100(6個端口)。 2023年4月, Intel對Max系列GPU布局進行了調整, 移除了Max 1350, 并將在后續推出Max 1450, 通過降低I/O帶寬以滿足不同的市場需求。

與Nvidia的GH200超級芯片以及AMD的MI300數據中心APU類似, Intel原計劃推出將其x86 CPU和Xe GPU集成封裝到一起的高性能計算XPU(代號為Falcon Shores), 但根據Intel最新消息, 新的Falcon Shores設計將轉向純GPU核心, 并計劃于2025年發布。

2.4 壁仞科技BLink

壁仞科技是一家成立于2019年的國產GPU公司。 2022年8月, 壁仞科技發布了基于“壁立仞”架構的通用GPU算力產品BR100芯片和BR104芯片, 均采用芯粒(Chiplet)設計理念, 前者包含2個計算芯粒, 后者包含1個計算芯粒, 同時, 壁仞科技還發布了基于BR100的壁礪100P OAM模組, 以及基于BR104的壁礪104P PCIe板卡[35]。

為了實現系統性能擴展, 壁仞科技自研了BLink接口, 每條鏈路的雙向數據速率為64 Gb/s, BR100芯片包含8個×8端口, 每組×8BLink的雙向帶寬為64 GB/s。 壁礪100P OAM模組支持7個×8端口, 總計可提供448 GB/s的雙向帶寬, 最高可實現8卡全互聯(如圖6(a)所示)。 壁礪104P PCIe板卡支持3個端口, 總計提供192 GB/s的雙向帶寬, 最高可實現4卡全互聯(如圖6(b)所示)。

3 研究啟示

3.1 計算與內存性能快速提升, 互聯帶寬面臨更高要求

表6給出了Nvidia和AMD兩家公司數據中心GPU的計算和內存性能。 其中FP32是深度學習訓練中最為常用的格式, 表中給出的FP32性能指的是向量計算性能; INT8是推理階段的一個流行格式, 表中給出的INT8性能指的是帶有張量核心(Nvidia)或矩陣核心(AMD)的性能。 憑借日益先進的芯片工藝, 以及張量核心/矩陣核心、 HBM內存等技術的助力, GPU的計算性能與內存性能得到了快速提升。

當使用多GPU系統進行神經網絡的并行化訓練時, 無論是采用數據并行還是模型并行, 都需要在GPU之間進行通信, 其中數據并行通過傳遞梯度完成對參數的更新, 通信開銷較小, 而模型并行需要傳遞特征圖, 其通信開銷會遠大于數據并行。 目前, 面向GPU的高速互聯技術相比于傳統的PCIe在互聯帶寬方面已經取得了非常大的性能提升, 如采用NVLink 4.0的Nvidia Hopper架構GPU的互聯帶寬已達到900 GB/s, 而PCIe 5.0(×16)的帶寬則為126 GB/s。 然而, 與GPU優異的計算性能和上千GB/s的內存帶寬相比, 互聯技術仍然需要進一步升級, 只有這樣才能支撐數據在GPU間的快速流轉, 從而提升GPU的算力利用率, 充分釋放多GPU系統的算力性能。

3.2 高速互聯技術之間存在兼容性問題

當前, 數據中心對計算加速硬件的需求不斷上升, GPU以及多GPU系統擁有廣闊的市場空間, 國內外眾多廠商紛紛推出了自己的GPU產品和面向GPU的高速互聯技術。 然而, 各個廠商的面向GPU的高速互聯技術主要基于私有協議實現, 各技術之間存在兼容性問題, 不同廠商的GPU互聯時無法有效利用面向GPU的高速互聯通道, 往往需要通過傳統的PCIe實現通信, 這就導致在支持高速互聯的多GPU系統中通常只能包含來自同一個廠商的多個GPU, 限制了多GPU系統配置的靈活性。 因此, 需要考慮面向GPU的通用高速互聯技術, 一方面支持不同廠商的GPU之間進行高速互聯, 使得用戶可根據需求在多GPU系統內部配置不同廠商的GPU, 提升配置的靈活性; 另一方面也能打破技術壁壘, 有助于降低數據中心GPU的使用成本。

3.3 Balance拓撲是面向GPU的高速互聯技術的主流拓撲

由圖2可知, 在Balance拓撲中GPU被平均分配到各個CPU, 整個系統結構對稱、 負載均衡。 同一個PCIe Switch下的GPU可以進行P2P通信, 不同PCIe Switch下的GPU則需要通過CPU之間的QPI/UPI等進行通信。 由于各CPU掛載的GPU數量均衡, 總的PCIe上行帶寬較高, CPU-GPU通信性能較好。 通過對基于Nvidia NVLink、 AMD IF Link、 Intel Xe Link、 壁仞科技BLink的多GPU系統拓撲進行梳理分析, 可以發現結構對稱、 負載均衡的Balance拓撲是目前基于面向GPU的高速互聯技術的數據中心多GPU系統的主流拓撲。

結合Balance拓撲特點, 初步分析有以下幾個原因。 一是虛擬化在數據中心發展中扮演著重要地位, 而Balance拓撲適合GPU直通虛擬化, 能夠保證虛擬化時GPU資源的性能均衡。 二是Balance拓撲具有廣泛的適用性, 既適用于訓練或推理等人工智能場景, 也適用于高性能計算場景。 三是Balance拓撲總的上行帶寬較高, 其良好的CPU-GPU通信性能有利于充分發揮CPU的邏輯控制和GPU的并行計算性能。 四是隨著GPU支持的高速互聯鏈路數量的增加, 多GPU系統內的走線也越來越復雜, 而結構對稱、 負載均衡的拓撲有利于簡化布局、 節省空間。

3.4 異構超級芯片成趨勢, CPU-GPU互聯是關鍵

無論是Nvidia已經發布的Grace Hopper超級芯片, 還是AMD將要發布的MI300數據中心APU, 以及Intel原計劃推出的“Falcon Shores” XPU, 都預示著“CPU+GPU”的異構超級芯片將成為下一代數據中心高性能芯片的主流架構趨勢。 隨著Intel將其“Falcon Shores”設計轉向純GPU核心, 意味著未來幾年內Intel將在與Nvidia和AMD的超級芯片競爭中處于劣勢。

對于“CPU+GPU”的異構超級芯片而言, CPU-GPU互聯是超級芯片的關鍵技術。 以Grace Hopper超級芯片為例,? 其通過NVLink C2C將Grace CPU和Hopper GPU互聯。 NVLink C2C是基于NVLink技術的處理器間互聯技術, 具有以下四點優勢。 一是支持一致內存模型, 一方面CPU和GPU線程可以同時且顯式地訪問CPU和GPU的內存, 另一方面可以采用LPDDR5X拓展GPU可訪問的內存容量。 二是高帶寬, NVLink C2C可提供每方向450 GB/s、 共計900 GB/s的雙向帶寬, 是PCIe 5.0(×16)的7倍多。 三是低延遲, 支持處理器和加速器之間的load/store等原子操作, 能夠對共享數據進行快速同步和高頻更新。 四是相比于PCIe 5.0, NVLink C2C有明顯的能效與面積優勢。

根據AMD目前對MI300 APU的架構設計, 其將從CDNA 2的一致內存架構, 升級為CDNA 3的統一內存架構。 需要注意的是, 這里的一致內存架構中CPU的DRAM內存和GPU的HBM內存位于不同的封裝內, 雖然能夠基于IF Link 3.0實現內存一致性, 但是不具備統一的內存地址空間; 而在統一內存架構中, CPU和GPU位于同一封裝內, 且采用統一的HBM內存, 不再需要冗余的數據拷貝。 MI300 APU采用IF Link 4.0技術, 可實現高帶寬、 低延遲、 高能效的CPU-GPU互聯。

4 結 束 語

本文對傳統的PCIe互聯技術及其典型拓撲, 以及Nvidia NVLink、 AMD Infinity Fabric Link、 Intel Xe Link、 壁仞科技BLink等面向GPU的高速互聯技術及其拓撲進行了梳理分析, 并討論了關于互聯技術的研究啟示。 相比于PCIe, 這些面向GPU的高速互聯技術具有兩個特征: 一是帶寬遠高于PCIe, 能夠顯著加快GPU間的數據交換速度, 提升多GPU系統的并行訓練性能; 二是除了GPU-GPU互聯以外, 還可以支持CPU-CPU或CPU-GPU等類型的處理器互聯方式, 增加了多GPU系統拓撲的靈活性, 并進一步提升了多GPU系統的整體性能。

本文所討論的互聯技術針對的是處理器間的互聯, 包括CPU-CPU、 CPU-GPU和GPU-GPU。 對于多GPU系統而言, 除了處理器間的互聯, 處理器與內存、 網卡、 I/O設備等的互聯也是決定多GPU系統性能的重要因素。 而對于由多個多GPU系統構成的多節點超級計算機系統來說, 還需要考慮節點間的互聯技術, 如InfiniBand、 以太網等。 此外, 帶寬是各種互聯技術的主要指標, 但同時也需要對延遲與能效進行綜合考量, 只有這樣才能在提升互聯速度的同時降低使用成本。? 未來可結合異構超級芯片, 進一步研究互聯帶寬、 算力資源等的有效利用問題, 充分釋放多GPU系統的高性能計算能力。

參考文獻:

[1] Raina R, Madhavan A, Ng A Y. Large-Scale Deep Unsupervised Learning Using Graphics Processors[C]∥26th Annual International Conference on Machine Learning, 2009: 873-880.

[2] Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks[J]. Communications of the ACM, 2017, 60(6): 84-90.

[3] Sermanet P, Eigen D, Zhang X, et al. OverFeat: Integrated Recog-nition, Localization and Detection Using Convolutional Networks[EB/OL]. (2013-12-21)[2023-07-13].https:∥arxiv.org/abs/1312.6229.pdf

[4] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[EB/OL].(2014-09-04)[2023-07-13].https:∥arxiv.org/abs/1409.1556.pdf

[5] Nvidia Tesla P100 Whitepaper[EB/OL]. (2016-04-28)[2023-04-17]. http:∥images.nvidia.cn/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper.pdf.

[6] 王法臻, 崔少輝, 王成. PCIe設備驅動程序開發的關鍵技術[J]. 現代電子技術, 2021, 44(16): 65-69.

Wang Fazhen, Cui Shaohui, Wang Cheng. Key Technologies of PCIe Device Driver Development[J]. Modern Electronics Technique, 2021, 44(16): 65-69.(in Chinese)

[7] 金黃斌. 支持PCIe的千兆以太網芯片設計與驗證[D]. 成都: 電子科技大學, 2022.

Jin Huangbin. Design and Verification of Gigabit Ethernet Chip Supporting PCIe[D].Chengdu: University of Electronic Science and Technology of China, 2022. (in Chinese)

[8] 李實. 從1.0到6.0的飛躍之路: PCIe總線技術發展解析[J]. 微型計算機, 2019(24): 94-99.

Li Shi. The Leap Path from 1.0 to 6.0: Analysis of PCIe Bus Technology Development[J]. MicroComputer, 2019(24): 94-99. (in Chinese)

[9] Das Sharma D. PCI Express 6.0 Specification: A Low-Latency, High-Bandwidth, High-Reliability, and Cost-Effective Interconnect with 64.0 GT/s PAM-4 Signaling[J]. IEEE Micro, 2021, 41(1): 23-29.

[10] 鄭橋, 韓力, 邢同鶴, 等. 基于PCIe Switch的存儲陣列[J]. 電子設計工程, 2019, 27(14): 126-129.

Zheng Qiao, Han Li, Xing Tonghe, et al. Storage Array Based on PCIe Switch[J]. Electronic Design Engineering, 2019, 27(14): 126-129.(in Chinese)

[11] 劉鑫, 林凡淼, 劉凱. 基于FPGA的可動態配置國產PCIe Switch應用設計[J]. 電子設計工程, 2021, 29(17): 80-84.

Liu Xin, Lin Fanmiao, Liu Kai. Application Design of Dynamically Configurable Domestic PCIe Switch Based on FPGA[J]. Electronic Design Engineering, 2021, 29(17): 80-84.(in Chinese)

[12] 林楷智, 宗艷艷, 孫瓏玲. AI服務器PCIe拓撲應用研究[J]. 計算機工程與科學, 2022, 44(3): 390-395.

Lin Kaizhi, Zong Yanyan, Sun Longling. Research on PCIe Topology Application of AI Server[J]. Computer Engineering & Science, 2022, 44(3): 390-395.(in Chinese)

[13] Lee D U, Kim K W, Kim K W, et al. 25.2 A 1.2V 8Gb 8-Channel 128GB/s High-Bandwidth Memory (HBM) Stacked DRAM with Effective Microbump I/O Test Methods Using 29nm Process and TSV[C]∥IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2014: 432-433.

[14] Lee J C, Kim J, Kim K W, et al. 18.3 A 1.2V 64Gb 8-Channel 256GB/s HBM DRAM with Peripheral-Base-Die Architecture and Small-Swing Technique on Heavy Load Interface[C]∥IEEE International Solid-State Circuits Conference (ISSCC), 2016: 318-319.

[15] Sohn K, Yun W J, Oh R, et al. A 1.2 V 20 nm 307 GB/s HBM DRAM with At-Speed Wafer-Level IO Test Scheme and Adaptive Refresh Considering Temperature Distribution[J]. IEEE Journal of Solid-State Circuits, 2017, 52(1): 250-260.

[16] Cho J H, Kim J, Lee W Y, et al. A 1.2V 64Gb 341GB/s HBM2? Stacked DRAM with Spiral Point-to-Point TSV Structure and Improved Bank Group Data Control[C]∥IEEE International Solid-State Circuits Conference(ISSCC), 2018: 208-210.

[17] Lee D U, Cho H S, Kim J, et al. 22.3 A 128Gb 8-High 512GB/s HBM2E DRAM with a Pseudo Quarter Bank Structure, Power Dispersion and an Instruction-Based at-Speed PMBIST[C]∥IEEE International Solid-State Circuits Conference(ISSCC), 2020: 334-336.

[18] Oh C S, Chun K C, Byun Y Y, et al. 22.1 A 1.1V 16GB 640GB/s HBM2E DRAM with a Data-Bus Window-Extension Technique and a Synergetic on-Die ECC Scheme[C]∥IEEE International Solid-State Circuits Conference(ISSCC), 2020: 330-332.

[19] Park M J, Lee J, Cho K, et al. A 192-Gb 12-High 896-GB/s HBM3 DRAM with a TSV Auto-Calibration Scheme and Machine-Learning-Based Layout Optimization[J]. IEEE Journal of Solid-State Circuits, 2023, 58(1): 256-269.

[20] Ryu Y, Kwon Y C, Lee J H, et al. A 16 GB 1024 GB/s HBM3 DRAM with on-Die Error Control Scheme for Enhanced RAS Features[C]∥IEEE Symposium on VLSI Technology and Circuits (VLSI Technology and Circuits), 2022: 130-131.

[21] Foley D, Danskin J. Ultra-Performance Pascal GPU and NVLink Interconnect[J]. IEEE Micro, 2017, 37(2): 7-17.

[22] Nvidia Tesla V100 GPU Architecture[EB/OL]. (2017-08-05)[2023-05-31]. https:∥images.nvidia.cn/content/volta-architecture/pdf/volta-architecture-whitepaper.pdf.

[23] Nvidia A100 Tensor Core GPU Architecture[EB/OL]. (2020-07-09)[2023-05-31]. https:∥images.nvidia.cn/aem-dam/en-zz/Solutions/data-center/nvidia-ampere-architecture-whi-tepaper.pdf.

[24] Nvidia H100 Tensor Core GPU Architecture[EB/OL]. (2022-08-04)[2023-05-31]. https:∥resources.nvidia.com/en-us-tensor-core.

[25] Ishii A, Wells R. The NVlink-Network Switch: Nvidias Switch Chip for High Communication-Bandwidth Superpods[C]∥IEEE Hot Chips 34 Symposium (HCS), 2022: 1-23.

[26] Nvidia Grace Hopper Superchip Architecture[EB/OL]. (2023-05-04)[2023-05-31]. https:∥resources.nvidia.com/en-us-grace-cpu/nvidia-grace-hopper.

[27] Nvidia DGX GH200 Datasheet[EB/OL]. (2023-05-06)[2023-06-01]. https:∥resources.nvidia.com/en-us-dgx-gh200/nvidia-dgx-gh200-datasheet-web-us.

[28] Lepak K, Talbot G, White S, et al. The Next Generation AMD Enterprise Server Product Architecture[J]. IEEE Hot Chips, 2017, 29.

[29] Burd T, Beck N, White S, et al. “Zeppelin”: An SoC for Multichip Architectures[J]. IEEE Journal of Solid-State Circuits, 2019, 54(1): 133-143.

[30] Beck N, White S, Paraschou M, et al. ‘Zeppelin: An SoC for Multichip Architectures[C]∥IEEE International Solid-State Circuits Conference(ISSCC), 2018: 40-42.

[31] AMD Radeon Instinct MI50 Datasheet[EB/OL]. (2018-06-24)[2023-06-06]. https:∥www.amd.com/system/files/documents/instinct-mi100-brochure.pdf.

[32] AMD CDNA Architecture[EB/OL]. (2020-11-30)[2023-06-07]. https:∥www.amd.com/system/files/documents/amd-cdna-whitepaper.pdf.

[33] AMD CDNA 2 Architecture[EB/OL]. (2021-11-30)[2023-06-07]. https:∥www.amd.com/system/files/documents/amd-cdna2-white-paper.pdf.

[34] AMD Instinct MI100 Accelerator Brochure[EB/OL]. (2020-05-23)[2023-06-01]. https:∥www.amd.com/system/files/documents/instinct-mi100-brochure.pdf.

[35] Hong M K, Xu L J. 壁仞TM BR100 GPGPU: Accelerating Datacenter Scale AI Computing[C]∥IEEE Hot Chips 34 Symposium (HCS), 2022: 1-22.

Research on the Development Status of High Speed Interconnection

Technologies and Topologies of Multi-GPU Systems

Abstract: Multi GPU systems achieve performance improvement through scaling out to meet the ever-increasing computation demand brought about by increasingly complex algorithms and the continuously increasing data in artificial intelligence. The interconnection bandwidth between processors, as well as topologies of systems are the key factors that determine the performance of multi-GPU systems. In traditional PCIe-based multi-GPU systems, the PCIe bandwidth is the bottleneck that limits system performance. GPU-oriented high speed interconnection technologies become an effective method to solve the bandwidth limitation problem of multi-GPU systems at present. This article first introduces the PCIe interconnection technology and the typical topologies used in traditional multi-GPU systems. Then taking Nvidia NVLink, AMD Infinity Fabric Link, Intel Xe Link, and Biren Technology BLink as examples, GPU-oriented high speed interconnection technologies and topologies of representative GPU vendors at home and abroad are reviewed and analyzed. Finally, the research implication of interconnection technologies is discussed.

Key words: multi-GPU system; high speed interconnection technology; topology; interconnection bandwidth;data center

猜你喜歡
數據中心
酒泉云計算大數據中心
數據中心ECC設計方案研究
關于建立“格薩爾文獻數據中心”的初步構想
數據中心制冷節能技術及應用
民航綠色云數據中心PUE控制
大唐電信數據中心產品解決方案
基于VMware vSphere的高校數據中心建設
10kV油機在大型數據中心的并機控制與切換方案探討
淺談云計算數據中心在滬寧高速公路中的應用
基于云計算的交通運輸數據中心實現與應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合