BittWare提供FPGA加速解決方案,以實現(xiàn)基本的硬件卸載(壓縮、去重復(fù)化等),加上特定應(yīng)用的算法,如使用FPGA進行推理的機器學(xué)習(xí)應(yīng)用。這種以與NVMe相匹配的性能水平對存儲進行基本和高級加速的組合就是我們所說的計算存儲。我們的250系列產(chǎn)品,包括250S+、250-SoC和250-U2,都專注于這個市場。
NVMe聯(lián)盟推出了一個名為NVMe over Fabrics(NVMe-oF)的協(xié)議變體,以利用NVMe在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施上的優(yōu)勢。隨著數(shù)據(jù)中心不斷擴大內(nèi)部NVMe存儲,遠程用戶可以使用NVMe-oF以很少的開銷訪問分類存儲(Gibb,2018)。這需要在硬件中實現(xiàn)專門的網(wǎng)絡(luò)堆棧,以保持NVMe的低延遲和高帶寬優(yōu)勢。
我們的解決方案在250-SoC板上使用了FPGA與片上ARM處理器Xilinx Zynq MPSoC。FPGA作為NVMe-oF控制器,在使用片上處理器時,從CPU中卸載,甚至與CPU解耦。我們通過在FGPA邏輯中完全實現(xiàn)NVMe數(shù)據(jù)平面,包括網(wǎng)絡(luò)協(xié)議棧,提供低延遲和高帶寬。ARM內(nèi)核在設(shè)計中是為了使用軟件來處理控制平面,其中延遲和帶寬問題較少。本應(yīng)用說明介紹了如何將BittWare 250-SoC配置為JBOF中的NVMe-oF控制器。
什么是NVMe over Fabrics?
NVMe-oF協(xié)議使用高速SSD技術(shù),并將其擴展到本地服務(wù)器或數(shù)據(jù)中心之外。
NVMe-oF允許應(yīng)用開發(fā)者訪問網(wǎng)絡(luò)結(jié)構(gòu)上的遠程存儲節(jié)點,如光纖通道、InfiniBand、通過聚合以太網(wǎng)(RoCE)的RDMA(遠程直接內(nèi)存訪問)、iWARP和最近的TCP/IP,同時保持較低的延遲(通常對于一個由100個NVMe驅(qū)動器組成的集群來說,延遲在10us之間,對于大型集群來說,延遲在100微秒之間)。簡而言之,一個NVMe-oF事務(wù)涉及一個主機和一個目標(biāo);目標(biāo)是服務(wù)器在網(wǎng)絡(luò)上暴露NVMe塊存儲設(shè)備,供主機服務(wù)器訪問(Davis,2018)。使用RDMA,主機-目標(biāo)數(shù)據(jù)傳輸可以在沒有CPU處理事務(wù)的情況下進行,相反,專用的RNIC在資源之間傳遞數(shù)據(jù),對計算資源的影響很小,因為NIC中的部分硬件管理網(wǎng)絡(luò)堆棧的傳輸層。
為什么NVMe-oF要用FPGA?
當(dāng)你決定將NVMe-OF卸載到PCIe卡上時,你基本上有三種選擇。
首先,你可以使用ASIC實現(xiàn),這將是成本最低、延遲最低的選擇。然而ASIC不允許你也卸載“計算存儲”算法。ASIC一般也只適用于最流行的網(wǎng)絡(luò)帶寬,很少有最高帶寬的。
其次,你可以使用核數(shù)較多的系統(tǒng)級芯片,這樣就可以增加“計算存儲”算法。但是,這樣做需要并行編程能力。最終的解決方案一般是這里選擇中延遲最高的,這直接違背了NVMe的低延遲價值主張。和ASIC一樣,這些MPP SOC一般只適用于最流行的網(wǎng)絡(luò)帶寬,而這些帶寬很少是最高帶寬。
第三,你可以使用FPGA。這種方案可以讓你在保持類似ASIC的延遲的同時,增加“計算存儲”算法。這種方案還可以實現(xiàn)100甚至400Gb等高帶寬網(wǎng)絡(luò)。雖然它可能是三個選項中最昂貴的,但當(dāng)你考慮到存儲市場所涉及的數(shù)量時,成本差異只會變得略高。
自適應(yīng)存儲
通過利用FPGA和SoC等技術(shù),數(shù)據(jù)中心架構(gòu)師可以進一步減少數(shù)據(jù)密集型操作中數(shù)據(jù)到/從CPU的移動。通過硬件驅(qū)動的加速,用戶應(yīng)用表現(xiàn)出更高的性能和更低的響應(yīng)時間。隨著空閑CPU周期數(shù)的增加,分配工作負載的進程可以更高效地利用專用硬件和CPU的混合系統(tǒng)架構(gòu)。FPGA結(jié)構(gòu)、其IO吞吐量和編程靈活性有利于設(shè)計與高帶寬NVMe存儲緊密耦合的可重構(gòu)硬件。FPGA特別適用于壓縮、加密、RAID和擦除代碼、數(shù)據(jù)重復(fù)數(shù)據(jù)刪除、鍵值卸載、數(shù)據(jù)庫查詢卸載、視頻處理或NVMe虛擬化等。FPGA硬件提供了專用解決方案的性能,但也具有可重新配置的優(yōu)勢,可隨著數(shù)據(jù)中心需求的變化而快速切換用途。
使用Xilinx MPSoC實現(xiàn)NVMe-oF目標(biāo)
BittWare 250-SoC采用Xilinx UltraScale+ Zynq ZU19EG MPSoC,既可以通過兩個QSFP28端口連接到網(wǎng)絡(luò)結(jié)構(gòu),也可以通過一個16線主機接口或四個8線OCuLink連接器連接到PCIe結(jié)構(gòu)。這款MPSoC適配器是驅(qū)動NVMe-oF目標(biāo)節(jié)點的完美平臺,因為它結(jié)合了FPGA結(jié)構(gòu)(也稱為PL或可編程邏輯)中的數(shù)據(jù)流計算、網(wǎng)絡(luò)IO、PCIe連接和板載ARM處理器。請注意,ARM不在數(shù)據(jù)平面,它處理控制平面的工作。在CPU和存儲端點之間放置一個專用的硬件加速器,可以創(chuàng)建一個優(yōu)化的系統(tǒng),使計算更接近數(shù)據(jù)。
硬件
為了演示NVMe-oF,BittWare將250-SoC放置在JBOF(Just-A-Bunch-Of-Flash)機箱內(nèi),機箱內(nèi)填充了多個NVMe U.2驅(qū)動器,并將250-SoC板的QSFP28端口暴露在網(wǎng)絡(luò)中。Celestica Euclid JBOF具有兩個帶PCIe交換機和PCIe插槽的插入式刀片;每個抽屜作為網(wǎng)絡(luò)結(jié)構(gòu)和NVMe存儲之間的管道。NVMe數(shù)據(jù)包從QSFP28端口中轉(zhuǎn)到FPGA結(jié)構(gòu),然后經(jīng)過PCIe主機接口、JBOF的PCIe交換機,最后到達NVMe驅(qū)動器。在本實施例中,沒有使用250-SoC OCuLink連接器,但在不同的硬件平臺上,它們可以容納本設(shè)計的有線版本,其中PCIe事務(wù)將通過電纜運行。
Gateware
該設(shè)計實現(xiàn)了RoCE v2的NVMe-oF目標(biāo)(符合NVMe 1.2和NVMe-oF 1.0規(guī)范),它支持顯式擁塞管理。針對MPSoC的IP使用了多個Xilinx IP庫塊,所有的數(shù)據(jù)平面都通過運行在200MHz的512位AXI總線互連。Xilinx Embedded RDMA NIC處理100Gb/s的網(wǎng)絡(luò)流量,而PCIe根復(fù)合IP核則管理與16線PCIe 3.0接口的連接,連接到驅(qū)動多達24個驅(qū)動器的JBOF電路,DMA核則控制AXI總線上的高速數(shù)據(jù)傳輸。此外,NVMe-oF目標(biāo)核通過100Gb/s數(shù)據(jù)路徑管理多達256個隊列,而運行在四核A53 ARM處理器上的固件則處理存儲節(jié)點的高層管理。
最大限度地提高性能
MPSoC PL可以容納數(shù)據(jù)路徑的最大帶寬。因此,為了展示整個系統(tǒng)的最大能力,主機必須產(chǎn)生盡可能接近100Gb/s的網(wǎng)絡(luò)流量。為了進行基準(zhǔn)測試,幾臺NVMe-oF主機連接到網(wǎng)絡(luò)交換機,然后交換機可以將最大數(shù)據(jù)吞吐量饋送到JBOF中運行NVMe-oF目標(biāo)的250-SoC MPSoC卡。這個參考設(shè)計顯示出約2.5 MIOPS的隨機讀取性能和超過1.1M的隨機寫入性能,同時顯示出105 us的應(yīng)用延遲。
可重構(gòu)硬件解決方案的優(yōu)勢
基于MPSoC的NVMe-oF解決方案與軟件(CPU+外部網(wǎng)卡+SPDK)或RNIC解決方案(CPU+集成網(wǎng)卡)相比,有幾個優(yōu)勢。如果說基于MPSoC的解決方案與其他產(chǎn)品相比具有相對較高的成本和功耗,那么從帶寬、可配置性和延遲的角度來看,這種技術(shù)就會優(yōu)于競爭對手。同樣,對于RNIC解決方案來說,MPSoC NVMe-oF將使網(wǎng)絡(luò)接口的吞吐量達到飽和。然而,MPSoC硬件實現(xiàn)提供了其他解決方案所不具備的靈活性和適應(yīng)性水平。因此,這種自適應(yīng)硬件可以針對特定領(lǐng)域的應(yīng)用,允許系統(tǒng)架構(gòu)師將客戶定義的功能(RAID或隨著規(guī)格的發(fā)展而出現(xiàn)的新的NVMe功能)與主IP相結(jié)合,并增強整體系統(tǒng)的功能集。另一種選擇是添加自定義加速器,例如加密或壓縮,將兩種功能結(jié)合在一個盒子里。最后,解決方案提供商可以創(chuàng)建針對特定用途優(yōu)化的特定應(yīng)用硬件產(chǎn)品,如視頻處理(例如視頻編解碼器)或人工智能工作負載。通過將存儲管理等IT功能與通常由昂貴的計算節(jié)點執(zhí)行的任務(wù)相結(jié)合,CPU可以從執(zhí)行高帶寬IO傳輸中解脫出來,并被重新用于更多的計算關(guān)鍵操作。從延遲的角度來看,基于MPSoC的解決方案比CPU驅(qū)動的替代方案提供了低和可預(yù)測的延遲。
結(jié)論
隨著NVMe在過去幾年的成熟,它為NVMe-oF鋪平了道路,現(xiàn)在NVMe-oF為分列式存儲環(huán)境提供了與NVMe類似的優(yōu)勢(Weaver,2019)。該技術(shù)提高了計算和存儲節(jié)點的利用率,同時提高了數(shù)據(jù)中心的敏捷性和性能(Waever,2019)。NVMe-oF允許開發(fā)人員以新穎的方式瞄準(zhǔn)應(yīng)用,例如,需要在龐大的數(shù)據(jù)集(幾百s PB)上隨機讀取的AI工作負載將顯著受益于這項技術(shù)(Hemsoth,2019)。FPGA和MPSoC在NVMe-oF協(xié)議之上提供了額外的創(chuàng)新層;這些器件中的可編程邏輯允許設(shè)計系統(tǒng)架構(gòu),可以處理高帶寬數(shù)據(jù)傳輸、低延遲,同時還可以保持可配置的優(yōu)化或特定應(yīng)用的定制。BittWare提供一系列NVMe加速選項,包括NVMe-oF--請與我們聯(lián)系,了解更多信息。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19435瀏覽量
231306 -
FPGA
+關(guān)注
關(guān)注
1630文章
21801瀏覽量
606351 -
控制器
+關(guān)注
關(guān)注
112文章
16464瀏覽量
179610
發(fā)布評論請先 登錄
相關(guān)推薦
評論