新聞中心

EEPW首頁 > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > PCIe結(jié)構(gòu)和RAID如何在GPUDirect存儲(chǔ)中釋放全部潛能

PCIe結(jié)構(gòu)和RAID如何在GPUDirect存儲(chǔ)中釋放全部潛能

作者:Microchip技術(shù)工程師 Wilson Kwong; Microchip產(chǎn)品營(yíng)銷經(jīng)理 Sandeep Dattaprasad 時(shí)間:2023-01-05 來源:電子產(chǎn)品世界 收藏

隨著更快的圖形處理單元(GPU)能夠提供明顯更高的計(jì)算能力,存儲(chǔ)設(shè)備和GPU存儲(chǔ)器之間的數(shù)據(jù)路徑瓶頸已經(jīng)無法實(shí)現(xiàn)最佳應(yīng)用程序性能。NVIDIAMagnum IO GPUDirect存儲(chǔ)解決方案通過在存儲(chǔ)設(shè)備和GPU存儲(chǔ)器之間實(shí)現(xiàn)直接路徑,可以極大地幫助解決該問題。然而,同等重要的是要使用容錯(cuò)系統(tǒng)來優(yōu)化其已經(jīng)非常出色的能力,從而確保在發(fā)生災(zāi)難性故障時(shí)備份關(guān)鍵數(shù)據(jù)。該解決方案通過?結(jié)構(gòu)連接邏輯卷,在 4.0規(guī)范下,這可以將數(shù)據(jù)速率提高到26 GB/s。為了解如何實(shí)現(xiàn)這些優(yōu)勢(shì),首先需要檢查該解決方案的關(guān)鍵組件及其如何協(xié)同工作來提供結(jié)果。 

本文引用地址:http://www.butianyuan.cn/article/202301/442400.htm

Magnum IO GPUDirect存儲(chǔ) 

Magnum IO GPUDirect存儲(chǔ)解決方案的關(guān)鍵優(yōu)勢(shì)是其能夠消除主要性能瓶頸之一,方法是不使用CPU中的系統(tǒng)存儲(chǔ)器將數(shù)據(jù)從存儲(chǔ)設(shè)備加載到GPU中進(jìn)行處理。通常將數(shù)據(jù)移動(dòng)到主機(jī)存儲(chǔ)器并傳送到GPU,這依賴于CPU系統(tǒng)存儲(chǔ)器中的回彈緩沖區(qū),在數(shù)據(jù)傳送到GPU之前,會(huì)在其中創(chuàng)建數(shù)據(jù)的多個(gè)副本。但是,通過這種路徑移動(dòng)大量數(shù)據(jù)會(huì)產(chǎn)生延遲時(shí)間,降低GPU性能,并在主機(jī)中占用許多CPU周期。借助Magnum IO GPUDirect存儲(chǔ)解決方案,無需訪問CPU并避免了回彈緩沖區(qū)效率低下(1)。 

1672905505896699.png

1. Magnum IO GPUDirect存儲(chǔ)解決方案無需訪問CPU,避免了從數(shù)據(jù)路徑回彈緩沖 

性能直接隨著傳送數(shù)據(jù)量的增加而提高,傳送數(shù)據(jù)量則隨著人工智能(AI)、機(jī)器學(xué)習(xí)(ML)、深度學(xué)習(xí)(DL)和其他數(shù)據(jù)密集型應(yīng)用所需的大型分布式數(shù)據(jù)集呈指數(shù)級(jí)增長(zhǎng)。當(dāng)數(shù)據(jù)在本地存儲(chǔ)或遠(yuǎn)程存儲(chǔ)時(shí),可以實(shí)現(xiàn)這些優(yōu)勢(shì),從而允許以比CPU存儲(chǔ)器中的頁面緩存更快的速度訪問數(shù)拍字節(jié)的遠(yuǎn)程存儲(chǔ)。 

優(yōu)化性能 

該解決方案中的下一個(gè)元素是包括功能,用于保持?jǐn)?shù)據(jù)冗余和容錯(cuò)能力。雖然軟件RAID可以提供數(shù)據(jù)冗余,但底層軟件RAID引擎仍然使用精簡(jiǎn)指令集計(jì)算機(jī)(RISC)架構(gòu)進(jìn)行操作,例如奇偶校驗(yàn)計(jì)算。當(dāng)比較高級(jí)RAID級(jí)別(例如RAID 5RAID 6)的寫I/O延遲時(shí)間時(shí),硬件RAID仍然比軟件RAID快得多,因?yàn)樘峁┝藢S锰幚砥鱽韴?zhí)行這些操作和回寫高速緩存。在流傳輸應(yīng)用中,軟件RIAD的長(zhǎng)期RIAD響應(yīng)時(shí)間會(huì)導(dǎo)致數(shù)據(jù)堆積在高速緩存中。硬件RAID解決方案不存在緩存數(shù)據(jù)堆積問題,并且具有專門的備用電池,可以防止出現(xiàn)災(zāi)難性系統(tǒng)掉電時(shí)數(shù)據(jù)丟失的情況。 

標(biāo)準(zhǔn)硬件RAID雖然減輕了主機(jī)的奇偶校驗(yàn)管理負(fù)擔(dān),但大量數(shù)據(jù)仍需經(jīng)過RAID控制器才能發(fā)送到NVMe?驅(qū)動(dòng)器,導(dǎo)致數(shù)據(jù)路徑更加復(fù)雜。針對(duì)此問題的解決方案是NVMe優(yōu)化的硬件RAID,該解決方案提供了簡(jiǎn)化的數(shù)據(jù)路徑,無需經(jīng)過固件或RAID片上控制器即可傳送數(shù)據(jù)。它還允許維護(hù)基于硬件的保護(hù)和加密服務(wù)。 

混合結(jié)構(gòu) 

PCIe Gen 4現(xiàn)在是存儲(chǔ)子系統(tǒng)內(nèi)的基本系統(tǒng)互連接口,但標(biāo)準(zhǔn)PCIe交換網(wǎng)具有與前幾代相同的基于樹的基本層級(jí)。這意味著,主機(jī)間通信需要非透明橋接(NTB)來實(shí)現(xiàn)跨分區(qū)通信,這使其變得復(fù)雜,特別是在多主機(jī)多交換網(wǎng)配置中。MicrochipPAX PCIe高級(jí)結(jié)構(gòu)交換網(wǎng)等解決方案能夠克服這些限制,因?yàn)樗鼈冎С秩哂嗦窂胶脱h(huán),而這是使用傳統(tǒng)PCIe無法實(shí)現(xiàn)的。 

結(jié)構(gòu)交換網(wǎng)具有兩個(gè)獨(dú)立的域,主機(jī)虛擬域(專用于每個(gè)物理主機(jī))和結(jié)構(gòu)域(包含所有端點(diǎn)和結(jié)構(gòu)鏈路)。來自主機(jī)域的事務(wù)會(huì)在結(jié)構(gòu)域中轉(zhuǎn)換為ID和地址,反之,結(jié)構(gòu)域中通信的非分層路由也是如此。這樣,系統(tǒng)中的所有主機(jī)便可共享連接到交換網(wǎng)和端點(diǎn)的結(jié)構(gòu)鏈路。 

在嵌入式CPU上運(yùn)行的結(jié)構(gòu)固件通過可配置的下行端口數(shù)虛擬化符合PCIe標(biāo)準(zhǔn)的交換網(wǎng)。因此,交換網(wǎng)將始終顯示為具有直連端點(diǎn)的標(biāo)準(zhǔn)單層PCIe設(shè)備,而與這些端點(diǎn)在結(jié)構(gòu)中的位置無關(guān)。由于結(jié)構(gòu)交換網(wǎng)會(huì)攔截來自主機(jī)的所有配置平面通信(包括PCIe枚舉過程)并選擇最佳路徑,因此它可以實(shí)現(xiàn)這一點(diǎn)。這樣,GPU等端點(diǎn)便可綁定到域中的任何主機(jī)(圖2)。 

image.png

2. 交換網(wǎng)固件虛擬化的主機(jī)域顯示為每個(gè)主機(jī)符合PCIe標(biāo)準(zhǔn)的單層交換網(wǎng) 

在以下示例(3)中,我們給出了雙主機(jī)PCIe結(jié)構(gòu)引擎設(shè)置。此處,我們可以看到,結(jié)構(gòu)虛擬化允許每個(gè)主機(jī)看到一個(gè)透明PCIe拓?fù)?,其中包含一個(gè)上行端口、三個(gè)下行端口和三個(gè)連接到它們的端點(diǎn),并且主機(jī)可以正確枚舉它們。3中的有趣之處是具有一個(gè)包含兩個(gè)虛擬功能的SR-IOV SSD,通過MicrochipPCIe高級(jí)結(jié)構(gòu)交換網(wǎng),同一驅(qū)動(dòng)器的虛擬功能可以共享給不同的主機(jī)。 

1672905557246133.png

3. 雙主機(jī)PCIe?結(jié)構(gòu)引擎 

這種PAX結(jié)構(gòu)交換網(wǎng)解決方案還支持在各結(jié)構(gòu)之間直接跨域點(diǎn)對(duì)點(diǎn)傳輸,因此可減少根端口阻塞并進(jìn)一步緩解CPU性能瓶頸,如4所示。 

image.png

4. 通過結(jié)構(gòu)路由通信,可減少根端口阻塞 

性能優(yōu)化 

在探索了NVMe驅(qū)動(dòng)器和GPU之間數(shù)據(jù)傳輸?shù)男阅軆?yōu)化過程中涉及的所有組件之后,現(xiàn)在可以結(jié)合使用這些組件來實(shí)現(xiàn)預(yù)期的結(jié)果。說明這一點(diǎn)的最佳方式是利用圖示演示各個(gè)步驟,5顯示了主機(jī)CPU及其根端口以及可實(shí)現(xiàn)最佳結(jié)果的各種配置。 

5左側(cè)所示,盡管使用的是高性能NVMe控制器,但由于根端口的開銷,PCI Gen 4 x 44.5 GB/s)的最大數(shù)據(jù)速率也限制為3.5 GB/s。不過,通過RAID(邏輯卷)同時(shí)聚合多個(gè)驅(qū)動(dòng)器(如右側(cè)所示),SmartRAID控制器可為四個(gè)NVMe驅(qū)動(dòng)器各創(chuàng)建兩個(gè)RAID卷,并通過根端口創(chuàng)建傳統(tǒng)PCIe點(diǎn)對(duì)點(diǎn)路由。這會(huì)將數(shù)據(jù)速率提高到9.5 GB/s。 

但是,利用跨域點(diǎn)對(duì)點(diǎn)傳輸(底部的圖),可以通過結(jié)構(gòu)鏈路而不是根端口來路由通信,從而實(shí)現(xiàn)26 GB/s的速率,這是使用SmartROC 3200 RAID控制器可達(dá)到的最高速率。在最后一個(gè)場(chǎng)景中,交換網(wǎng)提供不受固件影響的直接數(shù)據(jù)路徑,并且仍然保持基于硬件的RAID保護(hù)和加密服務(wù),同時(shí)充分利用GPUDirect存儲(chǔ)的全部潛能。

image.png  1672905635976487.png

5. 實(shí)現(xiàn)26 GB/s的路徑

總結(jié) 

高性能PCIe結(jié)構(gòu)交換網(wǎng)(例如MicrochipPAX)允許多主機(jī)共享支持單根I/O虛擬化(SR-IOV)的驅(qū)動(dòng)器,以及動(dòng)態(tài)劃分可在多個(gè)主機(jī)之間共享的GPUNVMe SSD池。MicrochipPAX結(jié)構(gòu)交換網(wǎng)可以將端點(diǎn)資源動(dòng)態(tài)重新分配給需要這些資源的任何主機(jī)。 

這種解決方案還使用了SmartROC 3200 RAID控制器系列支持的SmartPQI驅(qū)動(dòng)程序,因此無需自定義驅(qū)動(dòng)程序。MicrochipSmartROC 3200 RAID控制器是目前惟一能夠提供最高傳輸速率(即26 GB/s)的設(shè)備。它具有極低的延遲時(shí)間,可向主機(jī)提供最多16個(gè)PCIe Gen 4通道,并向后兼容PCIe Gen 2。與Microchip基于Flashtec?系列的NVMe SSD結(jié)合使用時(shí),可在多主機(jī)系統(tǒng)中發(fā)揮PCIeMagnum IO GPUDirect存儲(chǔ)的全部潛能。總體而言,上述所有特性使其能夠構(gòu)建一種強(qiáng)大的系統(tǒng),該系統(tǒng)可以滿足AIML、DL以及其他高性能計(jì)算應(yīng)用的實(shí)時(shí)需求。



關(guān)鍵詞: PCIe RAID GPUDirect存儲(chǔ)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉