SigmaX 部署即時資料管理解決方案

SigmaX 將資料管理堆疊與 Intel FPGA 和開放式 FPGA 堆疊(OFS)結合,大幅提高了中央代理產生資料的效率。

概覽

  • SigmaX 開發從資料擷取到消費者的超快端對端資料流,幾乎可以即時做出決策。

  • SigmaX 使用 Intel® Xeon® 處理器、Intel Agilex® FPGA 與開放式 FPGA 堆疊(OFS)擴展及加速 Apache 開源軟體。

  • 與只採用 CPU 的方法相比,SigmaX 採用 FPGA 技術加速,實現更低的延遲並提高資料擷取。

author-image

作者

總結

SigmaX 因應大規模解決企業資料管理問題的最新挑戰。由於使用開源 Apache 軟體和 FPGA 開發資源,例如開放式 FPGA 堆疊(OFS),客戶可以從資料管理解決方案中獲益,無需受到廠商鎖定的限制。採用 FPGA 加速的 SigmaX 解決方案可讓資料以超快的速度流動,以便使用者做出近乎即時的決策。

 

  • 基於 Apache Pulsar 和 Apache Arrow 的 SigmaX 資料流解決方案,將延遲減少 100 倍1
  • 相較於競爭品牌使用 Kafka,SigmaX 單獨使用 Apache Pulsar,評測基準的結果顯示直播速度快上 250%1
  • 將 Apache Pulsar 與 Apache Arrow 整合,輸送量提升 20 倍,可擴充至數千個節點1

背景與挑戰:

資料代理是事件串流資料的集合,可以是公共、私人或兩者兼而有之,以訂閲的方式提供服務。資料代理會處理、清理及結構化已發布的資料,並將資料提供給業務內的其他企業或消費者。資料生產者是指資料的根源,可以是使用者介面、服務或邊緣與物聯網(IoT)裝置。數以百萬計的資料生產者可以同時向資料代理傳送資訊。然後,消費者可以在資料經過處理、清理及結構化後,從資料代理那裡擷取最新的資料。這些資料代理可以擴充至數千個,同時處理大量資料。5G、自動駕駛車、預測性維護和其他邊緣運算與傳輸平台等產業,正著手因應這些日益龐大、可擴充至數千個資料代理與生產者的資料集。

在這些產業中,以現實世界的速度做出決策,並以近乎同步的方式做出回應往往是關鍵。據估計,光是自動駕駛車產業每小時就能產生 4 TB 至 40 TB 的資料。除了資料處理方面的巨大需求外,新型的資料結構與資料表示形式也應運而生,CPU、GPU 與並行處理方面的效能進展也有待開發利用。

Apache Arrow 是一種與語言無關的軟體架構,通常用於建立標準欄式記憶體格式,將經過時間節省 80%,進而提高資料分析的速度。此架構經常用於邊緣傳感器、物聯網與大規模應用程式產生的大型資料集。Apache Arrow 將欄式資料結構的優點與記憶體運算相結合,CPU、GPU與 FPGA 可以用來實現跨平台的順暢高效資料共享,無須複製或移動資料。

SigmaX 利用異質處理以及開源工具(例如 Apache 軟體與 OFS)提供解決方案,與單獨使用 Intel Xeon 處理器擴充相比,將資料格式從 JSON 轉換為 Apache Arrow 的延遲降低 100 倍,資料擷取速率提高 20 倍。

解決方案

SigmaX 將資料管理堆疊與 Intel FPGA 和 OFS 結合,大幅提高了中央代理產生資料的效率。以下是 SigmaX 解決方案的分解步驟:

步驟 1:Bolson 將感應器資料轉換為 Apache Arrow 格式

首先使用開源 OFS 基礎架構,在 Intel Agilex FPGA 執行的 Bolson 接收 JSON 感應器資料。然後,Bolson 將 JSON 感應器資料轉換成通用資料格式 Apache Arrow。將資料置於 Apache Arrow,代理的速度顯著提高,回應能力也大幅提升。因此,除了只採用 CPU 方法所帶來的好處之外,這個途徑也具有延遲和輸送量的優勢。

步驟 2:Apache Pulsar 處理及清理資料

然後,資料代理 Apache Pulsar 會接收 Apache Arrow 格式的訊息。Apache Pulsar 接收的資料可以直接進行運算。然後,Apache Pulsar 會處理、清理及重新結構化資料。

Apache Pulsar 是一個能與 Apache Kafka 媲美的分散式訊息與直播平台。然而,相較於 Apache Kafka ,此平台還可提供顯著優勢,例如運用地理複製等內建資料可靠性功能,進一步改善安全性、速度、延遲與效能。通常用於涉及高度複雜性的架構或即時資料需求的延遲敏感型應用程式。

步驟 3:資料代理將資訊傳輸給消費者

從代理委派後,資料會傳輸至訂閲的消費者應用程式。

SigmaX 已使用 Intel 技術硬體驗證這個資料管理工作負載。他們的開源堆疊使用執行於用戶端應用程式的 Intel Xeon 處理器,以及採用 Intel Agilex FPGA 的 Hitek Systems HiPrAcc* NC100 板件來執行 Bolson。

HiPrAcc NC100 板件同時支援 OFS 和 oneAPI。OFS 這項關鍵基礎工具可讓 FPGA 開發者量身訂做 FPGA 技術工作負載與應用程式。提供快速啟動 FPGA 技術開發所需的所有軟硬體原始程式碼、文件、參考範例與工具。OFS 的軟硬體程式碼在 GitHub 上開源。

結果:

SigmaX 的資料管理工作負載使用兩種關鍵的 Intel 技術(即 Intel Agilex FPGA 和 OFS),加速將資料轉換為 Apache Arrow。SigmaX 使用 FPGA 加速和 OFS,資料轉換工作負載速度提升了 100 倍,資料量增加了 20 倍1。這個資料管理工作負載可應用於廣泛的領域,包括醫療保健、保險業、5G、預測性維護等。

OFS 提供入門起步所需的所有軟硬體原始程式碼、文件、參考範例與工具,我們無須深入修改 FPGA 技術,就能建立 FPGA 加速的工作負載。

SigmaX 執行長 Robert Morrow

如何使用開放式 FPGA 堆疊著手進行 FPGA 加速:

FPGA 開發者可以從一系列自訂、由 Intel 提供或支援 OFS 的第三方板件中進行選擇,然後使用開源文件與原始程式碼開始建構自訂工作負載。

下表概述了開發者如何使用 Intel 提供的板件或第三方板件著手進行 FPGA 技術工作負載開發。

  使用 Intel 板件 使用生態系統板件
步驟 1:選取板件

使用 OFS 參考平台

參考平台可以加速評估或啓動速度,但並非必要。

使用自訂的或第三方板件

瀏覽 OFS 板件目錄,查看可用的板件。

步驟 2:評估 OFS 開源資源 可在 GitHub 上查看技術文件。 板件廠商會提供相應的 OFS 技術文件。
步驟 3:存取開源軟硬體程式碼 修改或使用在 GitHub(OFS)提供的 OFS 軟硬體程式碼。 板件廠商會提供相應的 OFS 軟硬體程式碼。
步驟 4:使用 RTL 或 C/C++(使用 oneAPI)開發工作負載

遵循 OFS RTL 流程

或是

OFS 支援編譯 oneAPI 核心。利用 oneAPI 開發流程,以 C/C++ 建置 FPGA 工作負載。

注意:

1發布於「使用 FPGA 加速器每秒轉換 JSON-Arrow 的 FPGA 加速器」的數字。IEEE Xplore。2021 年 12 月。 ieeexplore.ieee.org/documents/9609833

測試組態:設計用於 JSON 解析的 FPGA 加速器,將反序列化的資料以 Apache Arrow 欄式記憶體格式寫入主機記憶體。包含五個階段:接收 JSON 文件、解析 JSON 文件,並將資料反序列化為 Arrow RecordBatch、調整 Arrow RecordBatch 的大小、將 Arrow RecordBatch 序列化為 Arrow IPC 訊息、透過 Pulsar 代理將 IPC 訊息發布至 Pulsar 主題。所有實作最多使用八個位元組,這使得每個分析器在以 200 MHz執行時,理論輸入輸送量峰值為 1.6 GBps。