Amazon Elastic Compute Cloud
Linux 인스턴스용 사용 설명서

EFA 및 MPI 시작하기

이 자습서는 HPC 워크로드를 위한 MPI 지원 인스턴스와 EFA를 시작하는 데 도움이 됩니다. 이 자습서에서는 다음 단계를 수행합니다.

1단계: EFA를 사용한 보안 그룹을 준비합니다.

EFA는 보안 그룹 자체 내의 모든 인바운드 및 아웃바운드 트래픽을 허용하는 보안 그룹이 필요합니다.

EFA를 사용한 보안 그룹을 생성합니다.

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 보안 그룹을 선택한 다음, 보안 그룹 생성을 선택합니다.

  3. 보안 그룹 생성 창에서 다음을 수행하십시오.

    1. 보안 그룹 이름의 경우 EFA-enabled security group과 같은 보안 그룹의 고유한 이름을 입력합니다.

    2. (선택 사항) 설명에 보안 그룹에 대한 간략한 설명을 입력합니다.

    3. VPC에서는 EFA를 사용한 인스턴스를 시작하려는 VPC를 입력합니다.

    4. 생성을 선택합니다.

  4. 생성한 보안 그룹을 선택하고 설명 탭에서 그룹 ID를 복사합니다.

  5. 인바운드아웃바운드 탭에서 다음을 수행합니다.

    1. 편집을 선택합니다.

    2. 유형에서 모든 트래픽을 선택합니다.

    3. 소스에서 사용자 지정을 선택합니다.

    4. 복사한 보안 그룹 ID를 필드에 붙여넣습니다.

    5. Save를 선택합니다.

2단계: 임시 인스턴스 실행

EFA 소프트웨어 구성 요소를 설치하고 구성하는 데 사용할 수 있는 임시 인스턴스를 실행합니다. 이 인스턴스를 사용해 EFA를 사용한 AMI을 생성하여 EFA를 사용한 인스턴스를 실행할 수 있습니다.

임시 인스턴스를 실행합니다.

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 인스턴스 시작을 선택합니다.

  3. AMI 선택 페이지에서 지원되는 AMIs(Amazon Linux, Amazon Linux 2, RHEL 7.6, RHEL 7.7, CentOS 7, Ubuntu 16.04, and Ubuntu 18.04) 중 하나에 대해 선택을 선택합니다.

  4. Choose an Instance Type(인스턴스 유형 선택) 페이지에서 다음의 지원되는 인스턴스 유형을 선택하고 Next: Configure Instance Details(다음: 인스턴스 정보 구성)를 선택합니다: c5n.18xlarge, c5n.metal, i3en.24xlarge, m5dn.24xlarge, m5n.24xlarge, r5dn.24xlarge, r5n.24xlarge, and p3dn.24xlarge.

  5. [Configure Instance Details] 페이지에서 다음을 수행합니다.

    1. Elastic Fabric Adapter(EFA)에서 활성화를 선택합니다.

    2. 네트워크 인터페이스 항목의 디바이스 eth0에서 새 네트워크 인터페이스를 선택합니다.

    3. Next: Add Storage(다음: 스토리지 추가)를 선택합니다.

  6. 스토리지 추가 페이지에서 인스턴스를 연결할 볼륨과 AMI로 지정한 볼륨(루트 디바이스 볼륨 등)을 지정하고 다음: 태그 추가를 선택합니다.

  7. 태그 추가 페이지에서 임시 인스턴스를 식별할 태그를 지정하고 다음: 보안 그룹 구성을 선택합니다.

  8. 보안 그룹 구성 페이지의 보안 그룹 할당에서 기존 보안 그룹 선택을 선택하고 1단계에서 생성한 보안 그룹을 선택합니다.

  9. 인스턴스 시작 검토 페이지에서 설정을 검토한 후 시작을 선택하여 키 페어를 선택하고 인스턴스를 시작합니다.

3단계: Libfabric 및 Open MPI 설치

EFA를 사용하는 커널, EFA 드라이버, libfabric 및 임시 인스턴스에서 EFA를 지원하는 데 필요한 OPEN MPI 스택을 설치합니다.

임시 인스턴스에 libfabric 및 Open MPI를 설치하려면

  1. 2단계에서 시작한 인스턴스에 연결합니다. 자세한 내용은 Linux 인스턴스에 연결를 참조하십시오.

  2. EFA 소프트웨어 설치 파일을 다운로드합니다. 최신 안정 버전을 다운로드하려면 다음 명령을 사용하십시오.

    $ curl -O https://s3-us-west-2.amazonaws.com/aws-efa-installer/aws-efa-installer-1.7.0.tar.gz

    또한 위의 명령에서 버전 번호를 latest로 바꾸면 최신 버전을 얻을 수 있습니다.

  3. 소프트웨어 설치 파일은 압축된 .tar.gz 파일 형태로 되어 있습니다. 압축 .tar.gz 파일에서 파일을 추출하고 추출된 디렉터리로 이동하십시오.

    $ tar -xf aws-efa-installer-1.7.0.tar.gz
    $ cd aws-efa-installer
  4. EFA 소프트웨어 설치 스크립트를 실행합니다.

    $ sudo ./efa_installer.sh -y

    Libfabric은 /opt/amazon/efa 디렉터리에 설치되는 반면, Open MPI는 /opt/amazon/openmpi 디렉터리에 설치됩니다.

  5. 인스턴스에서 로그아웃한 후 다시 로그인합니다.

  6. EFA 소프트웨어 구성 요소가 성공적으로 설치되었는지 확인합니다.

    $ fi_info -p efa

    이 명령은 libfabric EFA 인스턴스에 대한 정보를 반환합니다. 다음은 해당 명령 출력을 보여주는 예제입니다.

    provider: efa fabric: EFA-fe80::94:3dff:fe89:1b70 domain: efa_0-rdm version: 2.0 type: FI_EP_RDM protocol: FI_PROTO_EFA provider: efa fabric: EFA-fe80::94:3dff:fe89:1b70 domain: efa_0-dgrm version: 2.0 type: FI_EP_DGRAM protocol: FI_PROTO_EFA provider: efa;ofi_rxd fabric: EFA-fe80::94:3dff:fe89:1b70 domain: efa_0-dgrm version: 1.0 type: FI_EP_RDM protocol: FI_PROTO_RXD

4단계: (선택 사항) Intel MPI 설치

참고

Open MPI를 사용하려면 이 단계를 건너뜁니다. Intel MPI를 사용하려는 경우에만 이 단계를 수행하십시오.

Intel MPI 설치에는 추가 설치 스크립트 및 환경 변수 구성이 필요합니다.

사전 조건

다음 단계를 수행하는 사용자가 sudo 권한을 가지고 있는지 확인하십시오.

Intel MPI를 설치하려면

  1. Intel MPI 설치 스크립트를 다운로드하십시오.

    $ curl -O http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15553/aws_impi.sh
  2. 스크립트 읽기 권한을 변경하여 그룹 읽기/쓰기 권한을 추가하십시오.

    $ chmod 755 aws_impi.sh
  3. 설치 스크립트를 실행합니다.

    $ ./aws_impi.sh install

    인텔 MPI가 /opt/intel/impi/2019.4.243/intel64 디렉터리에 설치됩니다.

  4. 해당 셸 시작 스크립트에 Intel MPI 환경 변수를 추가하여 인스턴스가 시작될 때마다 설정되도록 하십시오. 셸에 따라 다음 중 하나를 수행합니다.

    참고

    환경 변수의 길이 제한으로 인해 csh 셸은 지원되지 않습니다.

    • bash의 경우, /home/username/.bashrc/home/username/.bash_profile에 다음 환경 변수를 추가하십시오.

      source /opt/intel/impi/2019.4.243/intel64/bin/mpivars.sh
    • tcsh의 경우, 다음 환경 변수를 /home/username/.cshrc에 추가하십시오.

      source /opt/intel/impi/2019.4.243/intel64/bin/mpivarsh.csh
  5. 인스턴스에서 로그아웃한 후 다시 로그인합니다.

  6. 다음 명령을 실행하여 Intel MPI가 성공적으로 설치되었는지 확인하십시오.

    $ which mpicc

    다음은 해당 명령 출력을 보여주는 예제입니다.

    /opt/intel/compilers_and_libraries_2019.4.243/linux/mpi/intel64/bin/mpicc

참고

Intel MPI를 더 이상 사용하지 않으려면 셸 시작 스크립트에서 환경 변수를 제거하십시오.

5단계: HPC 애플리케이션 설치

임시 인스턴스에 HPC 애플리케이션을 설치합니다. 설치 절차는 HPC 애플리케이션에 따라 다릅니다. Linux 인스턴스에 소프트웨어를 설치하는 데 대한 자세한 정보는 Linux 인스턴스에서 소프트웨어 관리를 참조하십시오.

참고

설치 안내를 위한 HPC 애플리케이션 문서를 참조해야 할 수도 있습니다.

6단계: EFA를 사용하는 AMI 생성

필요한 소프트웨어 구성 요소를 설치한 후 EFA 및 NCCL을 사용한 AMI를 생성하여 EFA 및 NCCL을 사용한 인스턴스를 시작하는 데 재사용할 수 있습니다.

임시 인스턴스에서 AMI를 생성하는 방법

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택합니다.

  3. 1단계에서 생성한 인스턴스를 선택하고 작업, 이미지, 이미지 생성을 선택합니다.

  4. 이미지 생성 창에서 다음을 수행합니다.

    1. 이미지 이름에 AMI를 설명하는 이름을 입력합니다.

    2. (선택 사항) 이미지 설명에 AMI에 대한 간략한 설명을 입력합니다.

    3. 이미지 생성을 선택한 후 닫기를 선택합니다.

  5. 탐색 창에서 AMI를 선택합니다.

  6. 목록에서 생성한 AMI을 찾습니다. 상태가 pending에서 available으로 바뀌기를 기다렸다가 다음 단계를 수행하십시오.

7단계: 클러스터 배치 그룹에 EFA를 사용한 인스턴스 시작

6단계에서 생성한 EFA이 지원되는 AMI를 사용한 클러스터 배치 그룹과 1단계에서 생성한 EFA를 지원하는 보안 그룹에 EFA를 사용한 인스턴스를 시작합니다.

참고

클러스터 배치 그룹에 EFA 지원 인스턴스를 시작할 필요는 없습니다. 그러나 EFA가 지원되는 인스턴스를 클러스터 배치 그룹에서 실행하면 단일 가용 영역의 지연율이 낮은 그룹 인스턴스를 시작하기 때문에 권장합니다.

클러스터 배치 그룹에 EFA를 사용한 인스턴스 시작

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 인스턴스 시작을 선택합니다.

  3. AMI 선택 페이지에서 내 AMI를 선택하고 6단계에서 생성한 AMI를 찾은 뒤 선택을 선택합니다.

  4. Choose an Instance Type(인스턴스 유형 선택) 페이지에서 다음의 지원되는 인스턴스 유형을 선택하고 Next: Configure Instance Details(다음: 인스턴스 정보 구성)를 선택합니다: c5n.18xlarge, c5n.metal, i3en.24xlarge, m5dn.24xlarge, m5n.24xlarge, r5dn.24xlarge, r5n.24xlarge, and p3dn.24xlarge.

  5. [Configure Instance Details] 페이지에서 다음을 수행합니다.

    1. 인스턴스 수에 시작할 EFA를 사용한 인스턴스 수를 입력합니다.

    2. 네트워크서브넷에서 인스턴스를 시작할 VPC와 서브넷을 선택합니다.

    3. 배치 그룹에서 배치 그룹에 인스턴스를 추가를 선택합니다.

    4. 배치 그룹 이름에서 새 배치 그룹 추가를 선택하고 배치 그룹을 설명하는 이름을 입력한 뒤 배치 그룹 전략에서 클러스터를 선택합니다.

    5. EFA에서 활성화를 선택합니다.

    6. 네트워크 인터페이스 항목의 디바이스 eth0에서 새 네트워크 인터페이스를 선택합니다. 하나의 기본 IPv4 주소와 하나 이상의 보조 IPv4 주소를 입력할 수도 있습니다. 연결된 IPv6 CIDR 블록이 있는 서브넷에서 인스턴스를 시작하는 경우 기본 IPv6 주소 및 하나 이상의 보조 IPv6 주소를 입력할 수도 있습니다.

    7. Next: Add Storage(다음: 스토리지 추가)를 선택합니다.

  6. 스토리지 추가 페이지에서 인스턴스를 연결할 볼륨과 AMI로 지정한 볼륨(루트 디바이스 볼륨 등)을 지정하고 다음: 태그 추가를 선택합니다.

  7. 태그 추가 페이지에서 사용자에게 친숙한 이름 등의 인스턴스 태그를 지정한 후 다음: 보안 그룹 구성(Next: Configure Security Group)을 선택합니다.

  8. 보안 그룹 구성 페이지의 보안 그룹 할당에서 기존 보안 그룹 선택을 선택하고 1단계에서 생성한 보안 그룹을 선택합니다.

  9. 검토 및 시작을 선택합니다.

  10. 인스턴스 시작 검토 페이지에서 설정을 검토한 후 시작을 선택하여 키 페어를 선택하고 인스턴스를 시작합니다.

8단계: 임시 인스턴스 종료

이 단계에서는 1단계에서 시작한 임시 인스턴스가 더 이상 필요하지 않습니다. 추가 요금이 발생하지 않도록 해당 인스턴스를 종료할 수 있습니다.

임시 인스턴스 종료

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택합니다.

  3. 1단계에서 생성한 임시 인스턴스를 선택하고 작업, 인스턴스 상태, 종료, 네, 종료합니다를 선택합니다.