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 hardware offcapacidades de carregamento. O hardware implementa a camada de enlace físico da 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. Não possui recursos de programação.

Placa de rede inteligente (SmartNIC)

Possui um certo hardware de plano de dados offcapacidade de carregamento, como hardware OVS/vRouter offcarregando. A estrutura de hardware usa FPGA ou processador integrado com FPGA e núcleo de processador (aqui a função do processador é fraca) para obter hardware de plano de dados offCarregando.

DPU baseada em FPGA

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

DPU de chip único

Este é um chip DPU programável de uso geral de chip único, que possui hardware rico offrecursos de aceleração de carregamento e programabilidade e oferece suporte a diferentes cenários de computação em nuvem e recursos unificados de gerenciamento de recursos. Do 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 baseia-se na experiência e nas conquistas de software e hardware desde NIC até DPU baseada em FPGA e é um importante caminho de evolução para a arquitetura de 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 tradicional placa de rede básica 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 possui mais funções e inicialmente possuía alguns hardwares simples offrecursos de carregamento (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 evoluiu 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

SmartNIC, além de ter a função de transmissão de rede da placa de rede básica tradicional, também fornece hardware rico offrecursos de aceleração de carregamento, que podem 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

SmartNIC não possui uma CPU de processador de uso geral e precisa da CPU host para gerenciar o plano de controle. O principal offo objeto de aceleração de carregamento do SmartNIC é o plano de dados, como o plano de dados Fastpath offcarregamento de switches virtuais 0VS/vRouter, rede RDMA offcarregamento, armazenamento NVMe-oF offcarregamento e segurança do plano de dados IPsec/TLS offcarregamento, 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 SmartNIC, o DPU baseado em FPGA adiciona uma unidade de processamento de CPU de uso geral à arquitetura de hardware, formando uma arquitetura FPGA + CPU, o que facilita a aceleração e offcarregamento de infraestrutura geral, como rede, armazenamento, segurança e gerenciamento. Neste estágio, a forma de produto do DPU é principalmente FPGA+CPU. O DPU baseado na arquitetura de hardware FPGA + CPU possui 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 offcarregar, acelerar e isolar, suportando funções de rede, armazenamento, segurança e gerenciamento definidas por software.

UIP Intel

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. IPU fornece infraestrutura completa offcarga e atua como um ponto de controle de host para a execução de aplicativos de infraestrutura, fornecendo uma camada adicional de segurança. Usando a Intel IPU, todos os serviços de infraestrutura podem ser offcarregado do servidor para a IPU, liberando recursos da CPU do servidor e também fornecendo aos provedores de serviços em 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

Alibaba Cloud também explora constantemente a tecnologia DPU. No Alibaba Cloud Summit em 2022, Alibaba Cloud offlançou oficialmente o processador de infraestrutura em nuvem CIPU, que é baseado na arquitetura Shenlong. O antecessor do CIPU é o cartão MoC (Micro Server on a Card), que atende à definição de DPU em termos de função e posicionamento. A placa MoC possui unidades independentes de I0, armazenamento e processamento e realiza trabalhos de rede, armazenamento e virtualização de dispositivos. As placas MoC de primeira e segunda geração resolveram o sentido estrito de virtualização de computação sem problemas de sobrecarga, e o software ainda implementa a parte de rede e armazenamento da virtualização. A placa MoC de terceira geração realiza o fortalecimento de algumas funções de encaminhamento de rede e o desempenho da rede é bastante melhorado. A placa MoC de quarta geração realiza todo o hardware offcarga de rede e armazenamento e também suporta 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. Sua DPU autodesenvolvida adota uma tecnologia de virtualização integrada suave e rígida, com o objetivo de fornecer aos usuários serviços de computação elásticos e escaláveis ​​de alto desempenho. Nos produtos de computação elástica do Volcano Engine, o servidor elástico bare metal de segunda geração e o servidor em nuvem de terceira geração são equipados com DPUs autodesenvolvidos, que foram extensivamente verificados em recursos de produtos e cenários de aplicação. A instância EBM de segunda geração do Volcano Engine, que foi offComercializado oficialmente em 2022, foi o primeiro a transportar o DPU autodesenvolvido do Volcano Engine. Ela não apenas mantém as vantagens de estabilidade e segurança das máquinas físicas tradicionais e pode alcançar um isolamento físico seguro, mas também possui as vantagens de elasticidade e flexibilidade das máquinas virtuais. É uma nova geração de servidores em 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 do DPU mais recente desenvolvido pelo próprio Volcano Engine e a tecnologia de virtualização e switch virtual autodesenvolvida, e o desempenho de IO de rede e armazenamento tem foi muito melhorado.

Deixe um comentário

Voltar ao Topo