BittWare合作夥伴IP

查詢處理單元 (QPU)

構建 FPGA 驅動的加速器,以 PCIe Gen4 的速度查詢、分析或重新格式化存儲或流數據!

IA-420f PCIe卡
Eideticom 標誌

Eideticom的查詢處理單元(QPU)針對資料庫使用者或任何流數據(如網路數據包)的人,他們需要在硬體中以低延遲完成查詢,分析或格式轉換。任務可以並行化以滿足任何頻寬需求,並與其他 NoLoad® 函數(如壓縮)混合使用。

基於 NoLoad® 框架構建

作為Eideticom的NoLoad計算存儲框架的一部分,QPU可以與Eideticom的其他計算存儲IP進行管道連接,例如壓縮,解壓縮糾刪碼和重複數據刪除。

軟體驅動設計

為了減輕硬體工程師參與指定 QPU 參數的負擔,使用者使用片上處理器定義功能。這為高級工具提供了易用性,並減輕了主主機 CPU 的負擔。

QPU 包括用於格式轉換(文字到二進位)或標準驅動的資料庫功能的功能。使用者在軟體中設計他們的功能組合,不需要基於硬體的工具。QPU 將支援一系列資料庫工具的本機加速,因為這些軟體包將支援基於標準的計算存儲。

查詢

使用軟體定義的搜索和篩選參數執行數據查詢。

分析

對流數據(如網路數據包標頭或 SSD 儲存上的數據)進行篩選、模式匹配和分析。

格式化

文本/二進位數據的有效重新格式化或其他格式轉換。

演示視頻

Eideticom的工程副總裁Sean Gibb在5GB CSV檔上演示了查詢處理單元

QPU Demo 輸出縮圖
 

這是Eideticom工程副總裁Sean Gibb。在本視頻中,我們將演示如何使用Eideticom的查詢處理單元(QPU)來格式化和過濾以逗號分隔文本格式存儲的股票行情數據。

Eideticom的QPU中的嵌入式處理器是使用C或C++進行軟體程式設計的,允許您動態程式設計過濾功能。

除了嵌入式處理器之外,嵌入式軟體還提供易於使用的高輸送量硬體協處理器(執行數據包捕獲分析、從文本到二進位格式的轉換以及簡單過濾等常見任務),以加速查詢工作負載。

在此範例中,我們使用文本到二進位格式化程式將CSV轉換為二進位數據,執行運行時可配置的硬體篩檢程式(過濾掉特定的股票代碼和低交易量交易),然後執行軟體過濾器以刪除當天收盤價低於開盤價的所有交易。

我們使用GCC編譯器編譯軟體,以生成一個可執行檔,我們可以通過軟體堆疊將其載入到嵌入式處理器中。載入軟體后,我們通過查詢引擎運行 5GB 的 CSV 數據,過濾所有數量超過 1000 萬的 Microsoft 股票。

您可以在此處看到,單個查詢引擎能夠承受 2GB/s 的文字輸入。我們可以平鋪多個查詢引擎,並且藉助Eideticom的軟體堆棧,使用相同的主機軟體使FPGA卡的PCIe介面飽和。

這隻是Eideticom的軟體可程式設計,硬體加速QPU可以為您做的一個例子。

軟體定義 + 可擴展以滿足您的頻寬要求

查詢處理單元在FPGA上運行的軟體中定義(使用軟或硬處理器),無需低級配置工程資源。

QPU是模組化的,允許放置一個或多個單元以滿足特定的頻寬要求。QPU 實例可以配合,例如,在需要協調跨越兩個單元的數據的情況下,通過八個 QPU 進行分散式文件轉換。

QPU如何在NoLoad®內部工作,部署在BittWare的IA-220-U2模組或IA-420F卡上

查詢引擎-整體圖

基於Eideticom的 NoLoad® Computational Storage Framework構建

查詢處理單元是 NoLoad 框架的一個元件。橙色壓縮等元件是使用者使用軟體定義方法構建其特定應用程式的地方。

例如,可以將壓縮等元件添加到 QPU,以便在移動到 SSD 儲存之前壓縮過濾後的數據。

所示的所有加速器功能均在FPGA硬體中實現,可實現 高頻寬、低延遲和CPU卸載

空載 CSP 框圖

用例

金融科技的捕獲+分析引擎

構建高性能的軟體定義數據包捕獲和分析引擎

此實際範例使用查詢處理單元作為數據包處理計算機,以及壓縮引擎(另一個 NoLoad® IP 內核)。數據包使用點對點傳輸被壓縮並寫入 SSD 陣列,而 QPU 還提取標頭(網路元組)數據以及一些分析,例如每個時間段的數據包計數。分析以 CSV 數據的形式發送到主機。

性能優勢

與多線程英特爾至強 CPU 相比,資料庫查詢處理單元的執行方式如下所示。

平均數據包大小中央處理器1×查詢引擎2×量化寬鬆4×量化寬鬆
256B0.2 千兆位元組/秒1.8 千兆位元組/秒3.6 千兆位元組/秒7.2 千兆位元組/秒
1024B0.7 千兆位元組/秒2.0 千兆位元組/秒4.0 千兆位元組/秒8.0 千兆位元組/秒
4096B1.9 千兆位元組/秒2.0 千兆位元組/秒4.0 千兆位元組/秒8.0 千兆位元組/秒
9216B2.7 千兆位元組/秒2.0 千兆位元組/秒4.0 千兆位元組/秒8.0 千兆位元組/秒
查詢引擎數據包捕獲用例說明
來自主機的數據包通過PCIe移動到BittWare IA-220-U2或IA-420F,以便使用NoLoad® 框架和IP進行FPGA處理。

用例

資料庫查詢加速

加速資料庫查詢等

在資料庫加速配置中,查詢處理單元可以執行從 CPU 卸載到數據類型格式轉換的一系列功能。

查詢引擎-資料庫用例說明
NoLoad™ 軟體堆疊將資料庫數據傳入/傳出加速器和存儲

相容的 FPGA 卡

查詢處理單元針對採用英特爾敏捷 FPGA 的 BittWare 卡。

對定價或更多資訊感興趣?

我們的技術銷售團隊隨時準備提供可用性和配置資訊,或回答您的技術問題。