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