Todos os produtos
Search
Central de documentação

Elastic High Performance Computing:Deploy an eRDMA-enabled E-HPC cluster

Última atualização: Aug 21, 2026

Este tópico descreve como criar um cluster E-HPC com eRDMA habilitado (anteriormente E-HPC NEXT). O conteúdo também utiliza o aplicativo OSU-Benchmark para demonstrar como usar o eRDMA na aceleração da comunicação em aplicativos de computação de alto desempenho (HPC) multinó.

Informações básicas

Com o eRDMA, cargas de trabalho paralelas multinó de HPC em um cluster E-HPC (anteriormente E-HPC NEXT), como modelagem climática e meteorológica, simulação industrial e dinâmica molecular, alcançam desempenho de rede comparável ao de clusters on-premises. Isso inclui alta largura de banda e baixa latência, o que melhora significativamente a eficiência das simulações numéricas. Você pode utilizar o RDMA na rede existente sem implantar NICs RDMA adicionais. Essa abordagem oferece integração perfeita e facilidade de uso.

Pré-requisitos

  1. Para criar um cluster E-HPC, acesse a página Create Cluster. Para mais informações, consulte Create a Standard Edition cluster.

    A tabela a seguir descreve a configuração de exemplo do cluster.

  2. Parâmetro

    Configuração

    Cluster Configuration

    Region

    China (Shanghai)

    Network and Availability Zone

    Selecione Availability Zone L

    Series

    Standard Edition

    Deployment Mode

    Public cloud cluster

    Cluster Type

    SLURM

    Management node

    • Instance Specification: ecs.c7.xlarge com 4 vCPUs e 8 GiB de memória.

    • Image: aliyun_2_1903_x64_20G_alibase_20240628.vhd

      Nota

      O pacote de instalação do osu-benchmark foi compilado com base na imagem Alibaba Cloud Linux 2.1903 LTS 64 bits.

    Compute Node and Queue

    Queue Compute Nodes

    Nós iniciais: 2.

    Inter-node interconnection

    eRDMA network

    Nota

    Apenas tipos específicos de instância suportam Elastic RDMA Interconnect (ERI). Para mais informações, consulte Elastic RDMA (eRDMA) e Enable eRDMA on enterprise-level instances.

    Instance type Group

    Instance Specification: ecs.c8ae.xlarge ou outras instâncias AMD da mesma geração.

    Image: aliyun_2_1903_x64_20G_alibase_20240628.vhd

    Shared File Storage

    /home cluster mount directory

    Por padrão, o sistema monta um sistema de arquivos nos diretórios /home e /opt do nó de gerenciamento para servir como diretórios de armazenamento compartilhado.

    /opt mount directory

    Software and Service Component

    Software not Installed

    • erdma-installer

    • mpich-aocc

    Installable service components

    Logon Node:

    • Instance Specification: ecs.c7.xlarge com 4 vCPUs e 8 GiB de memória.

    • Image: aliyun_2_1903_x64_20G_alibase_20240628.vhd

  3. Crie um usuário de cluster. Para mais informações, consulte user management.

Verifique o ambiente eRDMA

Verifique a configuração do eRDMA nos nós de computação.

  1. Faça logon no console Elastic High Performance Computing e clique no cluster desejado.

  2. No painel de navegação à esquerda, escolha Nodes and Queues > Node. Selecione todos os nós de computação do cluster e clique em Send Command.

  3. Verifique o status da rede eRDMA e o suporte a RDMA nos nós de computação.

    1. Envie o seguinte comando para todos os nós de computação.

      hpcacc erdma check

      Na caixa de diálogo Send Command do Cloud Assistant, selecione a instância de destino. Defina Execution Plan como Immediate, Command Type como Shell e Timeout como 60 segundos. Clique em Run.

    2. Um resultado semelhante ao seguinte indica que a configuração do eRDMA está correta.

      {"Success": true, "Message": {"Msg": "HPCACC eRDMA status check succeeded. No fault found."}}
    3. Se houver retorno de erro, execute o comando a seguir para reparar a configuração.

      hpcacc erdma repair
    4. Após concluir o reparo, verifique novamente a configuração do eRDMA.

Execute testes OSU-Benchmark

O OSU-Benchmark avalia o desempenho de comunicação de clusters de computação de alto desempenho (HPC) e sistemas distribuídos. Este tópico utiliza os dois benchmarks a seguir para testar o desempenho da comunicação em diferentes protocolos de rede (TCP vs. RDMA):

  • Teste de latência (osu_latency): Mede a latência unidirecional para comunicação ponto a ponto (tempo entre o envio de uma mensagem pelo processo A e o recebimento pelo processo B, excluindo o tempo de retorno). O teste foca em mensagens pequenas, de 1 byte a vários kilobytes (KB). A latência de mensagens pequenas, métrica central para a capacidade de resposta de sistemas HPC, reflete o desempenho da rede de baixo nível (como recursos de aceleração RDMA) e a otimização da biblioteca MPI. Por exemplo, em simulações em tempo real ou sincronização de parâmetros de machine learning, a baixa latência reduz significativamente a sobrecarga de comunicação.

  • Teste de largura de banda (osu_bw): Mede a largura de banda ponto a ponto sustentável (quantidade de dados transferidos por unidade de tempo). O teste concentra-se em mensagens grandes, de vários kilobytes (KB) a vários megabytes (MB). O desempenho da largura de banda afeta diretamente a eficiência de transferências de grandes volumes de dados, como troca de matrizes em computação científica ou cenários de I/O de arquivos. Caso a largura de banda medida esteja muito abaixo do valor teórico, otimize as configurações do MPI (como comunicação multithread) ou verifique as definições de rede (como MTU e controle de fluxo).

Procedimento

  1. Conecte-se ao cluster E-HPC com o usuário criado. Para mais informações, consulte Connect to a cluster.

  2. Execute o comando a seguir para verificar se os módulos de ambiente dependentes estão instalados corretamente.

    module avail
  3. Execute os comandos abaixo para baixar e descompactar o pacote de instalação pré-compilado do OSU-Benchmark.

    cd ~ && wget https://ehpc-perf.oss-cn-hangzhou.aliyuncs.com/AMD-Genoa/osu-bin.tar.gz
    tar -zxvf osu-bin.tar.gz
  4. Execute os comandos a seguir para acessar o diretório de teste e editar o script de job do Slurm.

    cd ~/pt2pt 
    vim slurm.job

    O conteúdo do script de teste é o seguinte:

    #!/bin/bash
    #SBATCH --job-name=osu-bench
    #SBATCH --ntasks-per-node=1
    #SBATCH --nodes=2
    #SBATCH --partition=comp
    #SBATCH --output=%j.out
    #SBATCH --error=%j.out
    
    # load env params
    module purge
    module load aocc/4.0.0 gcc/12.3.0 libfabric/1.16.0 mpich-aocc/4.0.3
    
    # run mpi latency test: erdma
    echo -e "++++++ use erdma for osu_lat: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="verbs;ofi_rxm" ./osu_latency
    echo -e "------ use erdma for osu_lat: END\n"
    # run mpi latency test: tcp
    echo -e "++++++ use tcp for osu_lat: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="tcp;ofi_rxm" ./osu_latency
    echo -e "------ use erdma for osu_lat: END\n"
    
    # run mpi bandwidth test: erdma
    echo -e "++++++ use erdma for osu_bw: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="verbs;ofi_rxm" ./osu_bw
    echo -e "------ use erdma for osu_bw: END\n"
    # run mpi bandwidth test: tcp
    echo -e "++++++ use tcp for osu_bw: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="tcp;ofi_rxm" ./osu_bw
    echo -e "------ use tcp for osu_bw: END\n"
    Nota
    • -np 2: Especifica o número total de processos. Neste caso, está definido como 2, o que significa que o job MPI inicia dois processos.

    • -ppn 1: Define o número de processos por nó. Aqui, o valor é 1, indicando que cada nó executa um processo.

    • -genv: Configura variáveis de ambiente aplicáveis a todos os processos.

      • FI_PROVIDER="tcp;ofi_rxm": Utiliza o protocolo TCP e aumenta a confiabilidade da comunicação por meio do framework RXM.

      • FI_PROVIDER="verbs;ofi_rxm": Prioriza o protocolo Verbs de alto desempenho, baseado em RDMA, e otimiza a transmissão de mensagens através do framework RXM. Neste tópico, Alibaba Cloud eRDMA fornece uma rede RDMA elástica de alto desempenho.

  5. Execute o comando a seguir para enviar o job de teste.

    sbatch slurm.job

    A interface de linha de comando retorna o ID do job.

  6. Execute o comando abaixo para visualizar o status do job. Durante o teste, também é possível acompanhar informações de monitoramento do cluster E-HPC, como métricas de armazenamento, jobs e nós, diretamente no console. Para mais informações, consulte View monitoring information.

    squeue
    [zh***luster@login0 pt2pt]$ squeue
                 JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
                    11      comp slurm.jo zhtestcl  R       0:01      2 compute[000-001]

    No diretório atual, visualize o arquivo de log correspondente ao ID do job. A saída será semelhante ao conteúdo abaixo:

    • Resultados do teste de latência de rede: Os resultados mostram a relação entre o tamanho da mensagem (Size em bytes, de 1 B a 4 MB) e a latência média da rede (Avg Latency).

      Protocolo Verbs (eRDMA)

      [zxxx@login0 pt2pt]$ cat 11.out
      ++++++ use erdma for osu_lat: START
      
      # OSU MPI Latency Test v7.5
      # Datatype: MPI_CHAR.
      # Size          Avg Latency(us)
      1                       11.01
      2                       11.04
      4                       11.48
      8                       11.33
      16                      11.02
      32                      11.10
      64                      11.15
      128                     11.29
      256                     11.36
      512                     11.39
      1024                    11.81
      2048                    12.99
      4096                    13.95
      8192                    15.92
      16384                   34.57
      32768                   37.15
      65536                   41.15
      131072                  47.10
      262144                  61.17
      524288                 143.06
      1048576                332.54
      2097152                659.65
      4194304               1315.29
      ------ use erdma for osu_lat: END

      Protocolo TCP

      ++++++ use tcp for osu_lat: START
      
      # OSU MPI Latency Test v7.5
      # Datatype: MPI_CHAR.
      # Size          Avg Latency(us)
      1                          16.07
      2                          16.02
      4                          16.03
      8                          16.03
      16                         16.01
      32                         16.27
      64                         16.37
      128                        16.87
      256                        17.36
      512                        17.89
      1024                       18.56
      2048                       33.78
      4096                       33.39
      8192                       30.74
      16384                      45.17
      32768                      94.50
      65536                     107.07
      131072                    124.95
      262144                    160.55
      524288                    238.40
      1048576                   374.89
      2097152                   639.81
      4194304                  1188.98
      ------ use erdma for osu_lat: END

      Os dados do teste indicam que, para mensagens pequenas (1 B a 8 KB), a latência do eRDMA é significativamente menor que a do TCP.

    • Resultados do teste de largura de banda de rede: Os resultados apresentam a relação entre o tamanho da mensagem (Size em bytes, de 1 B a 4 MB) e a largura de banda (Bandwidth).

      Protocolo Verbs (eRDMA)

      ++++++ use erdma for osu_bw: START
      
      # OSU MPI Bandwidth Test v7.5
      # Datatype: MPI_CHAR.
      # Size          Bandwidth (MB/s)
      1                       1.09
      2                       2.21
      4                       4.43
      8                       8.91
      16                     17.98
      32                     35.88
      64                     69.93
      128                   137.73
      256                   258.35
      512                   541.90
      1024                 1023.92
      2048                 1768.96
      4096                 2918.97
      8192                 3984.86
      16384                5203.51
      32768                6264.41
      65536                1661.85
      131072               1696.79
      262144               1535.17
      524288               1587.83
      1048576              1637.65
      2097152              1636.63
      4194304              1637.17
      
      ------ use erdma for osu_bw: END

      Protocolo TCP

      ++++++ use tcp for osu_bw: START
      
      # OSU MPI Bandwidth Test v7.5
      # Datatype: MPI_CHAR.
      # Size      Bandwidth (MB/s)
      1                       0.38
      2                       0.75
      4                       1.51
      8                       3.01
      16                      5.95
      32                     12.10
      64                     23.43
      128                    46.30
      256                    88.25
      512                   167.70
      1024                  343.96
      2048                  614.60
      4096                 1183.85
      8192                 1567.03
      16384                1835.89
      32768                1731.67
      65536                2904.03
      131072               3160.96
      262144               1876.96
      524288               1730.89
      1048576              1733.18
      2097152              1736.09
      4194304              1735.78
      ------ use tcp for osu_bw: END

      Os dados do teste indicam que, para tamanhos de mensagem entre 16 KB e 64 KB, o eRDMA aproveita totalmente a largura de banda da rede, enquanto a pilha de protocolos TCP introduz sobrecarga adicional.