O Que é uma DPU?

... e qual é a diferença entre uma DPU, uma CPU e uma GPU?
por Kevin Deierling

O Que é uma DPU?

Especializadas na transferência de dados em data centers, as unidades de processamento de dados (DPUs – Data Processing Units) são uma nova categoria de processadores programáveis que, assim como as CPUs e GPUs, são uma das bases da computação.

Você provavelmente já conhece a unidade central de processamento. Flexíveis e com um tempo de resposta rápido, as CPUs foram, por muitos anos, o único elemento programável na maioria dos computadores.

Mais recentemente, a unidade de processamento gráfico (GPU – Graphics Processing Unit), assumiu um papel fundamental. Usada originalmente para gerar gráficos sofisticados em tempo real, ela apresenta recursos de processamento paralelo que a tornam ideal para tarefas de computação acelerada de todos os tipos. Graças a esses recursos, as GPUs são essenciais para aplicações de AI, deep learning e análise de Big Data.

Porém, na última década, a computação deixou de se limitar a PCs e servidores, e as CPUs e GPUs passaram a ser usadas nos novos data centers de hiperescala.

Esses data centers são conectados com uma nova e potente categoria de processadores. A DPU se tornou o terceiro componente do modelo de computação acelerada centrada em dados.

“Ela será um dos três principais elementos da computação no futuro”, afirmou o CEO da NVIDIA, Jensen Huang, durante uma palestra no início do mês.

“A CPU é para a computação de uso geral, a GPU é para a computação acelerada e a DPU, que transfere dados no data center, faz o processamento de dados.”

É um sistema em chip com:
Uma CPU padrão programável por software, de alto desempenho e com vários núcleos
Interface de rede de alto desempenho
Mecanismos de aceleração flexíveis e programáveis

CPU, GPU e DPU: Qual É a Diferença da DPU?

A DPU é uma nova categoria de processador programável que apresenta três elementos principais. Ela é um sistema em chip, também chamado de SoC, que vem com:

  1. Uma CPU padrão programável por software, de alto desempenho e com vários núcleos, geralmente baseada na famosa arquitetura Arm, totalmente conectada aos outros componentes do SoC.
  2. Uma interface de rede de alto desempenho capaz de analisar, processar e transferir dados para GPUs e CPUs com eficiência na velocidade da linha ou na velocidade do resto da rede.
  3. Um amplo conjunto de mecanismos de aceleração flexíveis e programáveis que liberam e melhoram o desempenho das aplicações para tarefas de AI, machine learning, segurança, telecomunicações e armazenamento, entre outras.

Todos esses recursos da DPU são fundamentais para ter uma plataforma de computação isolada, bare-metal e nativa no cloud capaz de definir a próxima geração da computação em escala do cloud.

DPUs Integradas a SmartNICs

A DPU pode ser usada como um processador integrado independente. Porém, é mais comum que ela seja integrada a uma SmartNIC, uma placa de rede usada como um dos principais componentes de um servidor de última geração.

Outros dispositivos que são vendidos como DPUs não apresentam elementos importantes desses três recursos fundamentais.

DPUs, or data processing units, can be used as a stand-alone embedded processor, but they’re more often incorporated into a SmartNIC, a network interface controller that’s used as a key component in a next generation server.
A DPU pode ser usada como um processador integrado independente. Porém, é mais comum que ela seja integrada a uma SmartNIC, uma placa de rede usada como um dos principais componentes de um servidor de última geração.

Alguns fornecedores, por exemplo, usam processadores exclusivos que não foram desenvolvidos a partir da infraestrutura avançada de desenvolvimento e aplicações do amplo ecossistema de CPUs da Arm.

Outros afirmam ter DPUs, mas cometem o erro de usar exclusivamente a CPU integrada para realizar o processamento do caminho de dados.

Foco no Processamento de Dados

Essa abordagem não é competitiva nem adaptável, pois não vale a pena tentar superar a CPU tradicional x86 com um desempenho exagerado. Se o processamento de pacotes de 100 Gb/s é muito superior ao de um processador x86, por que uma CPU integrada teria um desempenho melhor?

Em vez disso, a interface de rede precisa ser potente e flexível o suficiente para realizar todo o processamento do caminho de dados da rede. A CPU integrada deve ser usada para a inicialização do caminho de controle, o processamento de exceções e nada mais.

Há pelo menos 10 recursos que os mecanismos de aceleração do caminho de dados da rede devem ser capazes de oferecer:

  1. Análise, correspondência e manipulação de pacotes de dados para implementar um switch virtual aberto
  2. Aceleração da transferência de dados pelo RDMA para garantir um RoCE zero-touch
  3. Aceleradores GPUDirect para dispensar o uso da CPU e encaminhar os dados da rede diretamente para as GPUs (tanto do armazenamento quanto de outras GPUs)
  4. Aceleração TCP, como RSS, LRO, soma de verificação etc.
  5. Virtualização de rede para overlays de VXLANs e do GENEVE e descarregamento do VTEP
  6. Acelerador da velocidade dos pacotes capaz de controlar o tráfego para possibilitar o streaming multimídia, redes de distribuição de conteúdo e a nova tecnologia de vídeo por IP em 4K/8K (RiverMax para ST 2110)
  7. Aceleradores da sincronização da precisão do tempo para RANs no cloud da área de telecomunicações, como a 5T, para ter os recursos do 5G
  8. Aceleração da criptografia para os protocolos IPSEC e TLS realizada em linha para que todas as outras acelerações continuem funcionando
  9. Suporte à virtualização para SR-IOV, VirtIO e paravirtualização
  10. Isolamento seguro: raiz de confiança, inicialização segura e atualizações seguras do firmware, além de contêineres e gerenciamento do ciclo de vida da aplicação autenticados

Esses são só 10 dos recursos da aceleração e do hardware que são fundamentais para saber responder à pergunta: “O que é uma DPU?”

Afinal, o que é uma DPU? Veja a seguir:

What's a DPU? This is a DPU, also known as a Data Processing Unit.

O foco de muitas das chamadas DPUs é oferecer apenas uma ou duas dessas funções.

As piores tentam liberar o caminho de dados em processadores exclusivos.

Embora essa seja uma boa solução para a prototipagem, é uma perda de tempo por causa da escala, do escopo e da amplitude dos data centers.

Outros Recursos Relacionados à DPU*:

*os textos pode estar em inglês