Configure o eRDMA em um tipo de instância compatível instalando o driver e vinculando uma Elastic RDMA Interface (ERI) para obter rede RDMA com latência ultrabaixa.
Ative o eRDMA em uma instância ECS
Etapa 1: Confirme a compatibilidade da instância e da imagem
Apenas determinados tipos de instância e imagens oferecem suporte ao eRDMA:
Instâncias de CPU de nível empresarial: consulte Tipos de instância e imagens de CPU de nível empresarial com suporte a eRDMA.
Instâncias GPU: consulte Tipos de instância e imagens GPU com suporte a eRDMA.
Etapa 2: Instale o driver do eRDMA
A Alibaba Cloud desenvolve e mantém o driver do eRDMA.
A instalação do driver pode levar algum tempo.
-
Pacotes de instalação do driver
-
Instale o driver do eRDMA
Instale o driver do eRDMA automaticamente durante a criação da instância ou manualmente em uma instância existente.
Instâncias de CPU de nível empresarial: consulte Configure o eRDMA em uma instância de nível empresarial.
Instâncias GPU: consulte Ative o eRDMA em uma instância GPU.
-
Driver de kernel do eRDMA
Após instalar o driver do eRDMA, execute
eadm verpara verificar a versão do driver de kernel do eRDMA. O pacote de instalação mais recente (1.4.5) corresponde à versão 0.2.38 do driver de kernel.
O driver de kernel do eRDMA oferece dois modos de instalação que determinam os métodos disponíveis para estabelecimento de conexão. Consulte RDMA_CM para obter detalhes sobre o estabelecimento de conexão do eRDMA.
-
Standard: Oferece suporte apenas ao estabelecimento de conexão via RDMA_CM.ImportantePor padrão, as Famílias de instâncias baseadas em CPU com suporte a eRDMA instalam o driver do eRDMA em modo kernel no modo Standard. Nesse modo, há suporte apenas ao método de estabelecimento de conexão RDMA_CM.
-
Compat: Oferece suporte aos métodos de estabelecimento de conexão RDMA_CM e OOB.ImportantePor padrão, as Famílias de instâncias baseadas em GPU com suporte a eRDMA instalam o driver do eRDMA em modo kernel no modo Compat. Nesse modo, há suporte aos métodos de estabelecimento de conexão RDMA_CM e OOB.
Use a CLI para ativar a compatibilidade entre os métodos de estabelecimento de conexão RDMA_CM e OOB. Para mais informações, consulte Alterar o modo de estabelecimento de conexão do eRDMA para ser compatível com bRPC.
No modo Compat, 16 portas TCP adicionais no intervalo de 30608 a 30623 ficam ocupadas.
-
Etapa 3: Vincular uma ERI à instância
Ative a interface eRDMA na ENI primária durante a criação da instância ou vincule uma ERI a uma instância existente.
Para determinar o número máximo de ERIs compatíveis com um tipo de instância, verifique o valor do parâmetro EriQuantity na resposta da operação DescribeInstanceTypes. Um valor igual a 0 indica que o tipo de instância não oferece suporte a ERIs.
-
Ative a eRDMA interface para uma ENI durante a criação da instância
Consulte Crie uma ERI ao criar uma instância.
-
Crie uma ERI e vincule-a a uma instância ECS
Para criar uma ERI, consulte Crie uma ERI independente.
Para vincular uma ERI a uma instância ECS, consulte Vincular uma ENI secundária.
-
Modifique os atributos de uma ENI vinculada para ativar a interface eRDMA
Consulte Modifique os atributos de uma ENI.
-
Crie uma ENI secundária com a interface eRDMA ativada e vincule-a a uma instância usando uma operação de API
Crie e vincule uma ENI secundária usando operações de API:
-
Chame uma operação de API para criar uma ERI.
Chame a operação CreateNetworkInterface para criar uma ENI. Para criar uma ENI com uma ERI ativada, defina o parâmetro NetworkInterfaceTrafficMode como HighPerformance.
Anote o ID da ENI retornado no parâmetro
NetworkInterfaceId. -
Chame a operação AttachNetworkInterface. Defina NetworkInterfaceId com o ID da etapa anterior e InstanceId com o ID da instância de destino para vincular a ENI com ERI ativada.
ImportanteSe o seu tipo de instância oferecer suporte a múltiplas ERIs, especifique um NetworkCardIndex diferente para cada ERI ao vinculá-las, a fim de maximizar a largura de banda da rede. Isso garante que as ERIs sejam vinculadas a canais diferentes. Consulte Índices de placa de rede.
-
Verifique a configuração do eRDMA
Execute ibv_devinfo para verificar as propriedades de hardware do dispositivo, os status das portas e os recursos compatíveis. Se os componentes RDMA estiverem funcionando corretamente, a saída do ibv_devinfo mostrará pelo menos uma porta como PORT_ACTIVE. Consulte Testando operações RDMA.
Utilize o ibv_devinfo com a flag -v para obter informações detalhadas do dispositivo, como versão de hardware, tamanho máximo de mensagem, contagem de filas e tamanho da janela de memória.
Execute ibv_devinfo para verificar a configuração do eRDMA:
-
eRDMA configurado corretamente: A interface eRDMA está ativada nas ENIs e o driver foi instalado corretamente.
NotaSe sua instância tiver múltiplas ERIs anexadas, cada porta do dispositivo eRDMA deve exibir
statecomoPORT_ACTIVE.Se o
statemostrarinvalid state, a interface de rede eRDMA está anormal. Verifique se a ENI secundária está configurada corretamente. Por exemplo, executeifconfigpara validar todas as interfaces de rede e endereços IP. Consulte Configure uma interface de rede elástica secundária.

-
Driver do eRDMA não instalado corretamente: O driver está ausente ou foi instalado incorretamente. Consulte Etapa 2: Instale o driver do eRDMA na instância ECS.

-
Nenhuma ERI vinculada à instância: O driver está instalado, mas nenhuma ERI está ativada na ENI. Consulte Etapa 3: Vincular uma ERI à instância ECS.

Também é possível usar a ferramenta de diagnóstico para testar o eRDMA. Consulte Usar a ferramenta de diagnóstico para verificar problemas relacionados ao RDMA e avaliar o desempenho do eRDMA.
Testar o desempenho da rede eRDMA
O perftest mede a latência e a largura de banda das operações RDMA para envio, recebimento, leitura e escrita. Utilize-o para avaliar o desempenho do dispositivo RDMA e diagnosticar problemas de rede. Consulte a documentação do perftest.
Suíte de testes perftest
O pacote perftest inclui os seguintes testes de largura de banda e latência:
|
Operação RDMA |
Programa de teste de largura de banda |
Programa de teste de latência |
|
Send |
ib_send_bw (teste de largura de banda de envio) |
ib_send_lat (teste de latência de envio) |
|
RDMA Read |
ib_read_bw (teste de largura de banda de leitura) |
ib_read_lat (teste de latência de leitura) |
|
RDMA Write |
ib_write_bw (teste de largura de banda de escrita) |
ib_write_lat (teste de latência de escrita) |
|
RDMA Atomic |
ib_atomic_bw (teste de largura de banda atômica) |
ib_atomic_lat (teste de latência atômica) |
|
Native Ethernet |
raw_ethernet_bw (teste de largura de banda Ethernet bruta) |
raw_ethernet_lat (teste de latência Ethernet bruta) |
Instale o perftest
Instale o perftest a partir do repositório oficial (requer um endereço IP público) ou de um repositório YUM/APT.
Repositório oficial
Atribua um endereço IP público à instância ECS.
Baixe e instale o perftest a partir do repositório oficial do perftest.
Repositório YUM ou APT
As versões do perftest nos repositórios de software podem variar entre distribuições Linux, causando problemas de compatibilidade. Use a mesma distribuição em todas as instâncias que se comunicam. Se isso não for possível, instale a partir do repositório oficial.
-
Alibaba Cloud Linux 3, CentOS ou Anolis OS
sudo yum install perftest -y -
Ubuntu
sudo apt install perftest -y
Exemplo de uso do perftest
Cada teste é executado como um comando independente. Por exemplo, ib_send_lat executa um teste de latência de envio.
Defina os parâmetros de teste corretos para controlar o comportamento do perftest e obter resultados precisos. As diretrizes a seguir ajudam a configurar e executar o perftest.
Teste de latência de rede: Consulte Testar o desempenho de latência de escrita de uma instância com eRDMA ativado.
Teste de largura de banda de rede: Consulte Ative o eRDMA em uma instância GPU.
Referências
Utilize o eRDMA dentro de containers para transferência de dados em grande escala e redes de alto desempenho. Consulte Ative o eRDMA em containers Docker.
Use o eRDMA em clusters do Alibaba Cloud Container Service for Kubernetes (ACK) para comunicação de baixa latência e alto throughput entre serviços. Consulte Usar o eRDMA para acelerar redes de containers.
Integre o eRDMA com aplicações TCP como Redis, Spark, Kafka ou outras aplicações HPC. Consulte Integração de aplicações.
Monitore, diagnostique e acompanhe o status do eRDMA em tempo real. Consulte Monitorar e diagnosticar o eRDMA.