SigmaX がリアルタイムのデータ管理ソリューションを導入

SigmaX は、データ管理スタックをインテル® FPGA およびオープン FPGA スタック (OFS) と組み合わせることで、セントラル・ブローカーに生成されるデータの効率を大幅に改善しました。

概要

  • SigmaX は、データ・インジェストから消費者への非常に高速なエンドツーエンドのデータフローを開発しており、それによってほぼリアルタイムの意思決定が可能です。

  • SigmaX は、インテル® Xeon® プロセッサー・ファミリー、Intel Agilex® FPGA、およびオープン FPGA スタック (OFS) を使用した Apache オープンソース・ソフトウェアを拡張および高速化します。

  • SigmaX は、CPU のみのアプローチと比較して、FPGA ベースのアクセラレーションで、レイテンシーの削減とデータ・インジェストの増加を実現します。

author-image

投稿者:

エグゼクティブ・サマリー

SigmaX は、エンタープライズ・データ管理の大規模な問題を解決する最新の課題に取り組んでいます。顧客は、オープンソースの Apache ソフトウェアおよびオープン FPGA スタック (OFS) などのFPGA 開発リソースを使用するため、ベンダーロックインの義務がないデータ管理ソリューションの恩恵を受けることができます。FPGA アクセラレーション搭載の SigmaX ソリューションにより、データは驚くほど高速に流れ、ユーザーはほぼリアルタイムで意思決定を行うことができます。

 

  • SigmaX データ・フロー・ソリューションは、Apache Pulsar および Apache Arrow ベースでレイテンシーを 100 分の 1 に削減1
  • Apache Pulsar のみを使用した場合、ストリーミングについて Kafka を使用した競合製品と比較すると、SigmaX のベンチマークは即座に 250% の速度向上を達成1
  • Apache Pulsar と Apaqche Arrow の統合によってスループットが 20 倍向上し、数千のノードにスケール可能1

背景および課題

データ・ブローカーは、イベントストリーミング・データの集合であり、パブリック、プライベート、またはその両方をサブスクリプションとして提供します。データ・ブローカーは、公開データを処理、クリーニング、構造化し、そのデータをほかのビジネスまたはビジネス内の消費者に提供します。データ・プロデューサーは、ユーザー・インターフェイス、サービス、またはエッジおよび Internet of Things (IoT) デバイスに関わらず、データのルートソースを指します。数百万ものデータ・プロデューサーが同時に情報をデータ・ブローカーに送信できます。消費者は、処理、クリーニング、構造化が終了した後、データ・ブローカーから最新のデータを取得できます。これらのデータ・ブローカーは、数千までスケールアップでき、膨大な量のデータを並列処理できます。5G、自動運転車、予測メンテナンス、その他のエッジ・コンピューティングおよび転送プラットフォームなどの業界は、何千ものデータ・ブローカーおよびプロデューサーにスケールできる、拡大し続けるデータセットに取り組んでいます。

これらの業界ではしばしば、実環境の速度で意思決定を行い、ほぼ同時に反応することが重要になります。自動運転車業界だけでも、1 時間当たり 4TB から最大 40TB のデータを生成すると推定されています。データ処理におけるこの莫大な需要に加えて、これまで活用されていなかった CPU、GPU、並列処理におけるパフォーマンスの進歩により、新しいタイプのデータ構造とデータ表現形式も登場しています。

Apache Arrow は、言語に依存しない標準ソフトウェア・フレームワークで、標準的な列指向型メモリー形式を作成し、すべてのウォールクロックで 80% の節約を実現し、データ分析の速度を向上させるために一般的に使用されます。これはエッジ、IoT、大規模アプリケーションにおけるセンサーによって生成される大きなデータセットで頻繁に使用されます。Apache Arrow は、列指向型データ構造の利点と、CPU、GPU、FPGA がデータのコピーまたは移動なくプラットフォーム全体でシームレスかつ効率的にデータ共有できるインメモリー・コンピューティングを兼ね備えています。

Apache ソフトウェアや OFS、SigmaX などのオープンソース・ツールとともにヘテロジニアス処理を活用することにより、インテル® Xeon® プロセッサーのみを使用してスケールした場合と比較して、JSON から Apache Arrow へのデータ形式の変換を 100 分の 1 のレイテンシーと 20 倍のデータ・インジェスト率に改善するソリューションを提供します。

ソリューション

SigmaX は、データ管理スタックをインテル® FPGA およびオープン FPGA スタック (OFS) と組み合わせることで、セントラル・ブローカーに生成されるデータの効率を大幅に改善しました。以下は、SigmaX ソリューションの内訳です。

ステップ 1: Bolson がセンサーデータを Apache Arrow 形式に変換

JSON センサーのデータは、まずオープンソース OSF インフラストラクチャーを使用してIntel Agilex® FPGA で実行される Bolson によって受信されます。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 は、このデータ管理ワークロードをインテル® テクノロジー搭載ハードウェアを使用して検証しました。SigmaX のオープンソース・スタックは、クライアント・アプリケーションで実行されるインテル® Xeon® プロセッサーと、Intel Agilex® FPGA 搭載の Hitek Systems HiPrAcc* NC100 ボードを使用して Bolson を実行します。

HiPrAcc NC100 ボードは、OFS と oneAPI の両方で有効です。OFS は、FPGA 開発者がカスタム FPGA ベースのワークロードとアプリケーションを構築できる重要な基礎ツールです。FPGA ベースの開発をすぐに開始するために必要なすべてのハードウェアおよびソフトウェアのソースコード、ドキュメント、リファレンス例、およびツールを提供します。OFS のソフトウェアおよびハードウェア・コードは、GitHub 上のオープンソースです。

結果:

SigmaX のデータ管理ワークロードは、2 つの主要なインテル® テクノロジーであるIntel Agilex® FPGA および OFS を使用して、Apache Arrow へのデータ変換を高速化します。FPGA アクセラレーションと OFS を使用することで、SigmaX のデータ変換ワークロードは 100 倍高速化し、20 倍多くのデータを処理します1。このデータ管理ワークロードは、ヘルスケア、保険、5G、予測メンテナンスなど、幅広いアプリケーションに適用できます。

SigmaX は、OFS が開発を開始するために必要なすべてのハードウェアおよびソフトウェアのソースコード、ドキュメント、リファレンス例、ツールを提供したことで、FPGA で高速化されたワークロードを作成できました。これにより、詳細な FPGA の操作は必要ありませんでした。

SigmaX、CEO、ロバート・モロー

オープン FPGA スタックを使用した FPGA アクセラレーションの開始方法:

FPGA 開発者は、幅広いカスタム OFS、インテル提供の OFS、またはサードパーティの OFS 対応ボードを選択して、オープンソースのドキュメントとソースコードを使用し、カスタム・ワークロードの構築を開始できます。

次の表は、開発者がインテルが提供するボードまたはサードパーティーのボードを使用して、FPGA ベースのワークロード開発を開始する方法を説明しています。

  インテルのボードの使用 エコシステム・ボードの使用
ステップ 1: ボードを選択

OFS リファレンス・プラットフォームを使用する

リファレンス・プラットフォームは、評価または立ち上げを迅速化できますが、必須ではありません。

カスタムまたはサードパーティーのボードを使用する

OFS ボードのカタログを参照して、利用可能なボードを確認します。

ステップ 2: OFS オープンソース・リソースを評価 技術的なドキュメントは GitHub で見つけることができます。 ボードのベンダーが対応する OFS の技術文書を提供します。
ステップ 3: オープンソースのハードウェアおよびソフトウェアのコードにアクセス GitHub (OFS) で入手可能な、提供された OFS ソフトウェアおよびハードウェアのコードを変更または使用します。 ボードのベンダーが対応する OFS ソフトウェア / ハードウェア・コードを提供します。
ステップ 4: RTL または C/C++ を使用したワークロードを開発 (oneAPI を使用)

OFS RTL フローに従う、

または

OFS が oneAPI カーネルのコンパイルを可能にします。oneAPI 開発フローを使用して、FPGA ワークロードを C/C++ で構築します。

注:

1「Tens of gigabytes per second JSON-to-Arrow conversion with FPGA accelerators」で公開されている数値。IEEE Xplore (2021年12月) ieeexplore.ieee.org/documents/9609833

テスト構成: デシリアライズされたデータを Apache Arrow の列指向型インメモリー形式のホストメモリーに書き込む、JSON 解析向けの FPGA アクセラレーター設計。5 つのステージで構成されています: JSON のドキュメントを受信、JSON ドキュメントを解析して、データをArrow RecordBatch にデシリアライズ、Arrow RecordBatch のサイズを変更、Arrow RecordBatch を Arrow IPC メッセージにシリアライズ、IPC メッセージを Pulsar のトピックに Pulsar ブローカーを介してパブリッシュ。すべての実装で最大 8 バイトを使用します。これは、200MHz で実行した場合、各パーサーのピーク時の理論的入力スループットが 1.6GBps になります。