如何使用PCIe交換網結構在多主機係統中優化資源部署
發布時間:2020-10-27 責任編輯:lina
【導讀】 越來越多的數據中心和其他高性能計算環境開始使用GPU,因為GPU能(neng)夠(gou)快(kuai)速(su)處(chu)理(li)深(shen)度(du)學(xue)習(xi)和(he)機(ji)器(qi)學(xue)習(xi)應(ying)用(yong)中(zhong)生(sheng)成(cheng)的(de)大(da)量(liang)數(shu)據(ju)。不(bu)過(guo),就(jiu)像(xiang)許(xu)多(duo)可(ke)提(ti)高(gao)應(ying)用(yong)性(xing)能(neng)的(de)新(xin)型(xing)數(shu)據(ju)中(zhong)心(xin)創(chuang)新(xin)一(yi)樣(yang),這(zhe)項(xiang)創(chuang)新(xin)也(ye)暴(bao)露(lu)出(chu)新(xin)的(de)係(xi)統(tong)瓶(ping)頸(jing)。
越來越多的數據中心和其他高性能計算環境開始使用GPU,因為GPU能(neng)夠(gou)快(kuai)速(su)處(chu)理(li)深(shen)度(du)學(xue)習(xi)和(he)機(ji)器(qi)學(xue)習(xi)應(ying)用(yong)中(zhong)生(sheng)成(cheng)的(de)大(da)量(liang)數(shu)據(ju)。不(bu)過(guo),就(jiu)像(xiang)許(xu)多(duo)可(ke)提(ti)高(gao)應(ying)用(yong)性(xing)能(neng)的(de)新(xin)型(xing)數(shu)據(ju)中(zhong)心(xin)創(chuang)新(xin)一(yi)樣(yang),這(zhe)項(xiang)創(chuang)新(xin)也(ye)暴(bao)露(lu)出(chu)新(xin)的(de)係(xi)統(tong)瓶(ping)頸(jing)。在這些應用中,用於提高係統性能的新興架構涉及通過一個PCIe®結構在多個主機之間共享係統資源。
PCIe標準(特別是其基於樹的傳統層級)會限製資源共享的實現方式(和實現程度)。不過,可以實現一種低延時的高速結構方法,這種方法允許在多個主機之間共享大量GPU和NVMe SSD,同時仍支持標準係統驅動程序。
PCIe結構方法采用動態分區和多主機單根I/O虛擬化(SR-IOV)共享。各PCIe結構之間可直接路由點對點傳輸。這樣便可為點對點傳輸提供最佳路由,減少根端口擁塞,並且更有效地平衡CPU資源的負載。
傳統上,GPU傳輸必須訪問CPU的係統存儲器,這會導致端點之間發生存儲器共享爭用。 當GPU使用其共享的存儲器映射資源而不是CPU存儲器時,它可以在本地提取數據,無需先通過CPU傳遞數據。這消除了跳線和鏈路以及由此產生的延時,從而使GPU能夠更高效地處理數據。
PCIe的固有限製
PCIe主層級是一個樹形結構,其中的每個域都有一個根聯合體,從該點可擴展到“葉子”,這些“葉子”通過交換網和橋接器到達端點。鏈路的嚴格層級和方向性給多主機、多交換網係統帶來了成本高昂的設計要求。

圖1——多主機拓撲
以圖1所示的係統為例。要符合PCIe的層級,主機1必須在交換網1中有一個專用的下行端口,該端口連接到交換網2中的專用上行端口。它還需要在交換網2中有一個專用的下行端口,該端口連接到交換網3中的專用上行端口,依此類推。主機2和主機3也有類似的要求,如圖2所示。

圖2——每個主機的層級要求
即使是基於PCIe樹形結構的最基本係統,也需要各交換網之間有三個鏈路專用於每個主機的PCIe拓撲。而且,由於主機之間無法共享這些鏈路,因此係統會很快變得極為低效。
此外,符合PCIe的典型層級隻有一個根端口,而且盡管“多根I/O虛擬化和共享”規範中支持多個根,但它會使設計更複雜,並且當前不受主流CPU支持。結果會造成未使用的PCIe設備(即端點)滯留在其分配到的主機中。不難想象,這在采用多個GPU、存儲設備及其控製器以及交換網的大型係統中會變得多麼低效。
例如,如果第一個主機(主機1)已經消耗了所有計算資源,而主機2和3未充分利用資源,則顯然希望主機1訪問這些資源。但主機1無法這樣做,因為這些資源在它的層級域之外,因此會發生滯留。非透明橋接(NTB)是這種問題的一個潛在解決方案,但由於每種類型的共享PCIe設備都需要非標準驅動程序和軟件,因此這同樣會使係統變得複雜。更好的方法是使用PCIe結構,這種結構允許標準PCIe拓撲容納多個可訪問每個端點的主機。
實施方法
係統使用一個PCIe結構交換網(本例中為Microchip Switchtec® PAX係列的成員)在兩個獨立但可透明互操作的域中實現:即包含所有端點和結構鏈路的結構域以及每個主機專用的主機域(圖3)。主機通過在嵌入式CPU上運行的PAX交換網固件保留在單獨的虛擬域中,因此,交換網將始終顯示為具有直連端點的標準單層PCIe設備,而與這些端點出現在結構中的位置無關。

圖3——每個結構的獨立域
來自主機域的事務會在結構域中轉換為ID和he地di址zhi,反fan之zhi,結jie構gou域yu中zhong通tong信xin的de非fei分fen層ceng路lu由you也ye是shi如ru此ci。這zhe樣yang,係xi統tong中zhong的de所suo有you主zhu機ji便bian可ke共gong享xiang連lian接jie交jiao換huan網wang和he端duan點dian的de結jie構gou鏈lian路lu。交jiao換huan網wang固gu件jian會hui攔lan截jie來lai自zi主zhu機ji的de所suo有you配pei置zhi平ping麵mian通tong信xin(包括PCIe枚舉過程),並使用數量可配置的下行端口虛擬化一個符合PCIe規範的簡單交換網。
當所有控製平麵通信都路由到交換網固件進行處理時,數據平麵通信直接路由到端點。其他主機域中未使用的GPU不再滯留,因為它們可以根據每個主機的需求動態分配。結構內支持點對點通信,這使其能夠適應機器學習應用。當以符合PCIe規範的方式向每個主機提供功能時,可以使用標準驅動程序。
操作方法
為了解這種方法的工作原理,我們以圖4中的係統為例,該係統由兩個主機(主機1采用Windows®係統,主機2采用Linux®係統)、四個PAX PCIe結構交換網、四個Nvidia M40 GPGPU和一個支持SR-IOV的Samsung NVMe SSD組成。在本實驗中,主機運行代表實際機器學習工作負載的通信,包括Nvidia的CUDA點對點通信基準測試實用程序和訓練cifar10圖像分類的TensorFlow模型。嵌入式交換網固件處理交換網的低級配置和管理,係統由Microchip的ChipLink調試和診斷實用程序管理。

圖4:雙主機PCIe結構引擎
四個GPU最初分配給主機1,PAX結構管理器顯示在結構中發現的所有設備,其中GPU綁定到Windows主機。但是,主機上的結構不再複雜,所有GPU就像直接連接到虛擬交換網一樣。隨後,結構管理器將綁定所有設備,Windows設備管理器將顯示GPU。主機將交換網視為下行端口數量可配置的簡單物理PCIe交換網。
一旦CUDA發現了四個GPU,點對點帶寬測試就會顯示單向傳輸速率為12.8 GBps,雙向傳輸速率為24.9 GBps。這些傳輸直接跨過PCIe結構,而無需通過主機。如果運行用於訓練Cifar10圖像分類算法的TensorFlow模型並使工作負載分布在全部四個GPU上,則可以將兩個GPU釋放回結構池中,將它們與主機解除綁定。這樣可以釋放其餘兩個GPU來執行其他工作負載。與Windows主機一樣,Linux主機也將交換網視為簡單的PCIe交換網,無需自定義驅動程序,而CUDA也可以發現GPU,並在Linux主機上運行P2P傳輸。性能類似於使用Windows主機實現的性能,如表1所示。
表1:GPU點對點傳輸帶寬

下一步是將SR-IOV虛擬功能連接到Windows主機,PAX將此類功能以標準物理NVM設備的形式提供,以便主機可以使用標準NVMe驅動程序。此後,虛擬功能將與Linux主機結合,並且新的NVMe設備將出現在模塊設備列表中。本實驗的結果是,兩個主機現在都可以獨立使用其虛擬功能。
務必注意的是,虛擬PCIe交換網和所有動態分配操作都以完全符合PCIeguifandefangshichengxiangeizhuji,yibianzhujinenggoushiyongbiaozhunqudongchengxu。qianrushijiaohuanwanggujiantigongleyigejiandandeguanlijiekou,zheyangbianketongguochengbendiliandewaibuchuliqilaipeizhiheguanliPCIe結構。設備點對點事務默認情況下處於使能狀態,不需要外部結構管理器進行額外配置或管理。
總結
PCIe交換網結構是一種能夠充分利用CPU巨大性能的絕佳方法,但PCIe標準本身存在一些障礙。不過,可以通過使用動態分區和多主機單根I/O虛擬化共享技術來解決這些難題,以便可以將GPU和NVMe資源實時動態分配給多主機係統中的任何主機,從而滿足機器學習工作負載不斷變化的需求。
(來源:Microchip Technology Inc.,作者:固件工程技術顧問 Vincent Haché)
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請電話或者郵箱聯係小編進行侵刪。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 具身智能成最大亮點!CITE 2026開幕峰會釋放產業強信號
- 助力醫療器械產業高質量發展 派克漢尼汾閃耀2026 ICMD
- 比異步時鍾更隱蔽的“芯片殺手”——跨複位域(RDC)問題
- 數據之外:液冷技術背後的連接器創新
- “眼在手上”的嵌入式實踐:基於ROS2與RK3576的機械臂跟隨抓取方案
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Energy Micro
EPB
ept
ESC
ESD
ESD保護
ESD保護器件
ESD器件
Eurotect
Exar
Fairhild
FFC連接器
Flash
FPC連接器
FPGA
Fujitsu
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT



