O que é RDMA?

Como todos sabemos, o crescimento explosivo de dados na Internet trouxe grandes desafios para a capacidade de processamento dos data centers.

Computação, armazenamento e rede são as três forças motrizes que impulsionam o desenvolvimento de data centers.

Com o desenvolvimento de CPU, GPU e FPGA, o poder de computação foi bastante aprimorado. Armazenamento Com a introdução da unidade de estado sólido (SSD), a latência de acesso aos dados foi bastante reduzida.

No entanto, o desenvolvimento da rede está obviamente atrasado, o atraso na transmissão é alto, tornando-se gradualmente o gargalo do desempenho do data center.

o poder de computação foi muito melhorado

Em um data center, 70% do tráfego é leste-oeste (tráfego entre servidores). Esse tráfego geralmente processa o fluxo de dados durante a computação paralela distribuída de alto desempenho em data centers e é transmitido por redes TCP/IP.

Se a taxa de transmissão TCP/IP entre os servidores aumentar, o desempenho do datacenter também aumentará.

70% do tráfego é tráfego leste-oeste

Transferência TCP/IP entre servidores

O processo para o servidor A enviar dados para o servidor B no datacenter é o seguinte:

Transferência TCP/IP entre servidores

  1. Os dados de controle da CPU são copiados do APP Buffer de A para o Buffer do sistema operacional.
  2. Dados de controle da CPU Adicione cabeçalhos TCP e IP ao buffer do sistema operacional (SO).
  3. Adicione cabeçalhos de pacotes TCP e IP para enviar os dados ao NIC e adicione cabeçalhos de pacotes Ethernet.
  4. O pacote é enviado pelo adaptador de rede e transmitido ao adaptador de rede do servidor B pela rede Ethernet.
  5. O adaptador de rede do servidor B descarrega o cabeçalho Ethernet do pacote e o transfere para o Buffer do sistema operacional.
  6. A CPU descarrega cabeçalhos de pacotes TCP e IP no Buffer do sistema operacional.
  7. A CPU controla a transferência de dados desinstalados para o APP Buffer.

Como pode ser visto no processo de transmissão de dados, os dados são copiados várias vezes no Buffer do servidor, e os cabeçalhos TCP e IP precisam ser adicionados ou desinstalados no sistema operacional. Essas operações não apenas aumentam o atraso na transmissão de dados, mas também consomem muitos recursos da CPU, que não atendem aos requisitos de computação de alto desempenho.

Então, como construir uma rede de centro de dados de alto desempenho com alta taxa de transferência, latência ultrabaixa e baixa sobrecarga de CPU?

A tecnologia RDMA pode fazer isso.

O que é RDMA

Remote Direct Memory Access (RDMA) é uma nova tecnologia de acesso à memória que permite aos servidores ler e gravar dados de memória de outros servidores em alta velocidade sem processamento demorado pelo sistema operacional/CPU.

O RDMA não é uma tecnologia nova e tem sido amplamente utilizado em computação de alto desempenho (HPC). Com a demanda de desenvolvimento por alta largura de banda e baixo atraso nos datacenters, o RDMA tem sido aplicado gradativamente em alguns cenários que exigem que os datacenters tenham alto desempenho.

Por exemplo, em 2021, o volume de transações do festival de compras de um grande shopping online atingiu um novo recorde de mais de 500 bilhões de yuans, um aumento de quase 10% em comparação com 2020. Por trás de um volume tão grande de transações está o processamento massivo de dados. O shopping online usa a tecnologia RDMA para oferecer suporte a uma rede de alto desempenho e garantir um festival de compras tranquilo.

Vamos dar uma olhada em alguns dos truques do RDMA para baixa latência.

O RDMA transfere diretamente os dados do aplicativo do servidor da memória para a placa de rede inteligente (INIC) (protocolo RDMA solidificado), e o hardware INIC completa o encapsulamento do pacote de transmissão RDMA, liberando o sistema operacional e a CPU.

o hardware INIC completa o encapsulamento do pacote de transmissão RDMA, liberando o sistema operacional e a CPU

Isso dá ao RDMA duas grandes vantagens:

  • Cópia Zero: Um processo que elimina a necessidade de copiar dados para o kernel do sistema operacional e processar os cabeçalhos dos pacotes, resultando em uma latência de transmissão significativamente reduzida.
  • Desvio de kernel e protocolo Offcarregar: O kernel do sistema operacional não está envolvido e não há lógica de cabeçalho complicada no caminho de dados. Isso reduz a latência e economiza muito os recursos da CPU.

RDMA tem duas grandes vantagens

Três grandes redes RDMA

Atualmente, existem três tipos de redes RDMA, nomeadamente InfiniBand, RoCE (RDMA sobre Ethernet convergente) e iWARP (RDMA sobre TCP).

O RDMA era originalmente exclusivo da arquitetura de rede Infiniband para garantir transporte confiável no nível do hardware, enquanto o RoCE e o iWARP são tecnologias RDMA baseadas em Ethernet.

InfiniBand

  • InfiniBand é uma rede projetada especificamente para RDMA.
  • O modo de encaminhamento Cut-Through é adotado para reduzir o atraso de encaminhamento.
  • O mecanismo de controle de fluxo baseado em crédito garante que não haja perda de pacotes.
  • Requer adaptadores de rede dedicados, switches e roteadores de InfiniBand, que tem o maior custo de construção de rede.

RoCE

  • A camada de transporte é o protocolo InfiniBand.
  • RoCE vem em duas versões: RoCEv1 é implementado na camada de link Ethernet e só pode ser transmitido na camada L2; RoCEv2 hospeda RDMA com base em UDP e pode ser implantado em redes de Camada 3.
  • Suporte para adaptador de rede inteligente dedicado RDMA, sem necessidade de switch e roteador dedicados (suporte à tecnologia ECN/PFC, reduza a taxa de perda de pacotes), o menor custo de construção de rede.

iWARP

  • A camada de transporte é o protocolo iWARP.
  • iWARP é implementado na camada TCP do protocolo Ethernet TCP/IP e suporta transmissão na camada L2/L3. As conexões TCP em redes de grande escala consomem muita CPU, por isso raramente são usadas.
  • O iWARP requer apenas adaptadores de rede para suportar RDMA, sem switches e roteadores privados e custos entre InfiniBand e RoCE.

Com tecnologia avançada, mas um preço alto, o Infiniband é limitado à computação de alto desempenho HPC. Com o surgimento de RoCE e iWARPC, os custos de RDMA são reduzidos e a tecnologia RDMA é popularizada.

O uso desses três tipos de redes RDMA em armazenamento de alto desempenho e centros de dados de computação pode reduzir bastante a latência de transferência de dados e fornecer maior disponibilidade de recursos de CPU para aplicativos.

A rede InfiniBand oferece desempenho extremo para data centers, com latência de transmissão tão baixa quanto 100 nanossegundos, uma ordem de grandeza menor que a dos dispositivos Ethernet.

As redes RoCE e iWARP trazem desempenho de alto custo para data centers e hospedam RDMA sobre Ethernet, aproveitando ao máximo o alto desempenho do RDMA e o baixo uso da CPU, embora não custe muito para construir.

O RoCE baseado em UDP tem um desempenho melhor do que o iWARP baseado em TCP e, combinado com a tecnologia de controle de fluxo Ethernet sem perdas, resolve o problema de sensibilidade à perda de pacotes. A rede RoCE tem sido amplamente utilizada em data centers de alto desempenho em vários setores.

Conclusão

Com o desenvolvimento de 5G, inteligência artificial, Internet industrial e outros novos campos, a aplicação da tecnologia RDMA será cada vez mais popular, e o RDMA dará uma grande contribuição para o desempenho dos data centers.

Deixe um comentário

Voltar ao Topo