SigmaX implementa una solución de gestión de datos en tiempo real

SigmaX mejoró significativamente la eficiencia de los datos que se producen para un corredor central mediante el acoplamiento de su pila de gestión de datos con las FPGA Intel y Open FPGA Stack (OFS).

Vista rápida

  • SigmaX desarrolla un flujo de datos integral increíblemente rápido, desde la recopilación de datos hasta el consumidor, en el que se pueden tomar decisiones casi en tiempo real.

  • SigmaX amplía y acelera el software de código abierto Apache con los procesadores Intel® Xeon®, las FPGA Intel Agilex® y Open FPGA Stack (OFS).

  • SigmaX logra una menor latencia y una mayor recopilación de datos con la aceleración basada en FPGA, en comparación con un enfoque basado solo en la CPU.

author-image

Por

Resumen ejecutivo

SigmaX aborda los desafíos más recientes que plantea la solución de problemas de gestión de datos empresariales a escala. Los clientes se benefician de su solución de gestión de datos sin tener que depender de un proveedor, gracias al uso del software Apache de código abierto y los recursos de desarrollo de FPGA, como Open FPGA Stack (OFS). La solución SigmaX, impulsada con la aceleración de FPGA, hace posible que los datos fluyan a velocidades increíblemente rápidas, lo que permite a los usuarios tomar decisiones casi en tiempo real.

 

  • La solución de flujo de datos SigmaX, basada en Apache Pulsar y Apache Arrow, reduce la latencia en un factor de 100x1.
  • Solo con Apache Pulsar, SigmaX obtiene un aumento inmediato del 250 % en la velocidad de streaming, en comparación con la competencia que usa Kafka1.
  • La integración de Apache Pulsar con Apache Arrow da como resultado un desempeño 20 veces mayor y escalable a miles de nodos1.

Antecedentes y desafío:

Un corredor de datos es una colección de datos de transmisión de eventos, ya sean públicos, privados o ambos, distribuidos como suscripciones. El corredor de datos procesará, limpiará y estructurará los datos publicados, y los proporcionará a otras empresas o consumidores dentro de la empresa. Un productor de datos es la fuente raíz de los datos, ya sea una interfaz de usuario, un servicio o un dispositivo perimetral y de Internet de las cosas (IoT). Millones de productores de datos pueden enviar información de forma simultánea a los corredores de datos. Los consumidores pueden recuperar los datos recientes del corredor de datos una vez que se han procesado, limpiado y estructurado. Estos corredores de datos pueden escalar hasta miles y procesar volúmenes inconmensurables de datos en paralelo. Industrias como la del 5G, de los vehículos autónomos, del mantenimiento predictivo y otras plataformas de transporte y de informática de edge, están abordando estos conjuntos de datos cada vez más grandes que pueden escalar a miles de corredores y productores de datos.

En estas industrias es crucial tomar decisiones a gran velocidad y reaccionar casi de forma simultánea. Se estima que la industria de los vehículos autónomos genera entre 4 y 40 TB de datos por hora. Junto a esta gran demanda de procesamiento de datos, también han surgido nuevos tipos de estructuras y formas de representación de datos, con avances de desempeño sin explotar en la CPU, las GPU y el procesamiento paralelo.

Apache Arrow es un marco de software estándar independiente del lenguaje, que usualmente se emplea para mejorar la velocidad del análisis de datos mediante la creación de un formato estándar de memoria en columna, con un ahorro de tiempo del 80 %. Se usa con frecuencia en contextos con conjuntos voluminosos de datos generados por sensores en el perímetro, la IoT y las aplicaciones a gran escala. Apache Arrow combina las ventaja de las estructuras de datos en columna con la informática en memoria que las CPU, GPU y FPGA pueden usar para permitir el intercambio de datos fluido y eficiente en todas las plataformas, sin necesidad de copiar ni mover datos.

Al aprovechar el procesamiento heterogéneo, junto con herramientas de código abierto como el software Apache y OFS, SigmaX ofrece una solución que mejora la conversión de formatos de datos de JSON a Apache Arrow con latencias 100 veces más bajas y tasas de ingestión de datos 20 veces más altas, en comparación con el escalado con los procesadores Intel Xeon.

Solución

SigmaX ha mejorado significativamente la eficiencia de los datos que se producen para un corredor central mediante el acoplamiento de su pila de gestión de datos con las FPGA Intel y OFS. El siguiente es un desglose de la solución SigmaX:

Paso 1: Bolson convierte los datos del sensor al formato de Apache Arrow

Bolson, que se ejecuta en una FPGA Intel Agilex con la infraestructura OFS de código abierto, recibe primero los datos JSON de los sensores. Luego, Bolson convierte los datos del sensor JSON en el formato de datos universal, Apache Arrow. Al colocar los datos en Apache Arrow, los corredores se agilizan y su capacidad de respuesta aumenta en órdenes de magnitud. Por lo tanto, esta ruta reúne las ventajas de la latencia y el desempeño, además de las ventajas de un enfoque basado únicamente en la CPU.

Paso 2: Apache Pulsar procesa y limpia los datos

El corredor de datos, Apache Pulsar, recibe los mensajes en el formato Apache Arrow. Los datos recibidos por Apache Pulsar ahora son computables. Luego, Apache Pulsar los procesará, limpiará y reestructurará.

Apache Pulsar es una plataforma de mensajería distribuida y streaming similar a Apache Kafka. Sin embargo, Apache Pulsar ofrece importantes ventajas, como la seguridad, la velocidad, la latencia y el desempeño mejorados con características integradas de confiabilidad de datos, como la replicación geográfica. Generalmente, se usa en aplicaciones sensibles a la latencia que involucran esquemas de gran complejidad o necesidades de datos en tiempo real.

Paso 3: El corredor de datos transfiere la información al consumidor

Después de la delegación del corredor, los datos se transfieren a una aplicación de consumidor suscrita.

SigmaX ha validado esta carga de trabajo de gestión de datos con un hardware equipado con tecnología Intel. Su pila de código abierto usa procesadores Intel Xeon que se ejecutan en la aplicación cliente y la placa HiPrAcc* NC100 de Hitek Systems equipada con una FPGA Intel Agilex para ejecutar Bolson.

La placa HiPrAcc NC100 está habilitada con OFS y oneAPI. OFS es una herramienta fundamental que permite a los desarrolladores de FPGA crear cargas de trabajo y aplicaciones personalizadas basadas en FPGA. Proporciona todo el código fuente de hardware y software, la documentación, los ejemplos de referencia y las herramientas necesarias para impulsar el desarrollo basado en FPGA. El software y hardware de OFS tienen un código abierto en GitHub.

Resultados:

La carga de trabajo de gestión de datos de SigmaX acelera la conversión de datos en Apache Arrow con dos tecnologías clave de Intel: las FPGA Intel Agilex y OFS. Gracias a la aceleración de FPGA y a OFS, la carga de trabajo de conversión de datos de SigmaX es 100 veces más rápida y con 20 veces más datos1. Esta carga de trabajo de gestión de datos se puede emplear en una amplia gama de aplicaciones, como en atención médica, seguros, 5G, mantenimiento predictivo y más.

OFS nos permitió crear una carga de trabajo acelerada por FPGA al proporcionar todo el código fuente de hardware y software, la documentación, los ejemplos de referencia y las herramientas que necesitábamos para comenzar, sin necesidad de manipular la FPGA.

Robert Morrow, director ejecutivo, SigmaX

Cómo comenzar con la aceleración de FPGA con Open FPGA Stack:

Los desarrolladores de FPGA pueden elegir entre una gama de placas personalizadas, proporcionadas por Intel o habilitadas para OFS de terceros, y usar el código fuente y la documentación de código abierto para comenzar a crear su carga de trabajo personalizada.

En la siguiente tabla se describe cómo un desarrollador puede comenzar con el desarrollo de cargas de trabajo basadas en FPGA con una placa proporcionada por Intel o de un tercero.

  Uso de una placa Intel Uso de una placa de ecosistema
Paso 1: Elija una placa

Use una plataforma de referencia de OFS

Las plataformas de referencia pueden acelerar la evaluación o la puesta en marcha, pero no son necesarias.

Use una placa personalizada o de un tercero.

Explore el catálogo de placas de OFS para consultar las que están disponibles.

Paso 2: Evalúe los recursos de OFS de código abierto La documentación técnica se puede encontrar en GitHub. El proveedor de la placa proporcionará la documentación técnica de OFS correspondiente.
Paso 3: Acceda al código de hardware y software de código abierto Modifique o use el código de software y hardware de OFS que se proporciona, el cual está disponible en GitHub (OFS). El proveedor de la placa proporcionará el código de software/hardware de OFS correspondiente.
Paso 4: Desarrolle la carga de trabajo con RTL o C/C++ (con oneAPI)

Siga el flujo de RTL de OFS

O

OFS habilita la compilación de kernels oneAPI. Use el flujo de desarrollo de oneAPI y cree cargas de trabajo de FPGA en C/C++.

Notas:

1Cifras publicadas en “Tens of gigabytes per second JSON-to-Arrow conversion with FPGA accelerators” (Conversión de JSON a Arrow de decenas de gigabytes por segundo con aceleradores FPGA). IEEE Xplore. Diciembre del 2021. ieeexplore.ieee.org/documents/9609833

Configuración de prueba: diseño de un acelerador FPGA para el análisis de JSON que escribe los datos deserializados en la memoria host en el formato en memoria en columna Apache Arrow. Consta de cinco etapas: Recibir los documentos JSON, Analizar los documentos JSON, Deserializar los datos en un Arrow RecordBatch, Cambiar el tamaño de Arrow RecordBatch, Serializar el Arrow RecordBatch en un mensaje IPC de Arrow y Publicar los mensajes IPC en un tema de Pulsar a través de un corredor de Pulsar. Todas las implementaciones usan un máximo de ocho bytes, lo que proporciona a cada analizador un desempeño de entrada teórico máximo de 1,6 GBps cuando se ejecuta a 200 MHz.