移動算法 而非巨量數(shù)據(jù)
機器學習神經網絡進步使我們能夠處理越來越大量儲存資料。傳統(tǒng)方法是將數(shù)據(jù)傳輸?shù)剿惴ㄔO備,但是這種移動巨量數(shù)據(jù)(高達 1 PB)以供可能只有幾十兆位元算法來進行處理真的有意義嗎?因此,在靠近數(shù)據(jù)儲存位置處理數(shù)據(jù)的想法引起了很多關注。本文研究了計算儲存理論和實踐,以及如何使用計算儲存處理器 (CSP) 為許多計算密集型任務提供硬件加速和更高性能,而不會給主機處理器帶來大量負擔。
數(shù)據(jù)集崛起
近年來,神經網絡算法在汽車、工業(yè)、安全和消費等應用中使用顯著增加。基于邊緣物聯(lián)網傳感器通常只處理少量數(shù)據(jù),因此所使用算法占用很少代碼空間。然而,伴隨微控制器處理能力提高和功耗降低,機器學習算法在邊緣應用中使用開始呈指數(shù)級增長。卷積神經網絡用于視覺處理以及工業(yè)和汽車應用中對象檢測。例如,視覺處理系統(tǒng)可用于檢測標簽是否正確貼在高速工業(yè)生產線的瓶子上。
視覺系統(tǒng)還適用于更復雜任務,例如根據(jù)對象類型、條件和大小對物體進行分類。在汽車應用中,使用實時視覺系統(tǒng)進行多物體分類和識別能夠更充分利用神經網絡。除了具體市場應用外,神經網絡也可用于科學研究。例如,它可廣泛用于處理由分布在全球各地遙感衛(wèi)星和地震監(jiān)測傳感器收集的大量資料。
在大多數(shù)應用中,機器學習用于增加正確觀察和分類對象概率。然而,為此目的的訓練算法需要大型數(shù)據(jù)集(高達 PB),這些數(shù)據(jù)集移動、處理和儲存都具有非常大挑戰(zhàn)性。
計算儲存
近年來,基于NAND閃存普及程度快速增長,這種技術不再局限于高端儲存,還可用于一般商品固態(tài)儲存,一個典型用例是正在取代筆記本電腦和桌面計算機中的磁盤驅動器。固態(tài)儲存普及,加上NVMe協(xié)議興起(支持更高帶寬、更低延遲和更高儲存密度)以及 PCIe 連接帶來的更高數(shù)據(jù)速率,為我們提供了重新思考如何使用儲存和計算資源方法的機會。
圖一 : 具有計算和儲存平面的傳統(tǒng)計算架構。(source:BittWare)
圖一所示傳統(tǒng)方法可在計算平面和儲存平面之間移動數(shù)據(jù)。計算資源用于數(shù)據(jù)傳輸、處理、壓縮和解壓縮以及許多其他系統(tǒng)相關任務。所有這些任務的組合對可用資源造成沉重負擔。
圖二 : 計算儲存架構。(source:BittWare)
圖二所示計算儲存架構是一種更有效方法。它透過使用硬件加速器(通常在FPGA 上)來執(zhí)行計算密集型任務。將 NVMe 閃存靠近并連接到硬件加速器,CPU 不再需要將數(shù)據(jù)從其儲存位置移動到處理位置附近,從而顯著降低運行負擔。如圖三所示,F(xiàn)PGA在其中扮演計算儲存處理器角色,從而能夠減輕 CPU 處理壓縮、加密或神經網絡推理等計算密集型任務負擔。
圖三 : 計算儲存處理器 (CSP)。(source:BittWare)
基于 FPGA 的計算儲存處理器
計算儲存處理器的一個例子是 BittWare IA-220-U2,它采用 Intel Agilex FPGA(具有多達 140 萬個邏輯組件、多達 16GB DDR4 內存和四個 PCIe Gen4 接口)。 DDR4 SDRAM 能夠以高達 2,400 MT/s 速率傳輸數(shù)據(jù),它使用符合 SFF-8639 標準的 2.5 英寸 U.2 封裝和對流冷卻散熱器,能夠整合到 U.2 NVMe 儲存數(shù)組,如圖 4 所示。
圖四 : BittWare IA220-U2。(source: BittWare)
BittWare IA-220-U2通常消耗 20W功率,并支持熱插入,它具有板載 NVMe-MI且兼容 SMBus 控制器、SMBus FPGA 閃存控制功能以及 SMBus 訪問板載電壓和溫度監(jiān)測傳感器,可理想適用于企業(yè) IT 和數(shù)據(jù)中心等應用。BittWare IA-220-U2 功能方塊圖和主要特性如圖 5 所示。
圖五 : BittWare IA-220-U2 功能方塊圖和特性。(source:BittWare)
IA-220-U2 設計用于在大容量應用中執(zhí)行各種加速任務,包括算法推理、壓縮、加密和散列(hashing)、影像搜索和數(shù)據(jù)庫分類以及重復數(shù)據(jù)刪除等。
使用 BittWare IA-220-U2 實現(xiàn) CSP
BittWare IA -220-U2 可以使用 Eideticom 的 NoLoad IP 作為預配置解決方案提供。或者,它可以為客制化應用進行使用者程序設計。
透過提供包含 PCIe 驅動器、電路板監(jiān)控設備以及電路板庫的 SDK,BittWare可用來支持客制開發(fā)??梢允褂肐ntel Quartus Prime Pro 和高級綜合工具鏈以及設計流程來執(zhí)行 FPGA 應用開發(fā)。
圖六 : Eideticom NoLoad IP 硬件特性。(來源:BittWare)
Eideticom 的 NoLoad IP 包括一個預配置即插即用解決方案,該解決方案采用基于 BittWare U.2 模塊的整合軟件堆棧,還提供一組硬件加速計算儲存服務 (CSS),在圖 6 中以橙色突出顯示。
圖七 : Eideticom 的 NoLoad IP 軟件堆棧。(source:BittWare)
圖七 展示了 NoLoad IP 軟件組件,其中包括內核空間堆棧文件系統(tǒng)和使用 NoLoad CSS 的 NVMe 驅動器,以及面向具體應用的使用者空間 Libnoload。
Eideticom NoLoad CPU 不可知解決方案卸除功能將服務質量 (QoS) 提高了 40 倍,并還有較低擁有成本和更低功耗優(yōu)勢。
卸除計算密集型任務可提高通量
使用基于 NVMe 計算儲存架構可在大型數(shù)據(jù)處理應用中提供更高性能并使用更少功率。這種架構透過使用基于 FPGA 的計算儲存處理器來執(zhí)行計算密集型任務,降低了將資料從儲存點傳輸?shù)教幚砥鳎ú⒎祷兀┑囊蟆T?NVMe NAND 閃存數(shù)組上處理點附近儲存數(shù)據(jù)可以節(jié)省能源,同時還可以減少延遲和所需帶寬。
評論