As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
(Opcional) Teste EFA
Você pode demonstrar a comunicação habilitada para EFA entre dois nós em um grupo de nós de computação executando o fi_pingpong
programa, que está incluído na instalação do software EFA. Se esse teste for bem-sucedido, é provável que o EFA esteja configurado corretamente.
Para começar, você precisa de duas instâncias em execução no grupo de nós de computação. Se seu grupo de nós de computação usa capacidade estática, já deve haver instâncias disponíveis. Para um grupo de nós de computação que usa capacidade dinâmica, você pode iniciar dois nós usando o salloc
comando. Aqui está um exemplo de um cluster com um grupo dinâmico de nós chamado hpc7g
associado a uma fila chamadaall
.
% salloc --nodes 2 -p all salloc: Granted job allocation 6 salloc: Waiting for resource configuration ... a few minutes pass ... salloc: Nodes hpc7g-[1-2] are ready for job
Descubra o endereço IP dos dois nós alocados usandoscontrol
. No exemplo a seguir, os endereços são 10.3.140.69
para hpc7g-1
e 10.3.132.211
parahpc7g-2
.
% scontrol show nodes hpc7g-[1-2] NodeName=hpc7g-1 Arch=aarch64 CoresPerSocket=1 CPUAlloc=0 CPUEfctv=64 CPUTot=64 CPULoad=0.00 AvailableFeatures=hpc7g ActiveFeatures=hpc7g Gres=(null) NodeAddr=10.3.140.69 NodeHostName=ip-10-3-140-69 Version=24.11.5 OS=Linux 5.10.218-208.862.amzn2.aarch64 #1 SMP Tue Jun 4 16:52:10 UTC 2024 RealMemory=124518 AllocMem=0 FreeMem=110763 Sockets=64 Boards=1 State=IDLE+CLOUD ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A Partitions=efa BootTime=2024-07-02T19:00:09 SlurmdStartTime=2024-07-08T19:33:25 LastBusyTime=2024-07-08T19:33:25 ResumeAfterTime=None CfgTRES=cpu=64,mem=124518M,billing=64 AllocTRES= CapWatts=n/a CurrentWatts=0 AveWatts=0 ExtSensorsJoules=n/a ExtSensorsWatts=0 ExtSensorsTemp=n/a Reason=Maintain Minimum Number Of Instances [root@2024-07-02T18:59:00] InstanceId=i-04927897a9ce3c143 InstanceType=hpc7g.16xlarge NodeName=hpc7g-2 Arch=aarch64 CoresPerSocket=1 CPUAlloc=0 CPUEfctv=64 CPUTot=64 CPULoad=0.00 AvailableFeatures=hpc7g ActiveFeatures=hpc7g Gres=(null) NodeAddr=10.3.132.211 NodeHostName=ip-10-3-132-211 Version=24.11.5 OS=Linux 5.10.218-208.862.amzn2.aarch64 #1 SMP Tue Jun 4 16:52:10 UTC 2024 RealMemory=124518 AllocMem=0 FreeMem=110759 Sockets=64 Boards=1 State=IDLE+CLOUD ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A Partitions=efa BootTime=2024-07-02T19:00:09 SlurmdStartTime=2024-07-08T19:33:25 LastBusyTime=2024-07-08T19:33:25 ResumeAfterTime=None CfgTRES=cpu=64,mem=124518M,billing=64 AllocTRES= CapWatts=n/a CurrentWatts=0 AveWatts=0 ExtSensorsJoules=n/a ExtSensorsWatts=0 ExtSensorsTemp=n/a Reason=Maintain Minimum Number Of Instances [root@2024-07-02T18:59:00] InstanceId=i-0a2c82623cb1393a7 InstanceType=hpc7g.16xlarge
Conecte-se a um dos nós (neste caso de exemplohpc7g-1
) usando SSH (ou SSM). Observe que esse é um endereço IP interno, portanto, talvez seja necessário se conectar a partir de um dos seus nós de login se usar SSH. Lembre-se também de que a instância precisa ser configurada com uma chave SSH por meio do modelo de execução do grupo de nós de computação.
% ssh ec2-user@10.3.140.69
Agora, inicie fi_pingpong
no modo servidor.
/opt/amazon/efa/bin/fi_pingpong -p efa
Conecte-se à segunda instância (hpc7g-2
).
% ssh ec2-user@10.3.132.211
Execute fi_pingpong
no modo cliente, conectando-se ao servidor ativadohpc7g-1
. Você deve ver uma saída semelhante ao exemplo abaixo.
% /opt/amazon/efa/bin/fi_pingpong -p efa 10.3.140.69 bytes #sent #ack total time MB/sec usec/xfer Mxfers/sec 64 10 =10 1.2k 0.00s 3.08 20.75 0.05 256 10 =10 5k 0.00s 21.24 12.05 0.08 1k 10 =10 20k 0.00s 82.91 12.35 0.08 4k 10 =10 80k 0.00s 311.48 13.15 0.08 [error] util/pingpong.c:1876: fi_close (-22) fid 0