SigmaX Implanta Solução de Gerenciamento de Dados em Tempo Real

O SigmaX melhorou significativamente a eficiência dos dados que estão sendo produzidos para um broker central ao acoplar sua pilha de gerenciamento de dados com FPGAs Intel e Open FPGA Stack (OFS).

Visão geral

  • O SigmaX desenvolve um fluxo de dados completo incrivelmente rápido de alimentação de dados para o consumidor, onde as decisões podem ser feitas em tempo quase real.

  • O SigmaX amplia e acelera o software de código aberto Apache usando processadores Intel® Xeon®, FPGAs Intel Agilex® e Open FPGA Stack (OFS).

  • O SigmaX alcança menor latência e maior ingestão de dados de aceleração com base em FPGA em comparação a uma abordagem com base apenas em CPU.

author-image

Por

Resumo executivo

O SigmaX aborda os desafios mais recentes na solução de problemas de gerenciamento de dados empresariais em escala. Os clientes se beneficiam de sua solução de gerenciamento de dados sem a obrigação de bloquear o fornecedor devido ao uso de software Apache de código aberto e recursos de desenvolvimento de FPGA, como o Open FPGA Stack (OFS). A solução SigmaX com aceleração de FPGA permite que os dados fluam a taxas incrivelmente rápidas, permitindo que os usuários tomem decisões quase em tempo real.

 

  • A solução de fluxo de dados SigmaX, com base no Apache Pulsar e no Apache Arrow, reduz a latência por um fator de 100x1
  • Usando apenas o Apache Pulsar, o SigmaX faz benchmarks com um aumento imediato de 250% da velocidade para streaming em comparação com a concorrência usando o Kafka1
  • A integração do Apache Pulsar com o Apache Arrow resulta em uma taxa de transferência 20x maior, escalável para milhares de nós1

Contexto e Desafio:

Um data broker é uma coleção de dados de streaming de eventos, públicos, privados ou ambos, oferecidos como assinaturas. O data broker processará, limpará e estruturará dados publicados e os fornecerá para outras empresas ou consumidores da empresa. Um produtor de dados é uma fonte raiz dos dados, seja uma interface de usuário, um serviço ou uma borda, ou um dispositivo de Internet das Coisas (IoT). Milhões de produtores de dados podem enviar informações ao mesmo tempo para data brokers. Os consumidores podem então obter dados recentes do data broker assim que eles forem processados, limpos e estruturados. Esses data brokers podem escalar milhares, processando imensos volumes de dados em paralelo. Setores como o 5G, os veículos autônomos, a manutenção preditiva, e outras plataformas de computação de borda e transporte estão enfrentando esses conjuntos de dados cada vez maiores que podem ser escalados para milhares de data brokers e produtores.

Nesses setores, tomar decisões com velocidades reais e reagir quase simultaneamente é crucial. Estima-se que o setor de veículos autônomos por si só gera de 4 TB até 40 TB de dados por hora. Paralelamente a essa enorme demanda no processamento de dados, novos tipos de estruturas de dados e formas de representação de dados também surgiram com avanços de desempenho não explorados em CPU, GPUs e processamento paralelo.

O Apache Arrow é uma estrutura de software padrão independente de linguagens comumente usada para melhorar a velocidade da análise de dados ao criar um formato de memória colunar padrão com todas as economias de 80% de wall-clock. É frequentemente usado em contextos com grandes conjuntos de dados gerados por sensores na borda, na IoT e em aplicativos de larga escala. O Apache Arrow combina os benefícios das estruturas de dados de colunas com a computação na memória que CPUs, GPUs e FPGAs podem usar para permitir um compartilhamento de dados perfeito e eficiente em várias plataformas sem copiar ou mover dados.

Ao aproveitar o processamento heterogêneo, juntamente com ferramentas de código aberto, como o software Apache e o OFS, o SigmaX oferece uma solução que melhora a conversão de formatos de dados de JSON para Apache Arrow com latências 100 vezes menores e taxas de ingestão de dados 20 vezes maiores quando comparadas com a escalabilidade usando somente processadores Intel Xeon.

Provedores

O SigmaX melhorou significativamente a eficiência dos dados que estão sendo produzidos para um broker central ao acoplar sua pilha de gerenciamento de dados com FPGAs Intel e OFS. Temos um divisor de águas com SigmaX:

Etapa 1: a Bolson converte dados do sensor para o formato Apache Arrow

Os dados do sensor JSON são recebidos pela primeira vez pela Bolson que por sua vez são executados em um FPGA Intel Agilex usando a infraestrutura OFS de código aberto. A Bolson converte os dados do sensor JSON para o formato de dados universal, Apache Arrow. Ao inserir dados no Apache Arrow, os corretores se tornam mais rápidos e mais responsivos por pedidos de magnitude. Assim, esse caminho combina benefícios de latência e taxa de transferência além dos benefícios de uma abordagem apenas com base em CPU.

Etapa 2: o Apache Pulsar processa e limpa dados

O data broker, Apache Pulsar, receberá as mensagens no formato Apache Arrow. Os dados recebidos pelo ApachePulsar agora são computáveis como estão. O Apache Pulsar processará, limpará e reestruturará os dados.

O Apache Pulsar é uma plataforma de mensagens e streaming distribuída comparável ao Apache Kafka. No entanto, oferece benefícios significativos em comparação ao Apache Kafka, como segurança aprimorada, velocidade, latência, e desempenho com recursos de confiabilidade de dados integrados, como replicação geográfica. É comumente usado em aplicativos sensíveis à latência que envolvem esquemas de alta complexidade ou necessidades de dados em tempo real.

Etapa 3: o data broker transfere informações para o consumidor

Após a delegação do corretor, os dados são transferidos para um aplicativo assinado pelo consumidor.

O SigmaX validou essa carga de trabalho de gerenciamento de dados usando hardware com base em tecnologia Intel. Sua pilha de código aberto usa processadores Intel Xeon que são executados no aplicativo do cliente e placa Hitek Systems HiPrAcc* NC100 com base em um FPGA Intel Agilex para executar Bolson.

A placa HiPrAcc NC100 é habilitada com OFS e oneAPI. O OFS é uma ferramenta fundamental que permite que os desenvolvedores de FPGA criem cargas de trabalho e aplicativos personalizados com base em FPGA. Ele oferece todo o código fonte de hardware e software, documentação, exemplos de referência e ferramentas necessárias para iniciar o desenvolvimento com base em FPGA. O código de software e hardware para OFS é de código aberto no GitHub.

Resultados:

A carga de trabalho de gerenciamento de dados do SigmaX acelera a conversão de dados para Apache Arrow usando duas tecnologias principais da Intel: FPGAs Intel Agilex e OFS. Usando aceleração de FPGA e OFS, a carga de trabalho de conversão de dados do SigmaX é 100 vezes mais rápida com 20 vezes mais dados1. Essa carga de trabalho de gerenciamento de dados pode ser aplicada a uma ampla gama de aplicativos, incluindo saúde, seguros, 5G, manutenção preditiva e muito mais.

O OFS nos permitiu criar nossa carga de trabalho acelerada de FPGA ao fornecer todo o código fonte de hardware e software, documentação, exemplos de referência e ferramentas que precisávamos para começar, sem necessidade de ajustes aprofundados de FPGA.

Robert Morrow, CEO, SigmaX

Como começar a usar a aceleração do FPGA utilizando o Open FPGA Stack:

Os desenvolvedores de FPGA podem escolher entre uma variedade de placas personalizadas, fornecidas pela Intel ou habilitadas por OFS de terceiros e usar a documentação de código aberto e o código fonte para começar a criar sua carga de trabalho personalizada.

A tabela a seguir descreve como um desenvolvedor pode começar a desenvolver cargas de trabalho com base em FPGA usando uma placa fornecida pela Intel ou uma placa de terceiros.

  Usando uma placa Intel Usando uma placa do ecossistema
Etapa 1: escolha uma placa

Use uma plataforma de referência de OFS

As plataformas de referência podem acelerar a avaliação ou aumentar, mas não são necessárias.

Use uma placa personalizada ou de terceiros

Navegue pelo catálogo de placas de OFS para ver as placas disponíveis.

Etapa 2: avalie os recursos de código aberto de OFS A documentação técnica pode ser encontrada no GitHub. O fornecedor de placas fornecerá a documentação técnica de OFS correspondente.
Etapa 3: acesse o código de hardware e software de código aberto Modifique ou use o código de software e hardware de OFS fornecidos disponíveis no GitHub (OFS). O fornecedor de placas fornecerá o código de software/hardware de OFS correspondentes.
Etapa 4: desenvolva carga de trabalho usando RTL ou C/C++ (usando oneAPI)

Siga o fluxo de RTL de OFS

OU

O OFS habilita a compilação de kernels oneAPI. Utilize o fluxo de desenvolvimento da oneAPI e crie cargas de trabalho de FPGA em C/C++.

Observações:

1Números publicados em “Conversão de dezenas de gigabytes por segundo de JSON para Arrow com aceleradores de FPGA”. IEEE Xplore. Dezembro de 2021. ieeexplore.ieee.org/documents/9609833

Configuração de teste: design de um acelerador de FPGA para análise de JSON que grava os dados desserializados na memória do host no formato de memória do colunar Apache Arrow. Consiste em cinco estágios: receber documentos JSON, analisar documentos JSON e desserializar dados em um Arrow RecordBatch, redimensionar o Arrow RecordBatch, serializar a mensagem Arrow RecordBatch para IPC Arrow, publicar mensagens IPC para um tópico Pulsar por meio de um corretor Pulsar. Todas as implementações usam um máximo de oito bytes, o que oferece a cada analisador um pico de taxa de transferência de entrada teórica de 1,6 GBps ao ser executado a 200 MHz.