0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用BittWare FPGA解決方案構(gòu)建NVMe Over Fabrics

安立路 ? 來(lái)源:安立路 ? 作者:安立路 ? 2022-08-02 08:03 ? 次閱讀

BittWare提供FPGA加速解決方案,以實(shí)現(xiàn)基本的硬件卸載(壓縮、去重復(fù)化等),加上特定應(yīng)用的算法,如使用FPGA進(jìn)行推理的機(jī)器學(xué)習(xí)應(yīng)用。這種以與NVMe相匹配的性能水平對(duì)存儲(chǔ)進(jìn)行基本和高級(jí)加速的組合就是我們所說(shuō)的計(jì)算存儲(chǔ)。我們的250系列產(chǎn)品,包括250S+、250-SoC和250-U2,都專注于這個(gè)市場(chǎng)。

NVMe聯(lián)盟推出了一個(gè)名為NVMe over Fabrics(NVMe-oF)的協(xié)議變體,以利用NVMe在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施上的優(yōu)勢(shì)。隨著數(shù)據(jù)中心不斷擴(kuò)大內(nèi)部NVMe存儲(chǔ),遠(yuǎn)程用戶可以使用NVMe-oF以很少的開銷訪問(wèn)分類存儲(chǔ)(Gibb,2018)。這需要在硬件中實(shí)現(xiàn)專門的網(wǎng)絡(luò)堆棧,以保持NVMe的低延遲和高帶寬優(yōu)勢(shì)。

我們的解決方案在250-SoC板上使用了FPGA與片上ARM處理器Xilinx Zynq MPSoC。FPGA作為NVMe-oF控制器,在使用片上處理器時(shí),從CPU中卸載,甚至與CPU解耦。我們通過(guò)在FGPA邏輯中完全實(shí)現(xiàn)NVMe數(shù)據(jù)平面,包括網(wǎng)絡(luò)協(xié)議棧,提供低延遲和高帶寬。ARM內(nèi)核在設(shè)計(jì)中是為了使用軟件來(lái)處理控制平面,其中延遲和帶寬問(wèn)題較少。本應(yīng)用說(shuō)明介紹了如何將BittWare 250-SoC配置為JBOF中的NVMe-oF控制器。

什么是NVMe over Fabrics?

NVMe-oF協(xié)議使用高速SSD技術(shù),并將其擴(kuò)展到本地服務(wù)器或數(shù)據(jù)中心之外。

NVMe-oF允許應(yīng)用開發(fā)者訪問(wèn)網(wǎng)絡(luò)結(jié)構(gòu)上的遠(yuǎn)程存儲(chǔ)節(jié)點(diǎn),如光纖通道、InfiniBand、通過(guò)聚合以太網(wǎng)(RoCE)的RDMA(遠(yuǎn)程直接內(nèi)存訪問(wèn))、iWARP和最近的TCP/IP,同時(shí)保持較低的延遲(通常對(duì)于一個(gè)由100個(gè)NVMe驅(qū)動(dòng)器組成的集群來(lái)說(shuō),延遲在10us之間,對(duì)于大型集群來(lái)說(shuō),延遲在100微秒之間)。簡(jiǎn)而言之,一個(gè)NVMe-oF事務(wù)涉及一個(gè)主機(jī)和一個(gè)目標(biāo);目標(biāo)是服務(wù)器在網(wǎng)絡(luò)上暴露NVMe塊存儲(chǔ)設(shè)備,供主機(jī)服務(wù)器訪問(wèn)(Davis,2018)。使用RDMA,主機(jī)-目標(biāo)數(shù)據(jù)傳輸可以在沒(méi)有CPU處理事務(wù)的情況下進(jìn)行,相反,專用的RNIC在資源之間傳遞數(shù)據(jù),對(duì)計(jì)算資源的影響很小,因?yàn)镹IC中的部分硬件管理網(wǎng)絡(luò)堆棧的傳輸層。

為什么NVMe-oF要用FPGA?

當(dāng)你決定將NVMe-OF卸載到PCIe卡上時(shí),你基本上有三種選擇。

首先,你可以使用ASIC實(shí)現(xiàn),這將是成本最低、延遲最低的選擇。然而ASIC不允許你也卸載“計(jì)算存儲(chǔ)”算法。ASIC一般也只適用于最流行的網(wǎng)絡(luò)帶寬,很少有最高帶寬的。

其次,你可以使用核數(shù)較多的系統(tǒng)級(jí)芯片,這樣就可以增加“計(jì)算存儲(chǔ)”算法。但是,這樣做需要并行編程能力。最終的解決方案一般是這里選擇中延遲最高的,這直接違背了NVMe的低延遲價(jià)值主張。和ASIC一樣,這些MPP SOC一般只適用于最流行的網(wǎng)絡(luò)帶寬,而這些帶寬很少是最高帶寬。

第三,你可以使用FPGA。這種方案可以讓你在保持類似ASIC的延遲的同時(shí),增加“計(jì)算存儲(chǔ)”算法。這種方案還可以實(shí)現(xiàn)100甚至400Gb等高帶寬網(wǎng)絡(luò)。雖然它可能是三個(gè)選項(xiàng)中最昂貴的,但當(dāng)你考慮到存儲(chǔ)市場(chǎng)所涉及的數(shù)量時(shí),成本差異只會(huì)變得略高。

自適應(yīng)存儲(chǔ)

通過(guò)利用FPGA和SoC等技術(shù),數(shù)據(jù)中心架構(gòu)師可以進(jìn)一步減少數(shù)據(jù)密集型操作中數(shù)據(jù)到/從CPU的移動(dòng)。通過(guò)硬件驅(qū)動(dòng)的加速,用戶應(yīng)用表現(xiàn)出更高的性能和更低的響應(yīng)時(shí)間。隨著空閑CPU周期數(shù)的增加,分配工作負(fù)載的進(jìn)程可以更高效地利用專用硬件和CPU的混合系統(tǒng)架構(gòu)。FPGA結(jié)構(gòu)、其IO吞吐量和編程靈活性有利于設(shè)計(jì)與高帶寬NVMe存儲(chǔ)緊密耦合的可重構(gòu)硬件。FPGA特別適用于壓縮、加密、RAID和擦除代碼、數(shù)據(jù)重復(fù)數(shù)據(jù)刪除、鍵值卸載、數(shù)據(jù)庫(kù)查詢卸載、視頻處理或NVMe虛擬化等。FPGA硬件提供了專用解決方案的性能,但也具有可重新配置的優(yōu)勢(shì),可隨著數(shù)據(jù)中心需求的變化而快速切換用途。

使用Xilinx MPSoC實(shí)現(xiàn)NVMe-oF目標(biāo)

BittWare 250-SoC采用Xilinx UltraScale+ Zynq ZU19EG MPSoC,既可以通過(guò)兩個(gè)QSFP28端口連接到網(wǎng)絡(luò)結(jié)構(gòu),也可以通過(guò)一個(gè)16線主機(jī)接口或四個(gè)8線OCuLink連接器連接到PCIe結(jié)構(gòu)。這款MPSoC適配器是驅(qū)動(dòng)NVMe-oF目標(biāo)節(jié)點(diǎn)的完美平臺(tái),因?yàn)樗Y(jié)合了FPGA結(jié)構(gòu)(也稱為PL或可編程邏輯)中的數(shù)據(jù)流計(jì)算、網(wǎng)絡(luò)IO、PCIe連接和板載ARM處理器。請(qǐng)注意,ARM不在數(shù)據(jù)平面,它處理控制平面的工作。在CPU和存儲(chǔ)端點(diǎn)之間放置一個(gè)專用的硬件加速器,可以創(chuàng)建一個(gè)優(yōu)化的系統(tǒng),使計(jì)算更接近數(shù)據(jù)。

硬件

為了演示NVMe-oF,BittWare將250-SoC放置在JBOF(Just-A-Bunch-Of-Flash)機(jī)箱內(nèi),機(jī)箱內(nèi)填充了多個(gè)NVMe U.2驅(qū)動(dòng)器,并將250-SoC板的QSFP28端口暴露在網(wǎng)絡(luò)中。Celestica Euclid JBOF具有兩個(gè)帶PCIe交換機(jī)和PCIe插槽的插入式刀片;每個(gè)抽屜作為網(wǎng)絡(luò)結(jié)構(gòu)和NVMe存儲(chǔ)之間的管道。NVMe數(shù)據(jù)包從QSFP28端口中轉(zhuǎn)到FPGA結(jié)構(gòu),然后經(jīng)過(guò)PCIe主機(jī)接口、JBOF的PCIe交換機(jī),最后到達(dá)NVMe驅(qū)動(dòng)器。在本實(shí)施例中,沒(méi)有使用250-SoC OCuLink連接器,但在不同的硬件平臺(tái)上,它們可以容納本設(shè)計(jì)的有線版本,其中PCIe事務(wù)將通過(guò)電纜運(yùn)行。

Gateware

該設(shè)計(jì)實(shí)現(xiàn)了RoCE v2的NVMe-oF目標(biāo)(符合NVMe 1.2和NVMe-oF 1.0規(guī)范),它支持顯式擁塞管理。針對(duì)MPSoC的IP使用了多個(gè)Xilinx IP庫(kù)塊,所有的數(shù)據(jù)平面都通過(guò)運(yùn)行在200MHz的512位AXI總線互連。Xilinx Embedded RDMA NIC處理100Gb/s的網(wǎng)絡(luò)流量,而PCIe根復(fù)合IP核則管理與16線PCIe 3.0接口的連接,連接到驅(qū)動(dòng)多達(dá)24個(gè)驅(qū)動(dòng)器的JBOF電路,DMA核則控制AXI總線上的高速數(shù)據(jù)傳輸。此外,NVMe-oF目標(biāo)核通過(guò)100Gb/s數(shù)據(jù)路徑管理多達(dá)256個(gè)隊(duì)列,而運(yùn)行在四核A53 ARM處理器上的固件則處理存儲(chǔ)節(jié)點(diǎn)的高層管理。

最大限度地提高性能

MPSoC PL可以容納數(shù)據(jù)路徑的最大帶寬。因此,為了展示整個(gè)系統(tǒng)的最大能力,主機(jī)必須產(chǎn)生盡可能接近100Gb/s的網(wǎng)絡(luò)流量。為了進(jìn)行基準(zhǔn)測(cè)試,幾臺(tái)NVMe-oF主機(jī)連接到網(wǎng)絡(luò)交換機(jī),然后交換機(jī)可以將最大數(shù)據(jù)吞吐量饋送到JBOF中運(yùn)行NVMe-oF目標(biāo)的250-SoC MPSoC卡。這個(gè)參考設(shè)計(jì)顯示出約2.5 MIOPS的隨機(jī)讀取性能和超過(guò)1.1M的隨機(jī)寫入性能,同時(shí)顯示出105 us的應(yīng)用延遲。

可重構(gòu)硬件解決方案的優(yōu)勢(shì)

基于MPSoC的NVMe-oF解決方案與軟件(CPU+外部網(wǎng)卡+SPDK)或RNIC解決方案(CPU+集成網(wǎng)卡)相比,有幾個(gè)優(yōu)勢(shì)。如果說(shuō)基于MPSoC的解決方案與其他產(chǎn)品相比具有相對(duì)較高的成本和功耗,那么從帶寬、可配置性和延遲的角度來(lái)看,這種技術(shù)就會(huì)優(yōu)于競(jìng)爭(zhēng)對(duì)手。同樣,對(duì)于RNIC解決方案來(lái)說(shuō),MPSoC NVMe-oF將使網(wǎng)絡(luò)接口的吞吐量達(dá)到飽和。然而,MPSoC硬件實(shí)現(xiàn)提供了其他解決方案所不具備的靈活性和適應(yīng)性水平。因此,這種自適應(yīng)硬件可以針對(duì)特定領(lǐng)域的應(yīng)用,允許系統(tǒng)架構(gòu)師將客戶定義的功能(RAID或隨著規(guī)格的發(fā)展而出現(xiàn)的新的NVMe功能)與主IP相結(jié)合,并增強(qiáng)整體系統(tǒng)的功能集。另一種選擇是添加自定義加速器,例如加密或壓縮,將兩種功能結(jié)合在一個(gè)盒子里。最后,解決方案提供商可以創(chuàng)建針對(duì)特定用途優(yōu)化的特定應(yīng)用硬件產(chǎn)品,如視頻處理(例如視頻編解碼器)或人工智能工作負(fù)載。通過(guò)將存儲(chǔ)管理等IT功能與通常由昂貴的計(jì)算節(jié)點(diǎn)執(zhí)行的任務(wù)相結(jié)合,CPU可以從執(zhí)行高帶寬IO傳輸中解脫出來(lái),并被重新用于更多的計(jì)算關(guān)鍵操作。從延遲的角度來(lái)看,基于MPSoC的解決方案比CPU驅(qū)動(dòng)的替代方案提供了低和可預(yù)測(cè)的延遲。

結(jié)論

隨著NVMe在過(guò)去幾年的成熟,它為NVMe-oF鋪平了道路,現(xiàn)在NVMe-oF為分列式存儲(chǔ)環(huán)境提供了與NVMe類似的優(yōu)勢(shì)(Weaver,2019)。該技術(shù)提高了計(jì)算和存儲(chǔ)節(jié)點(diǎn)的利用率,同時(shí)提高了數(shù)據(jù)中心的敏捷性和性能(Waever,2019)。NVMe-oF允許開發(fā)人員以新穎的方式瞄準(zhǔn)應(yīng)用,例如,需要在龐大的數(shù)據(jù)集(幾百s PB)上隨機(jī)讀取的AI工作負(fù)載將顯著受益于這項(xiàng)技術(shù)(Hemsoth,2019)。FPGA和MPSoC在NVMe-oF協(xié)議之上提供了額外的創(chuàng)新層;這些器件中的可編程邏輯允許設(shè)計(jì)系統(tǒng)架構(gòu),可以處理高帶寬數(shù)據(jù)傳輸、低延遲,同時(shí)還可以保持可配置的優(yōu)化或特定應(yīng)用的定制。BittWare提供一系列NVMe加速選項(xiàng),包括NVMe-oF--請(qǐng)與我們聯(lián)系,了解更多信息

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19293

    瀏覽量

    229977
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21744

    瀏覽量

    603669
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16376

    瀏覽量

    178231
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA加速的NVMe存儲(chǔ)解決方案

    實(shí)現(xiàn)新的產(chǎn)品和服務(wù)。本應(yīng)用說(shuō)明介紹了BittWare支持FPGA和MPSoC的250系列加速器產(chǎn)品如何用于讓客戶為下一代物聯(lián)網(wǎng)和云基礎(chǔ)設(shè)施構(gòu)建高性能、可擴(kuò)展的NVMe基礎(chǔ)架構(gòu)。
    發(fā)表于 08-02 08:03 ?3815次閱讀
    <b class='flag-5'>FPGA</b>加速的<b class='flag-5'>NVMe</b>存儲(chǔ)<b class='flag-5'>解決方案</b>

    如何用MRAM和NVMe SSD構(gòu)建未來(lái)的云存儲(chǔ)的解決方案

    在2019全球閃存峰會(huì)上,Everspin作為全球MRAM存儲(chǔ)芯片龍頭分享如何用MRAM這類非易失性存儲(chǔ)和NVMe SSD構(gòu)建未來(lái)的云存儲(chǔ)的解決方案。
    發(fā)表于 01-11 06:44

    Marvell推出NVMe-oF以太網(wǎng)SSD技術(shù)和新一代SSD控制器解決方案

    Marvell(NASDAQ:MRVL)今日宣布擴(kuò)展其革命性的NVMe over Fabrics?(NVMe-oF?)產(chǎn)品組合。這些突破性的解決方案
    的頭像 發(fā)表于 08-19 01:19 ?4893次閱讀

    如何選擇合適的NVMe-over-Fabrics方案

    NVMe作為一種SCSI的替代型協(xié)議,其目的在于實(shí)現(xiàn)低延遲運(yùn)行。目前市場(chǎng)上主要的服務(wù)器和存儲(chǔ)供應(yīng)商都采用了該協(xié)議,用來(lái)替代固態(tài)硬盤 (SSD)訪問(wèn)過(guò)程中的SCSI協(xié)議。采用NVMe協(xié)議后
    發(fā)表于 10-08 09:43 ?1917次閱讀
    如何選擇合適的<b class='flag-5'>NVMe-over-Fabrics</b><b class='flag-5'>方案</b>

    Solarflare公司正在推廣使用基于以太網(wǎng)的NVMe-over-Fabrics

    Solarflare聲稱,使用以太網(wǎng)的NVMe-over-TCP為IT部門提供了與iWARP和RoCE相同的高帶寬、低延遲性能,并且每年可以把1億個(gè)以太網(wǎng)端口的90%傳輸?shù)剿麄兊臄?shù)據(jù)中心。
    的頭像 發(fā)表于 06-12 09:56 ?2950次閱讀

    貿(mào)澤電子與BittWare簽訂全球分銷協(xié)議

    貿(mào)澤將開售采用英特爾?和Xilinx? FPGA技術(shù)的BittWare高端板卡級(jí)解決方案
    的頭像 發(fā)表于 10-14 14:44 ?2967次閱讀

    華為端到端NVMe over RoCE增強(qiáng)方案亮相,打造高性能算力的高速公路

    華為企業(yè)存儲(chǔ)領(lǐng)域總經(jīng)理廖成帶來(lái)了《激發(fā)全閃存澎湃新動(dòng)力,加速端到端NVMe over RoCEv2方案成熟商用》的分享,廖成指出NVMe over
    的頭像 發(fā)表于 11-27 16:00 ?5648次閱讀

    NVMe over Fabrics的優(yōu)勢(shì)是什么?

    NVMe- oF從字面上來(lái)看是網(wǎng)絡(luò)上的NVMe協(xié)議的擴(kuò)展,其擴(kuò)展范圍遠(yuǎn)遠(yuǎn)超出了目前搭載SSD的服務(wù)器。NVMe早在2011年就出現(xiàn)了,而fabrics擴(kuò)展則在2016年首次標(biāo)準(zhǔn)化。
    的頭像 發(fā)表于 01-14 09:12 ?5319次閱讀

    基于英特爾?AGILEX? FPGA和SOC FPGABittWare加速“雙星”發(fā)布

    BittWare 在之前發(fā)布的 IA-840F 企業(yè)級(jí) FPGA 加速器中添加了兩款基于英特爾 Agilex FPGA 和 SoC FPGA 的新加速器產(chǎn)品(詳見此前報(bào)道)。 全新的
    的頭像 發(fā)表于 06-30 10:48 ?2315次閱讀

    BittWare合作者及創(chuàng)新者的生態(tài)系統(tǒng)為基于FPGA解決方案降低創(chuàng)新風(fēng)險(xiǎn)

    將全新的IP和解決方案BittWare的計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)和傳感器處理加速器產(chǎn)品相結(jié)合,得以降低風(fēng)險(xiǎn),同時(shí)縮短上市時(shí)間 合作伙伴可充分利用FPGA的優(yōu)勢(shì)進(jìn)行高性能應(yīng)用,包括ML/AI、
    的頭像 發(fā)表于 05-12 09:57 ?2398次閱讀

    構(gòu)建BittWare的數(shù)據(jù)包解析器

    BittWare的SmartNIC Shell和BittWare的Loopback Example的功能之一是一個(gè)數(shù)據(jù)包解析器/分類器,它可以從數(shù)據(jù)包中提取協(xié)議字段。通過(guò)這篇白皮書,我們不僅要描述我們的Parser,還要解釋如何使用HLS來(lái)
    的頭像 發(fā)表于 08-02 08:03 ?932次閱讀
    <b class='flag-5'>構(gòu)建</b><b class='flag-5'>BittWare</b>的數(shù)據(jù)包解析器

    在ZCU102評(píng)估套件上實(shí)現(xiàn)NVMe SSD接口的解決方案

    器件系列提供了解決方案。NVMeG3-IP 的設(shè)計(jì)目標(biāo)是在不使用 CPU 的情況下,以最低的 FPGA 資源使用量實(shí)現(xiàn) NVMe SSD 訪問(wèn)的最高性能。它非常適合不使用 CPU 的高性能
    的頭像 發(fā)表于 11-28 15:37 ?2114次閱讀

    端到端NVMe解決方案簡(jiǎn)介

    電子發(fā)燒友網(wǎng)站提供《端到端NVMe解決方案簡(jiǎn)介.pdf》資料免費(fèi)下載
    發(fā)表于 08-17 09:59 ?0次下載
    端到端<b class='flag-5'>NVMe</b><b class='flag-5'>解決方案</b>簡(jiǎn)介

    Bittware提供開放式FPGA堆棧和支持英特爾?oneAPI的加速卡

    通過(guò)使用開放式 FPGA 堆棧 (OFS) ,BittWare 在其 FPGA 解決方案上提供對(duì) oneAPI 的支持。
    的頭像 發(fā)表于 03-29 14:57 ?616次閱讀
    <b class='flag-5'>Bittware</b>提供開放式<b class='flag-5'>FPGA</b>堆棧和支持英特爾?oneAPI的加速卡

    存儲(chǔ)技術(shù)未來(lái)演進(jìn):NVMe over Fabrics (NVMeoF)

    眾所周知,NVMe 是一個(gè)邏輯設(shè)備接口規(guī)范,NVM代表非易失性存儲(chǔ)器(Non-Volatile Memory)的首字母縮略字,是固態(tài)硬盤(SSD)的常見的閃存形式。SSD 通常分為兩類接口:SATA
    的頭像 發(fā)表于 11-16 10:44 ?687次閱讀
    存儲(chǔ)技術(shù)未來(lái)演進(jìn):<b class='flag-5'>NVMe</b> <b class='flag-5'>over</b> <b class='flag-5'>Fabrics</b> (NVMeoF)