Oracle Cloud Marketplace에서 HPC 클러스터 스택 구성

HPC 클러스터 스택은 Terraform을 사용하여 Oracle Cloud Infrastructure 리소스를 배치합니다. 이 스택은 GPU 노드, 스토리지, 표준 네트워킹 및 고성능 클러스터 네트워킹, 클러스터 액세스 및 관리를 위한 배스천/헤드 노드를 생성합니다.

GPU 클러스터 배치

Oracle Cloud 계정은 이러한 리소스를 배치 및 관리할 수 있는 권한이 있는 그룹에 속해야 합니다. 정책 요구 사항에 대한 자세한 내용은 HPC 클러스터 사용 지침을 참조하십시오.

기존 구획에 스택을 배치할 수 있지만 클러스터 전용 구획을 생성하는 경우 더 클린할 수 있습니다.

주:

Marketplace 스택을 사용하여 환경을 프로비저닝하는 데는 비용이 들지 않지만 스택이 시작될 때 프로비저닝된 리소스에 대해 비용이 청구됩니다.
  1. 테넌시 및 지역에 대한 구획을 생성하고 정책을 사용할 수 있는지 확인합니다.
    1. OCI 콘솔에 작업할 테넌시 및 지역에 대한 Oracle Cloud 사용자로 로그인합니다.
    2. 클러스터 리소스에 대한 구획을 생성합니다.
    3. 클러스터를 빌드할 수 있도록 OCI 정책이 준비되었는지 확인합니다.
      보안 또는 네트워크 관리자의 지원이 필요할 수 있습니다. 다음은 정책 예입니다. "myGroup 그룹이 compartment 구획의 모든 리소스를 관리하도록 허용"
  2. HPC 클러스터 스택을 사용하여 GPU 클러스터를 배치합니다.
    1. 마켓플레이스로 이동한 다음 모든 애플리케이션을 누릅니다.
    2. 목록 검색 상자에 HPC 클러스터를 입력합니다.

      주:

      HPC 클러스터 스택을 테넌시의 OCI 마켓플레이스에서 사용할 수 없는 경우 GitHub(git clone https://github.com/oracle-quickstart/oci-hpc.git)에서 스택을 복제하고 OCI Resource Manager로 임포트할 수 있습니다. 동일한 기능을 제공하지만 GPU 노드에 적합한 "사용자 정의 OS 이미지"에 액세스할 수 있어야 합니다.
    3. HPC 클러스터를 누릅니다.
    4. 버전 선택.
      기본 v2.10.4.1을 사용했습니다.
    5. 클러스터를 빌드할 구획 선택
    6. 스택 실행을 누릅니다.

클러스터를 구성합니다.

스택이 시작되면 Stack Information and Configuration 페이지를 완료하여 클러스터 구성을 시작합니다.

  1. 스택 정보 페이지를 완성합니다.
    1. 클러스터의 이름을 입력합니다.
    2. (옵션) 간단한 설명을 추가합니다.
    3. 다음을 누릅니다.

    구성 변수 페이지가 표시됩니다.

  2. 클러스터를 구성합니다.
    구성 변수 페이지에서는 필요에 따라 클러스터를 사용자 정의할 수 있는 다양한 기회를 제공합니다. 우리는 각 옵션을 자세히 다루지 않습니다. 대신 NVIDIA 클러스터 소프트웨어를 지원하는 GPU 클러스터를 구축하는 데 기본 설정이 아닌 설정이 필요한 경우 지침을 제공합니다.
    1. 공용 SSH 키에서 클러스터에 로그인할 수 있는 공용 키를 추가합니다.
    2. 사용자 정의 클러스터 이름 사용 체크 박스를 선택한 다음 기본 호스트 이름을 입력합니다.
      배스천 및 로그인 노드 호스트 이름의 접두어로 사용됩니다.
  3. 헤드노드 옵션을 사용하여 배스천을 사용자정의합니다.
    이 인스턴스는 주 로그인 노드인 Slurm 컨트롤러 역할을 하며 클러스터를 지원하는 일부 빌드 및 기타 작업에도 사용할 수 있습니다. 여기에서 요구 사항에 맞게 CPU, 메모리 및 부팅 볼륨 용량을 조정할 수 있습니다.
  4. 컴퓨트 노드 옵션을 사용하여 클러스터에 있는 작업자 노드의 유형 및 수량을 선택합니다. 마켓플레이스의 OS 이미지로 이러한 노드를 배치하거나 선호하는 OS 빌드가 포함된 사용자정의 이미지를 제공할 수 있습니다.
    • 가용성 도메인: AD(가용성 도메인)가 여러 개인 지역에서 작업 중인 경우 GPU 리소스가 가장 많이 사용 가능한 AD를 선택합니다.
    • 클러스터 네트워크 사용을 선택합니다.
    • 컴퓨트 노드의 구성: 이 클러스터에서 사용 중인 베어메탈 GPU 구성을 선택합니다. 예: BM.GPU4.8.
    • 초기 클러스터 크기: 프로비전할 베어 메탈 노드 수를 입력합니다.
    • 마켓플레이스에서 사전 구성된 OS 이미지로 빌드하려면 마켓플레이스 이미지 사용을 선택합니다. 그런 다음 이미지 버전에서 GPU 및 RDMA 네트워킹용 드라이버로 사전 구성된 OS에 대한 GPU 이미지 중 하나를 선택합니다.
    • 마켓플레이스 이미지 사용: 사용자정의 이미지로 클러스터를 빌드하는 경우 이 체크박스의 선택을 해제하고 지원되지 않는 이미지 사용을 선택한 다음 이미지 OCID에서 테넌시에 이미 업로드한 사용자정의 이미지의 OCID를 제공합니다.
    • 컴퓨트 에이전트 사용: 마켓플레이스 이미지에 이 옵션이 필요할 수 있습니다.
  5. (선택 사항) 추가 로그인 노드는 클러스터 사용자가 클러스터와 상호 작용할 수 있도록 두번째 호스트를 제공합니다. 요구 사항에 맞게 구성, OS 및 메모리를 사용자 정의할 수 있습니다.
  6. 고급 스토리지 옵션은 클러스터에서 사용 가능한 공유 스토리지를 미리 구성하는 여러 가지 방법을 제공합니다. Show advanced storage options을 눌러 선택을 확장합니다.
    • 배스천 홈 디렉토리는 모든 클러스터 노드에서 공유되는 NFS입니다. 이는 헤드노드 옵션에서 사용자 정의할 수 있는 헤드노드의 부트 볼륨의 일부입니다.
    • 공유 스토리지의 경우 공유 공간에 대한 추가 블록 볼륨을 선택하고 용량을 입력합니다. 이 볼륨은 배스천에 연결되고 클러스터 전체에서 /nfs/cluster로 공유됩니다.
    • NVME 또는 블록 볼륨의 공유 NFS 스크래치 공간은 클러스터의 첫번째 컴퓨트 노드에서 NVMe 용량을 /nfs/scratch로 공유합니다. 이는 헤드노드 볼륨보다 더 높은 성능의 스토리지를 제공하지만, 용량과 가용성을 줄일 수 있습니다.
    • Mount Localdisk는 각 계산 노드의 NVMe에서 파일 시스템을 만들고 해당 노드에 로컬로 마운트합니다.
    • 한 개의 논리적 볼륨은 LVM을 사용하여 여러 NVMe 장치에서 하나의 큰 볼륨을 만듭니다.
    • 중복성은 장치를 미러링하여 NVMe 스토리지의 신뢰성(사용 가능한 용량의 절반)을 높입니다.
  7. 네트워크 옵션을 사용하여 VCN을 선택합니다.
    • 기존 VCN 사용: 기본적으로 선택 해제됩니다. 선택 해제하면 새 VCN이 프로비전됩니다. 기존 VCN 및 서브넷 내에서 클러스터를 프로비전하려면 이 체크박스를 선택합니다. 따라서 이 클러스터와 다른 테넌시 리소스를 보다 쉽게 통합할 수 있습니다.
  8. 소프트웨어를 사용하여 설치할 소프트웨어를 선택합니다.
    • Install SLURM을 선택하여 SLURM 작업 예약 및 관리를 제공합니다.
    • (선택사항) HPC 클러스터 모니터링 툴 설치를 선택하여 클러스터 작업 및 활용률에 대한 자세한 정보를 제공합니다.
    • Install NVIDIA Enroot for containerized GPU workloads(컨테이너화된 GPU 워크로드용 NVIDIA Enroot 설치)를 선택합니다 NVIDIA PyTorch, NVIDIA NeMo Platform 및 기타 컨테이너에서 워크로드를 실행할 수 있는 환경을 준비합니다.

      주:

      이 옵션을 선택하는 것이 중요합니다.
    • Install NVIDIA Pyxis plugin for Slurm을 선택합니다.
    • PAM 사용을 선택하여 컴퓨트 노드에 대한 로그인 액세스를 제한합니다.
  9. 디버그: 시스템 구성이 선택되었는지 확인합니다(기본값).
  10. 다음을 눌러 구성 설정을 검토합니다.

    검토 시 Cluster Configuration에는 기본값이 아닌 모든 선택 사항이 표시됩니다. 이전 페이지로 돌아가서 변경하고 모든 설정을 다시 방문할 수 있습니다.

  11. 적용 실행을 선택한 다음 생성을 눌러 테넌시에 대한 스택을 실행하고 클러스터를 빌드합니다.
    스택은 OCI Resource Manager에서 생성되며, 프로비저닝을 즉시 시작하기 위한 사양과 함께 실행됩니다.

    이 프로세스는 몇 분 걸립니다. 노드 프로비전은 컴퓨트 노드당 몇 분 정도 걸리지만 노드에 소프트웨어를 추가로 설치하면 빌드 시간이 늘어납니다. OCI 콘솔에서 빌드 진행률을 모니터할 수 있습니다. 리소스 관리자, 작업 순으로 이동하여 최근 작업 로그에서 작업 및 가능한 오류를 검토합니다. 리소스 관리자 작업 상태가 성공으로 보고되면 배치가 완료됩니다.

    최종 상태가 실패인 경우 자세한 내용은 작업 로그를 검토하십시오. 컴퓨트 인스턴스 및 클러스터 네트워크와 관련된 문제의 경우 클러스터 네트워크 작업 요청에서 추가 정보를 사용할 수 있습니다. 페이지로 이동하려면 컴퓨트, 클러스터 네트워크, 클러스터 네트워크 세부정보, 클러스터 네트워크 작업 요청 순으로 이동합니다. 세부정보를 보려면 최신 작업 요청을 선택합니다.

  12. 성공적인 빌드의 경우 작업 로그 끝에 배스천의 IP 주소가 보고됩니다. 추가 로그인 노드를 구성한 경우 로그인 노드 IP 주소도 표시됩니다. 예를 들어 다음과 같습니다.
    Apply complete! Resources: 23 added, 0 changed, 0 destroyed.
    
    Outputs:
    RDMA_NIC_metrics_url = "https://objectstorage.us-gov-phoenix-1.oraclecloud.com
    backup = "No Slurm Backup Defined"
    bastion = 139.87.214.247
    login = "No Login Node Defined"
    private_ips = 172.16.6.4 172.16.7.109"
  13. 클러스터에 로그인하는 데 필요한 배스천 공용 IP 주소를 기록해 둡니다.
    OCI 콘솔의 컴퓨트, 인스턴스 순으로 IP 주소를 찾을 수도 있습니다.