SigmaX setzt eine Echtzeit-Datenmanagementlösung ein

SigmaX hat die Effizienz der bei einem zentralen Broker produzierten Daten durch die Kopplung seines Datenmanagement-Stacks mit Intel FPGAs und Open FPGA Stack (OFS) deutlich verbessert.

Überblick

  • SigmaX entwickelt einen unglaublich schnellen End-to-End-Datenfluss von der Dateneinspeisung bis zum Verbraucher, wo Entscheidungen in nahezu Echtzeit getroffen werden können.

  • SigmaX erweitert und beschleunigt mit Intel® Xeon® Prozessoren, Intel Agilex® FPGAs und Open FPGA Stack (OFS) die quelloffene Software Apache.

  • SigmaX erreicht mit FPGA-basierter Beschleunigung im Vergleich zu einem rein CPU-basierten Ansatz eine geringere Latenz und eine erhöhte Dateneinspeisung.

author-image

Von

Kurzübersicht:

SigmaX meistert die neuesten Herausforderungen bei der Lösung von Datenmanagementproblemen in Unternehmen in großem Umfang. Durch die Verwendung von Open-Source-basierter Apache-Software und FPGA-Entwicklungsressourcen wie Open FPGA Stack (OFS) profitieren Kunden von einer Datenmanagementlösung ohne Anbieterbindung. Die SigmaX-Lösung mit FPGA-Beschleunigung ermöglicht einen Datenfluss mit unglaublich hohen Geschwindigkeiten, was es Benutzern ermöglicht, Entscheidungen in nahezu Echtzeit zu treffen.

 

  • Die auf Apache Pulsar und Apache Arrow basierende SigmaX-Datenflusslösung reduziert Latenz um den Faktor 100x1.
  • Mit Apache Pulsar allein erzielt SigmaX Benchmark-Ergebnisse mit einer sofortigen 250%igen Geschwindigkeitssteigerung beim Streaming im Vergleich zur Konkurrenz mit Kafka1.
  • Eine Integration von Apache Pulsar mit Apache Arrow führt zu einem 20-mal höheren Durchsatz, der auf Tausende von Knoten skalierbar ist1.

Hintergrund und Herausforderung:

Ein Datenbroker ist eine Sammlung von Ereignis-Streaming-Daten, die entweder öffentlich, privat oder beides sind und als Abonnements bereitgestellt werden. Der Datenbroker wird veröffentlichte Daten verarbeiten, bereinigen und strukturieren und die Daten dann anderen Unternehmen oder Verbrauchern im Unternehmen bereitstellen. Ein Datenproduzent bezieht sich auf die Stammdatenquelle, unabhängig davon, ob es sich um eine Benutzeroberfläche, einen Dienst bzw. ein Edge- oder IoT-Gerät handelt. Millionen von Datenproduzenten können gleichzeitig Informationen an Datenbroker senden. Verbraucher können dann aktuelle Daten vom Datenbroker abrufen, sobald sie verarbeitet, bereinigt und strukturiert wurden. Diese Datenbroker können bis auf Tausende skaliert werden und gleichzeitig immense Datenmengen verarbeiten. Branchen wie 5G, autonome Fahrzeuge, vorausschauende Wartung und andere Edge-Computing- und Transportplattformen bewältigen diese immer größeren Datenmengen, die sich auf Tausende von Datenbrokern und Produzenten skalieren lassen.

In diesen Branchen ist es oft entscheidend, Entscheidungen in Echtzeit zu treffen und fast gleichzeitig zu reagieren. Allein die Branche für autonome Fahrzeuge wird schätzungsweise zwischen 4 TB und 40 TB Daten pro Stunde generieren. Neben dieser enormen Nachfrage nach Datenverarbeitung sind auch neue Arten von Datenstrukturen und Formen der Datenrepräsentation entstanden, mit ungenutzten Leistungspotenzialen bei CPUs, GPUs und paralleler Verarbeitung.

Apache Arrow ist ein standardbasiertes, sprachunabhängiges Software-Framework, das üblicherweise dazu dient, die Geschwindigkeit von Datenanalysen zu verbessern, indem es ein standardmäßiges spaltenbasiertes Speicherformat bei allen Wanduhreinsparungen von 80 % entwickelt. Es wird häufig im Kontext großer Datenmengen verwendet, die von Sensoren am Netzwerkrand sowie in IoT- und großen Anwendungen generiert werden. Apache Arrow kombiniert die Vorteile spaltenbasierter Datenstrukturen mit In-Memory-Computing, das CPUs, GPUs und FPGAs nutzen können, um eine nahtlose und effiziente Datenfreigabe zwischen Plattformen zu ermöglichen, ohne dass Daten kopiert oder verschoben werden müssen.

Durch die Nutzung von heterogener Verarbeitung in Kombination mit Open-Source-Tools wie Apache-Software und OFS bietet SigmaX eine Lösung, die die Konvertierung von Datenformaten von JSON zu Apache Arrow im Vergleich zu einer Skalierung mit Intel Xeon Prozessoren allein mit 100-mal geringeren Latenzzeiten und 20-mal höheren Dateneingangsraten verbessert.

Lösung

SigmaX hat die Effizienz der bei einem zentralen Broker produzierten Daten durch die Kopplung seines Datenmanagement-Stacks mit Intel FPGAs und OFS deutlich verbessert. Im Folgenden finden Sie eine Aufschlüsselung der SigmaX-Lösung:

Schritt 1: Bolson konvertiert Sensordaten in das Apache Arrow-Format

JSON-Sensordaten werden zunächst von Bolson, das auf einem Intel Agilex FPGA unter Verwendung der Open-Source-OFS-Infrastruktur ausgeführt wird, empfangen. Anschließend konvertiert Bolson die JSON-Sensordaten in das universelle Datenformat Apache Arrow. Durch die Platzierung von Daten in Apache Arrow werden die Broker deutlich schneller und responsiver. Daher bietet dieser Weg neben den Vorteilen eines rein CPU-basierten Ansatzes auch Vorteile bei Latenz und Durchsatz.

Schritt 2: Apache Pulsar verarbeitet und bereinigt Daten

Der Datenbroker Apache Pulsar empfängt die Nachrichten dann im Apache Arrow-Format. Die von Apache Pulsar empfangenen Daten sind jetzt unverändert berechenbar. Apache Pulsar wird die Daten dann verarbeiten, bereinigen und neu strukturieren.

Apache Pulsar ist eine verteilte Messaging- und Streaming-Plattform, die mit Apache Kafka vergleichbar ist. Im Vergleich zu Apache Kafka bietet sie jedoch erhebliche Vorteile, wie beispielsweise verbesserte Sicherheit, Geschwindigkeit, Latenz und Leistung durch integrierte Datenzuverlässigkeitsfunktionen wie Geo-Replikation. Die Lösung wird häufig in latenzsensitiven Anwendungen verwendet, die hochkomplexe Schemas oder Echtzeit-Datenanforderungen umfassen.

Schritt 3: Der Datenbroker übermittelt Daten an den Verbraucher

Nach der Delegation durch den Broker werden die Daten dann an eine abonnierte Verbraucheranwendung übertragen.

SigmaX hat diese Datenmanagement-Workload mit auf Intel Technik basierender Hardware validiert. Der Open-Source-Stack verwendet Intel Xeon Prozessoren, die in der Client-Anwendung ausgeführt werden, und das HiPrAcc* NC100-Board von Hitek Systems, das auf einem Intel Agilex FPGA basiert, um Bolson auszuführen.

Das HiPrAcc NC100-Board unterstützt sowohl OFS als auch oneAPI. OFS ist ein wichtiges grundlegendes Tool, das es FPGA-Entwicklern ermöglicht, benutzerdefinierte FPGA-basierte Workloads und Anwendungen zu entwickeln. Es bietet den gesamten Hardware- und Software-Quellcode, Dokumentation, Referenzbeispiele und Tools, die für den schnellen Start der FPGA-basierten Entwicklung erforderlich sind. Der Software- und Hardware-Code für OFS in GitHub auf Open-Source-Basis verfügbar.

Ergebnisse:

Die Datenmanagement-Workload von SigmaX beschleunigt die Datenkonvertierung in Apache Arrow mit zwei wichtigen Intel Technologien: Intel Agilex FPGAs und OFS. Durch die Verwendung von FPGA-Beschleunigung und OFS ist die Datenkonvertierungs-Workload von SigmaX mit 20-mal mehr Daten 100-mal schneller1. Diese Datenmanagement-Workload kann für eine Vielzahl von Anwendungen wie Gesundheitswesen, Versicherungen, 5G, vorausschauende Wartung und mehr angewendet werden.

OFS hat uns die Entwicklung unserer FPGA-beschleunigten Workload ermöglicht, indem es den gesamten Hardware- und Software-Quellcode, die Dokumentation, Referenzbeispiele und Tools bereitgestellt hat, die wir für den Einstieg benötigten. Es war keine tiefgreifende FPGA-Bearbeitung erforderlich.

Robert Morrow, CEO, SigmaX

Wie man mit der FPGA-Beschleunigung unter Einsatz von Open FPGA Stack beginnt:

FPGA-Entwickler können aus einer Reihe von benutzerdefinierten, von Intel bereitgestellten Boards oder OFS-fähigen Boards von Drittanbietern wählen und die Open-Source-Dokumentation sowie den Quellcode nutzen, um mit der Entwicklung ihrer benutzerdefinierten Workload zu beginnen.

Die folgende Tabelle zeigt, wie Entwickler mit der Entwicklung der FPGA-basierten Workload beginnen können, indem sie entweder ein von Intel bereitgestelltes Board oder das Board eines Drittanbieters verwenden.

  Verwendung eines Intel Boards Verwendung eines Boards aus dem Technologieumfeld
Schritt 1: Wählen Sie ein Board

Verwenden Sie eine OFS-Referenzplattform

Referenzplattformen können die Evaluierung oder Entwicklung beschleunigen, sind aber nicht erforderlich.

Verwendung eines benutzerdefinierten Boards oder des Boards eines Drittanbieters

Durchsuchen Sie den OFS-Board-Katalog, um verfügbare Boards anzuzeigen.

Schritt 2: Evaluieren Sie OFS-Open-Source-Ressourcen Die technische Dokumentation ist bei GitHub verfügbar. Der Board-Anbieter wird die entsprechende technische OFS-Dokumentation bereitstellen.
Schritt 3: Greifen Sie auf Open-Source-Hardware- und Softwarecode zu Ändern oder verwenden Sie den bereitgestellten OFS-Software- und Hardware-Code, der bei GitHub (OFS) verfügbar ist. Der Board-Anbieter wird den entsprechenden OFS-Software-/Hardware-Code bereitstellen.
Schritt 4: Entwickeln Sie Ihre Workload mit RTL oder C/C++ (unter Einsatz von oneAPI)

Folgen Sie dem OFS-RTL-Ablauf

ODER

OFS ermöglicht eine Kompilierung von oneAPI-Kernels. Nutzen Sie den oneAPI-Entwicklungsablauf und entwickeln Sie FPGA-Workloads in C/C++.

Hinweise:

11 Zahlen veröffentlicht in „Tens of gigabytes per second JSON-to-Arrow conversion with FPGA accelerators“. IEEE Xplore. Dezember 2021. ieeexplore.ieee.org/documents/9609833

Testkonfiguration: Design eines FPGA-Beschleunigers für JSON-Parsing, der die deserialisierten Daten im spaltenbasierten Apache Arrow In-Memory-Format in den Host-Speicher schreibt. Besteht aus fünf Phasen: Erhalten von JSON-Dokumente, Parsen von JSON-Dokumenten und Deserialisieren von Daten in einen Arrow RecordBatch, Ändern der Größe des Arrow RecordBatch, Serialisieren des Arrow RecordBatch in einer Arrow IPC-Nachricht, Veröffentlichen von IPC-Nachrichten über einen Pulsar-Broker in einem Pulsar-Thema. Alle Implementierungen verwenden maximal acht Bytes, was jedem Parser bei der Ausführung mit 200 MHz einen theoretischen Spitzendurchsatz von 1,6 GB/s bietet.