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