Desenvolvimento de Tecnologia DPU

Com o desenvolvimento das tecnologias de computação em nuvem e virtualização, as placas de rede também evoluíram, podendo ser divididas em quatro estágios em termos de funcionalidade e estrutura de hardware.

Placa de rede básica tradicional (NIC)

Responsável pela transmissão e recepção de pacotes de dados, com menos capacidades de descarregamento de hardware. O hardware implementa a camada de link físico de rede e o processamento de pacotes da camada MAC com lógica de hardware ASIC, e placas padrão NIC posteriores também suportam funções como verificação CRC. Ele não tem capacidades de programação.

Placa de rede inteligente (SmartNIC)

Ele tem uma certa capacidade de descarregamento de hardware de plano de dados, como descarregamento de hardware OVS/vRouter. A estrutura de hardware usa FPGA ou processador integrado com FPGA e núcleo de processador (aqui a função do processador é fraca) para atingir o descarregamento de hardware de plano de dados.

DPU baseada em FPGA

Esta é uma placa de rede inteligente que suporta offloading de plano de dados e plano de controle, bem como um certo grau de programabilidade para os planos de controle e dados. Em relação ao desenvolvimento da estrutura de hardware, ela adiciona um processador de CPU de uso geral baseado em FPGA, como a CPU Intel.

DPU de chip único

Este é um chip DPU programável de uso geral de chip único, que tem capacidades ricas de aceleração de descarregamento de hardware e programabilidade, e suporta diferentes cenários de computação em nuvem e recursos de gerenciamento de recursos unificados. No lado do hardware, ele adota um formato SoC de chip único, equilibrando desempenho e consumo de energia. Os principais desafios do DPU baseado em FPGA no design de hardware vêm da área do chip e do consumo de energia. Em termos de área, o tamanho da estrutura da interface PCIe limita a área do chip na placa; em termos de consumo de energia, o design de dissipação de calor da placa está intimamente relacionado ao consumo de energia do chip e de toda a placa. Esses dois fatores restringem o desenvolvimento contínuo de soluções FPGA. A solução DPU SoC aproveita a experiência e as conquistas de software e hardware de NIC para DPU baseado em FPGA, e é um caminho de evolução importante para a arquitetura do data center centrada em DPU.

DPU, como um representante típico de chips definidos por software, é baseado no conceito de “definido por software, acelerado por hardware” e é um processador de uso geral que integra o processamento de dados como a função principal do chip. A unidade de processamento de uso geral DPU é usada para lidar com os negócios do plano de controle, e a unidade de processamento dedicada garante o desempenho do processamento do plano de dados, alcançando assim um equilíbrio entre desempenho e generalidade. A unidade de processamento dedicada DPU é usada para resolver o gargalo de desempenho da virtualização de infraestrutura geral, e a unidade de processamento de uso geral garante a generalidade da DPU, tornando a DPU amplamente aplicável a vários cenários de infraestrutura em nuvem e realizando a migração suave da estrutura de software de virtualização para DPU.

O Desenvolvimento e Aplicação de NIC

A placa de rede básica tradicional NIC, também conhecida como adaptador de rede, é o dispositivo de conexão mais básico e importante no sistema de rede de computadores. Sua principal função é converter os dados que precisam ser transmitidos em um formato que o dispositivo de rede possa reconhecer. Impulsionada pelo desenvolvimento da tecnologia de rede, a placa de rede básica tradicional também tem mais funções e inicialmente possuía alguns recursos simples de descarregamento de hardware (como verificação CRC, TSO/UF0, LSO/LR0, VLAN, etc.), suportando SR-IOV e QoS de gerenciamento de tráfego. A largura de banda da interface de rede da placa de rede básica tradicional também se desenvolveu dos 100M, 1000M originais para 10G, 25G e até 100G.

O Desenvolvimento e Aplicação de NIC

Na rede de virtualização da computação em nuvem, a placa de rede básica tradicional fornece acesso de rede à máquina virtual de três maneiras principais.

(1) A placa de rede recebe o tráfego e o encaminha para a máquina virtual por meio da pilha de protocolos do kernel do sistema operacional.

(2) O driver de modo de usuário DPDK assume o controle da placa de rede, permitindo que os pacotes de dados ignorem a pilha de protocolos do kernel do sistema operacional e sejam copiados diretamente para a memória da máquina virtual.

(3) Usando a tecnologia SR-IOV, o PF da placa de rede física é virtualizado em vários VFs virtuais com funções de placa de rede e, em seguida, o VF é passado diretamente para a máquina virtual.

Com protocolos de túnel como VxLAN e tecnologias de comutação virtual como OpenFlow, 0VS, etc., a complexidade do processamento de rede está aumentando gradualmente e mais recursos de CPU são necessários. Assim nasceu o SmartNIC.

O Desenvolvimento e Aplicação do SmartNIC

O SmartNIC, além de ter a função de transmissão de rede da placa de rede básica tradicional, também fornece recursos avançados de aceleração de descarregamento de hardware, o que pode melhorar a taxa de encaminhamento da rede de computação em nuvem e liberar os recursos de computação da CPU do host.

O Desenvolvimento e Aplicação do SmartNIC

O SmartNIC não tem uma CPU de processador de propósito geral e precisa da CPU do host para gerenciar o plano de controle. O principal objeto de aceleração de offloading do SmartNIC é o plano de dados, como o offloading Fastpath do plano de dados de switches virtuais 0VS/vRouter, offloading de rede RDMA, offloading de armazenamento NVMe-oF e offloading de segurança do plano de dados IPsec/TLS, etc.

No entanto, à medida que a velocidade da rede em aplicações de computação em nuvem continua a aumentar, o host ainda consome muitos recursos valiosos da CPU para classificar, rastrear e controlar o tráfego. Como alcançar o “consumo zero” da CPU host tornou-se a próxima direção de pesquisa para fornecedores de nuvem.

O desenvolvimento e aplicação de DPU baseado em FPGA

Comparado com o SmartNIC, o DPU baseado em FPGA adiciona uma unidade de processamento de CPU de propósito geral à arquitetura de hardware, formando uma arquitetura FPGA+CPU, que facilita a aceleração e o descarregamento de infraestrutura geral, como rede, armazenamento, segurança e gerenciamento. Nesta fase, a forma de produto do DPU é principalmente FPGA+CPU. O DPU baseado na arquitetura de hardware FPGA+CPU tem boa programabilidade de software e hardware.

O desenvolvimento e aplicação de DPU baseado em FPGA

Na fase inicial do desenvolvimento de DPU, a maioria dos fabricantes de DPU escolheu este esquema. Este esquema tem um tempo de desenvolvimento relativamente curto e iteração rápida, e pode concluir rapidamente o desenvolvimento de funções personalizadas, o que é conveniente para os fabricantes de DPU lançarem produtos rapidamente e conquistarem o mercado. No entanto, com a migração da largura de banda da rede de 25G para 100G, o DPU baseado na arquitetura de hardware FPGA + CPU é limitado pelo processo do chip e pela estrutura do FPGA, o que torna difícil obter um bom controle da área do chip e do consumo de energia ao buscar maior rendimento. , restringindo assim o desenvolvimento contínuo desta arquitetura DPU.

O Desenvolvimento e Aplicação de DPU SoC NIC

DPU SoC é uma arquitetura de hardware baseada em ASIC, que combina as vantagens do ASIC e da CPU e equilibra o excelente desempenho dos aceleradores dedicados e a flexibilidade programável dos processadores de uso geral. É uma solução de tecnologia DPU de chip único que impulsiona o desenvolvimento da tecnologia de computação em nuvem.

Conforme mencionado no parágrafo anterior, embora a DPU desempenhe um papel importante na computação em nuvem, as soluções tradicionais de DPU são apresentadas principalmente em esquemas baseados em FPGA. Com a migração do servidor 25G para o servidor 100G de próxima geração, seu custo, consumo de energia, funcionalidade e outros aspectos enfrentam sérios desafios. O SoC DPU de chip único não só oferece enormes vantagens em custo e consumo de energia, mas também possui alto rendimento e recursos de programação flexíveis. Ele oferece suporte não apenas ao gerenciamento de aplicativos e à implantação de máquinas virtuais e contêineres, mas também a aplicativos bare metal.

O Desenvolvimento e Aplicação de DPU SoC NIC

Com o desenvolvimento contínuo da tecnologia DPU, o DPU SoC programável de uso geral está se tornando um componente-chave na construção de data centers de fornecedores de nuvem. O DPU SoC pode alcançar um gerenciamento econômico e eficiente de recursos de computação e recursos de rede no data center. O SoC DPU com funções ricas e recursos programáveis ​​pode suportar diferentes cenários de computação em nuvem e gerenciamento unificado de recursos, além de otimizar a utilização dos recursos de computação do data center.

No design, desenvolvimento e uso de DPU, os gigantes dos chips e os principais provedores de serviços em nuvem no país e no exterior investiram muitos recursos de P&D e alcançaram boa relação custo-benefício por meio da exploração e prática contínuas.

DPU na AWS (Nuvem Amazon)

A AWS é o fornecedor líder mundial de serviços e soluções de computação em nuvem. O sistema AWS Nitro DPU se tornou a base técnica do serviço de nuvem AWS. A AWS usa o sistema Nitro DPU para decompor e transferir funções de rede, armazenamento, segurança e monitoramento para hardware e software dedicados e fornece quase todos os recursos do servidor para instâncias de serviço, reduzindo significativamente os custos. A aplicação do Nitro DPU na Amazon Cloud pode fazer um servidor ganhar milhares de dólares a mais por ano. O sistema Nitro DPU consiste principalmente nas seguintes partes.

A aplicação de DPU na AWS (Amazon Cloud)

(1) Cartão Nitro. Uma série de hardware dedicado para rede, armazenamento e controle, para melhorar o desempenho geral do sistema.

(2) Chip de segurança Nitro. Transfira funções de virtualização e segurança para hardware e software dedicados, reduza a superfície de ataque e obtenha uma plataforma de nuvem segura.

(3) Hipervisor Nitro. Um programa leve de gerenciamento de hipervisor que pode gerenciar a alocação de memória e CPU e fornecer desempenho indistinguível do bare metal.

O sistema Nitro DPU fornece funções de chave, rede, segurança, servidor e monitoramento, libera os recursos de serviço subjacentes para máquinas virtuais dos clientes e permite que a AWS forneça mais tipos de instâncias bare metal e até mesmo aumente o desempenho da rede de instâncias específicas para 100Gbps.

DPU NVIDIA

A NVIDIA é uma empresa de semicondutores que projeta e vende principalmente unidades de processamento gráfico (GPUs), amplamente utilizadas nos campos de IA e computação de alto desempenho (HPC). Em abril de 2020, a NVIDIA adquiriu a Mellanox, uma empresa de chips e dispositivos de rede, por US$ 6.9 bilhões, e então lançou a série BlueField de DPUs.

A DPU NVIDIA BlueField-3 (conforme mostrado na Figura 7) herda os recursos avançados da DPU BlueField-2 e é a primeira DPU projetada para IA e computação acelerada. O BlueField-3 DPU fornece até Rede de 400 Gbps conexão e pode descarregar, acelerar e isolar, suportando funções de rede, armazenamento, segurança e gerenciamento definidas por software.

UIP Intel

O Intel IPU é um dispositivo de rede avançado com aceleradores reforçados e conexões Ethernet, que pode usar núcleos programáveis ​​dedicados fortemente acoplados para acelerar e gerenciar funções de infraestrutura. O IPU fornece descarregamento completo de infraestrutura e atua como um ponto de controle de host para executar aplicativos de infraestrutura, fornecendo uma camada adicional de segurança. Usando o Intel IPU, todos os serviços de infraestrutura podem ser descarregados do servidor para o IPU, liberando recursos de CPU do servidor e também fornecendo aos provedores de serviços de nuvem um ponto de controle independente e seguro.

Roteiro da Intel

Em 2021, a Intel anunciou os produtos IPU Oak Springs Canyon e Mount Evans no Intel Architecture Day. Entre eles, Oak Springs Canyon é um produto IPU baseado em FPGA, e Mount Evans IPU é um produto IPU baseado em ASIC.

A IPU Intel Oak Springs Canyon está equipada com FPGA Intel Agilex e CPU Xeon-D. Intel Mount Evans IPU é um SoC (System-on-a-Chip) projetado em conjunto pela Intel e pelo Google. O Monte Evans está dividido principalmente em duas partes: o subsistema I0 e o subsistema de computação. A parte de rede utiliza ASIC para processamento de pacotes, que possui desempenho muito superior e menor consumo de energia que o FPGA. O subsistema de computação usa 16 núcleos ARM Neoverse N1, que possuem capacidades de computação extremamente fortes.

DPU na nuvem Alibaba

O Alibaba Cloud também está constantemente explorando a tecnologia DPU. No Alibaba Cloud Summit em 2022, o Alibaba Cloud lançou oficialmente o processador de infraestrutura de nuvem CIPU, que é baseado na arquitetura Shenlong. O predecessor do CIPU é o cartão MoC (Micro Server on a Card), que atende à definição de DPU em termos de função e posicionamento. O cartão MoC tem unidades I0, armazenamento e processamento independentes e realiza trabalho de virtualização de rede, armazenamento e dispositivo. Os cartões MoC de primeira e segunda geração resolveram o sentido restrito de problemas de sobrecarga zero de virtualização de computação, e o software ainda implementa a parte de rede e armazenamento da virtualização. O cartão MoC de terceira geração realiza o reforço de algumas funções de encaminhamento de rede, e o desempenho da rede é bastante aprimorado. O cartão MoC de quarta geração realiza o descarregamento total de hardware de rede e armazenamento e também oferece suporte à capacidade RDMA.

Como um sistema de processador de data center projetado para o sistema Feitian, o Alibaba Cloud CIPU tem um significado significativo para o Alibaba Cloud construir uma nova geração de sistemas completos de arquitetura de computação em nuvem de software e hardware.

DPU no Volcano Engine

O Volcano Engine também está constantemente explorando o caminho do DPU autodesenvolvido. Seu DPU autodesenvolvido adota uma tecnologia de virtualização integrada suave e rígida, visando fornecer aos usuários serviços de computação de alto desempenho elásticos e escaláveis. Nos produtos de computação elástica do Volcano Engine, o servidor bare metal elástico de segunda geração e o servidor de nuvem de terceira geração são equipados com DPUs autodesenvolvidos, que foram extensivamente verificados em recursos de produto e cenários de aplicação. A instância EBM de segunda geração do Volcano Engine, que foi oficialmente comercializada em 2022, foi a primeira a transportar o DPU autodesenvolvido do Volcano Engine. Ele não apenas retém as vantagens de estabilidade e segurança das máquinas físicas tradicionais e pode atingir isolamento físico seguro, mas também tem as vantagens de elasticidade e flexibilidade das máquinas virtuais. É uma nova geração de servidores de nuvem de alto desempenho com múltiplas vantagens. A instância ECS de terceira geração do Volcano Engine, lançada no primeiro semestre de 2023, também combina a arquitetura da mais recente DPU desenvolvida pelo Volcano Engine e a tecnologia de virtualização e switch virtual desenvolvida pelo próprio Volcano Engine, e o desempenho de E/S de rede e armazenamento foi bastante aprimorado.

Deixe um comentário

Voltar ao Topo