(선택 사항) EFA 테스트 - AWS PCS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

(선택 사항) EFA 테스트

EFA 소프트웨어 설치에 포함된 fi_pingpong 프로그램을 실행하여 컴퓨팅 노드 그룹의 두 노드 간 EFA 지원 통신을 시연할 수 있습니다. 이 테스트가 성공하면 EFA가 올바르게 구성된 것일 수 있습니다.

시작하려면 컴퓨팅 노드 그룹에 실행 중인 인스턴스 2개가 필요합니다. 컴퓨팅 노드 그룹이 정적 용량을 사용하는 경우 사용 가능한 인스턴스가 이미 있어야 합니다. 동적 용량을 사용하는 컴퓨팅 노드 그룹의 경우 salloc 명령을 사용하여 두 개의 노드를 시작할 수 있습니다. 다음은 라는 대기열과 hpc7g 연결된 라는 동적 노드 그룹이 있는 클러스터의 예입니다all.

% 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

를 사용하여 할당된 두 노드의 IP 주소를 찾습니다scontrol. 다음 예제에서 주소는 10.3.140.69hpc7g-1 경우 ,의 10.3.132.211 경우 입니다hpc7g-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

SSH(또는 SSMhpc7g-1)를 사용하여 노드 중 하나(이 예제에서는 )에 연결합니다. 이는 내부 IP 주소이므로 SSH를 사용하는 경우 로그인 노드 중 하나에서 연결해야 할 수 있습니다. 또한 컴퓨팅 노드 그룹 시작 템플릿을 통해 SSH 키로 인스턴스를 구성해야 합니다.

% ssh ec2-user@10.3.140.69

이제 서버 모드에서 fi_pingpong를 시작합니다.

/opt/amazon/efa/bin/fi_pingpong -p efa

두 번째 인스턴스(hpc7g-2)에 연결합니다.

% ssh ec2-user@10.3.132.211

fi_pingpong 클라이언트 모드에서 실행하여의 서버에 연결합니다hpc7g-1. 아래 예제와 유사한 출력이 표시되어야 합니다.

% /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