OCI 기반 온디맨드 HPC 및 AI 플랫폼에 대해 알아보기

AI, ML, 과학 컴퓨팅, 유전체학, 엔지니어링 시뮬레이션 및 분석 워크로드를 실행하는 조직은 이 참조 아키텍처를 사용하여 Oracle Cloud Infrastructure(OCI)에서 연구, AI 및 고성능 컴퓨팅(HPC) 워크로드에 대한 안전한 브라우저 기반 다중 테넌트 GPU 및 CPU 액세스를 제공할 수 있습니다.

주요 프로덕션 테마는 인증된 브라우저 수락, GPU Lustre 포지셔닝, 골든 이미지 표준화, 공유 대화형 애플리케이션 런타임, 프로젝트 거버넌스 자동화입니다.

이 솔루션 플레이북에서는 OOD(Open OnDemand), Slurm 워크로드 관리, GPU 자동 스케일링 및 다중 계층 스토리지 아키텍처를 사용하여 OCI에서 온디맨드 HPC 및 AI 플랫폼을 배포하는 방법을 알아봅니다. 연구원, 데이터 과학자 및 엔지니어는 웹 브라우저를 통해 대화형 AI 및 HPC 환경에 안전하게 액세스할 수 있습니다. 이 플랫폼은 워크로드 수요에 따라 GPU 및 컴퓨팅 리소스를 동적으로 확장합니다.

이 아키텍처는 다음 기능을 결합합니다.

  • Open OnDemand를 사용하여 브라우저 기반 HPC 및 AI 액세스
  • Microsoft Entra ID 및 OIDC(OpenID Connect)를 사용하여 SSO(Single Sign-On) 통합을 보호합니다.
  • 대화식 및 일괄 처리 작업을 위한 슬럼 기반 작업 로드 통합관리입니다.
  • AI, ML, 원격 데스크톱 및 HPC 워크로드를 위한 CPU 및 GPU 파티션 자동 스케일링.
  • OCI Object Storage, OCI File Storage(FSS), JuiceFS 및 File Storage with Lustre를 사용하는 계층형 스토리지입니다.
  • FreeIPA를 사용한 중앙 집중식 Linux ID 관리
  • Prometheus 및 Grafana를 사용한 통합 모니터링
  • 다중 사용자 프로젝트 격리 및 할당량 관리

시작하기 전에

이 아키텍처를 배포하기 전에 권장 지식 영역을 검토하여 구현 위험을 줄이고 지연 문제를 해결하십시오.

배달 팀은 다음에 대해 잘 알고 있어야 합니다.

  • Slurm 워크로드 관리자 및 파티션 디자인.
  • Linux 고성능 컴퓨팅(HPC) 환경 및 공유 파일 시스템.
  • OCI 네트워킹, 컴퓨팅, GPU(그래픽 처리 장치) 구성 및 스토리지 서비스.
  • OnDemand 및 Batch Connect 애플리케이션을 엽니다.
  • GPU 기반 AI 및 ML 워크로드.
  • Prometheus 및 Grafana와 같은 스택 모니터링
  • 자동 스케일 노드에 대한 Golden Image 수명 주기 관리

구조

이 아키텍처를 사용하면 다중 테넌트 HPC 및 AI 프로그램에 대해 인증된 브라우저 액세스, Slurm 관리 일정 관리, 자동 확장된 CPU 및 GPU 용량을 제공할 수 있습니다.

다음 아키텍처는 OCI 인프라 서비스와 검증된 오픈 소스 HPC 툴을 결합하여 배치 및 대화식 워크로드를 위한 안전하고 확장 가능한 플랫폼을 제공합니다.



demand-플랫폼-hpc-oci-arch-oracle.zip#GUID-6AF78407-525D-4CF8-A7FD-6AC4A30F0C12

상위 레벨에서 사용자는 HTTPS를 통해 OOD에 도달하고 Microsoft Entra ID를 통해 인증합니다. OOD는 파일, 셸 세션, Job Composer 및 대화식 응용 프로그램에 대한 브라우저 액세스를 제공합니다. Slurm 일정은 영구 및 자동 스케일링 CPU 및 GPU 파티션에서 작동합니다. OCI 자동화는 필요에 따라 컴퓨트 용량을 프로비저닝하고, 노드 부트스트랩 로직은 사용자 워크로드 시작 전에 ID, Slurm 런타임, GPU 장치, 공유 애플리케이션 경로 및 스토리지 마운트를 준비합니다.

이 아키텍처는 OOD 4.2, Slurm 자동 스케일 CPU 노드, Remote Desktop/noVNC, Job Composer 파티션 선택, GPU 노드 부트스트랩 플로우, /odata 데이터 마운팅, /lustre 액세스 패턴 및 OOD /rnode 라우팅 전반에 걸쳐 실습 구현 패턴을 적용합니다.

유저 및 액세스 계층

  • OCI 로드 밸런서는 OOD 엔드포인트에 대한 HTTPS 액세스를 제공합니다.
  • 선택적 웹 애플리케이션 방화벽(WAF), NSG 또는 허용 목록은 경계 제어를 적용합니다.
  • Microsoft Entra ID는 브라우저 사용자에 대한 OIDC 인증을 제공합니다.
  • 배스천 또는 제한된 SSH 경로는 제어된 관리자 액세스를 제공합니다.

OnDemand 서버 열기

  • OOD 대시보드는 HPC 사용자를 위한 브라우저 항목을 제공합니다.
  • 파일 및 셸 응용 프로그램은 파일 및 셸 작업을 제공합니다.
  • 작업 편집기가 Slurm 작업을 제출합니다.
  • 일괄 접속 앱은 원격 데스크톱, VS 코드, JupyterLab 및 RStudio 세션을 제공합니다.
  • /node/rnode는 컴퓨트 노드에서 프록시 대화식 서비스의 경로를 지정합니다.

HPC 클러스터

Slurm 25.11.0은 컨트롤러 노드, 로그인 노드, 영구 컴퓨트 파티션, CPU 파티션 자동 스케일링 및 GPU 파티션 자동 스케일링을 포함하는 HPC 환경을 관리합니다.

  • Slurm 컨트롤러slurmctld, slurmdbd, 회계 데이터 및 자동 스케일 통합 스크립트를 호스팅합니다.
  • 로그인 노드는 제어된 명령줄 제출 및 문제 해결 액세스를 제공합니다.
  • 영구 컴퓨트 분할 영역은 즉시 용량이 필요한 작업 로드를 호스트합니다.
  • CPU 파티션 자동 스케일링은 배치 및 대화식 워크로드를 위한 탄력적인 CPU 용량을 제공합니다.
  • GPU 파티션 자동 스케일링은 워크로드 유형 및 이미지 레인별로 탄력적인 GPU 용량을 제공합니다.

다계층 스토리지 아키텍처

경로 보조층 주요 목적
/home OCI File Storage 사용자 홈 디렉토리 및 OOD 상태
/scratch OCI File Storage 또는 고성능 공유 스토리지 작업 데이터 및 임시 작업 출력
/apps OCI File Storage 공유 애플리케이션 및 모듈 트리
/odata OCI Object Storage가 지원하는 JuiceFS 지속 가능한 공유 데이터 세트 및 프로젝트 데이터
/lustre Lustre를 사용한 파일 스토리지 처리량이 많은 AI 교육, 체크포인트 및 HPC 시뮬레이션 I/O

신원 관리

FreeIPA는 HPC 계층에 대한 중앙 집중식 Linux ID 및 액세스 관리를 제공합니다. 프로젝트 그룹은 Slurm 계정에 매핑되어 다중 테넌트 액세스 제어, 할당량, 차지백 또는 쇼백 모델을 적용합니다.

모니터링 및 자동화

Prometheus 및 Grafana는 OOD, Slurm, 컴퓨팅 노드, GPU 런타임 및 스토리지 전반에서 운영 신호를 수집합니다. 백그라운드 자동화는 노드 부트스트랩, 호스트 동기화 및 정리 워크플로우를 클러스터 용량 확장과 동일하게 유지합니다.

권장사항

이러한 권장 사항을 적용하여 OCI의 공유 GPU 및 CPU 연구 환경에 대한 거버넌스, 보안, 비용 제어 및 안정성을 개선합니다.

다음 권장 사항은 OCI HPC 및 OOD 환경에 대한 실제 구현 패턴을 기반으로 합니다.

전용 구획 사용

네트워킹, ID, 스토리지, 공유 서비스, GPU 컴퓨팅 및 모니터링을 위해 인프라 리소스를 OCI 구획으로 분리합니다.

작업 로드 유형별 GPU 풀 배치

대화형 AI 개발, 프로덕션 교육, 추론 워크로드, 배치 HPC 작업 및 Lustre 필수 GPU 워크로드를 위해 별도의 Slurm 파티션을 생성합니다.

공격적으로 자동 크기 조정 사용

  • 값비싼 GPU 노드에 짧은 일시 중지 간격을 사용합니다.
  • 대기 시간에 민감한 작업 로드에 대해서만 웜 풀을 사용합니다.
  • 파티션 및 GPU 유형별로 별도의 스케일링 정책을 설정합니다.
  • munge , slurmd , 노드 이름 등록, 일반 리소스(GRES), 마운트 및 대화식 런타임 준비 상태를 확인하는 건전성 검사를 사용합니다.

스토리지 워크로드 분리

  • 홈 디렉토리, OOD 상태 및 대화식 개발에 FSS를 사용합니다.
  • 지속 가능한 공유 데이터 세트는 JuiceFS와 함께 Object Storage를 사용합니다.
  • 처리량이 많은 교육, 체크포인트 및 시뮬레이션 출력에 Lustre를 사용합니다.

안전한 대화식 액세스

  • OOD에 대해 Microsoft Entra ID와 OIDC 기반 SSO 통합을 사용합니다.
  • HTTPS 전용 액세스 및 제한된 SSH 관리를 사용합니다.
  • 컴퓨트 노드에 전용 서브넷을 사용합니다.
  • 가능한 경우 광범위한 보안 목록에서 NSG를 선호합니다.
  • 최소 권한의 Oracle Cloud Infrastructure Identity and Access Management(OCI IAM) 정책을 사용합니다.
  • 프로젝트 기반 FreeIPA 그룹 및 Slurm 계정을 사용합니다.
  • OOD 셸 허용 목록 및 /rnode 호스트 정규 표현식 제어를 적용합니다.

유저 워크플로우에 대한 관찰성 구현

  • Slurm 노드 상태 및 실패한 작업 사유를 추적합니다.
  • 자동 스케일 재개 및 복구 로그를 추적합니다.
  • GPU 상태 및 nvidia-smi 출력을 추적합니다.
  • mungeslurmd 서비스 상태를 추적합니다.
  • FSS, JuiceFS 및 Lustre 마운트 상태를 추적합니다.
  • OOD Apache, 승객 및 사용자별 PUN 오류를 추적합니다.
  • FreeIPA, DNS, LDAP 및 Kerberos 서비스 상태를 추적합니다.

업그레이드 중 OOD 사용자 정의 유지

OOD 업그레이드를 애플리케이션 릴리스로 처리하고 각 업그레이드 후 사용자정의 위젯, Job Composer 파티션 처리, Batch Connect 앱, 셸 및 파일 허용 목록, 프록시 호스트 제어를 확인 또는 재적용합니다.

고려사항

이러한 고려 사항을 사용하여 OCI의 멀티 테넌트 HPC 및 AI 워크로드에 대한 성능, 보안, 가용성, 비용 및 운영의 균형을 유지합니다.

이 참조 구조를 배치할 때는 다음 사항을 고려하십시오.

성능

GPU 집약적 AI 워크로드는 상당한 네트워크 및 스토리지 트래픽을 생성할 수 있습니다.

  • 가능한 경우 동일한 지역 및 가용성 도메인에 GPU 노드, Lustre 및 스토리지 경로를 배치합니다.
  • GPU 및 스토리지 사용량이 많은 워크로드에 고대역폭 네트워킹을 사용할 수 있습니다.
  • 리전 간 데이터 이동을 최소화합니다.
  • GPU 지역성 및 파티션별 동작에 대한 Slurm 예약 정책을 조정합니다.
  • 런타임 종속성이 안정된 GPU 이미지를 사전 베이킹하여 콜드 스타트 시간을 줄입니다.

보안

컴퓨트 노드용 프라이빗 서브넷을 사용하고, SSH 액세스를 제한하고, 최소 권한의 OCI IAM 정책을 적용하고, 스토리지 계층을 암호화하고, 중앙 집중식 ID 관리를 통합하고, 감사 로깅 및 모니터링을 활성화하여 민감한 AI 및 연구 워크로드를 보호합니다.

가용성

Slurm 컨트롤러, OOD 웹 백엔드, FreeIPA 서비스, 공유 스토리지 시스템 및 모니터링 인프라에 대한 고가용성을 고려하십시오.

중복 컨트롤러를 배포하고, Slurm 계정 데이터베이스를 백업하고, FreeIPA 서비스 자동 시작을 검증하고, 업그레이드 전에 OOD 롤백 백업을 유지하여 복원성을 개선합니다.

비용

GPU 인프라는 가장 큰 운영 비용을 나타낼 수 있습니다.

  • 자동 스케일링 GPU 파티션을 사용합니다.
  • 유휴 GPU 노드를 자동으로 일시 중지합니다.
  • 개발, 대화식 및 프로덕션 교육 파티션을 분리합니다.
  • 비활성 데이터 세트에 대해 지속 가능한 OCI Object Storage를 선호합니다.
  • 골든 이미지를 사용하여 시작 시간을 단축하고 실패한 콜드 스타트 주기를 줄입니다.

작업

가장 중요한 운영 단원은 클라우드 콘솔뿐만 아니라 사용자 워크플로에서 준비도를 측정해야 한다는 것입니다.

대화식 작업의 경우 Slurm 작업 상태, 노드 서비스 상태, 스토리지 마운트, 대화식 응용 프로그램 리스너, OOD /node/rnode 경로 지정 및 인증 후 브라우저 시작 동작을 확인합니다.

생산 준비 체크리스트

  • 중복 웹 백엔드 간 OOD 배치입니다.
  • Microsoft Entra ID OIDC 경로 지정 및 로그아웃 동작입니다.
  • 노출된 모든 Slurm 분할 영역에서 작업 편집기 분할 영역을 선택합니다.
  • 원격 데스크톱 실행, noVNC 연결 및 /rnode 프록시 경로 지정.
  • CPU 노드 부트스트랩 및 대화식 작업 로드 수락을 자동 스케일합니다.
  • GPU 노드 부트스트랩, NVIDIA 런타임 검사, GRES 등록 및 Slurm 건전성.
  • 코드 서버 및 JupyterLab에 대한 /apps 아래의 공유 대화식 애플리케이션 런타임입니다.
  • 버전 업그레이드 후 OOD 사용자정의 도우미 호환성입니다.

필수 서비스 및 역할 정보

이 솔루션에는 다음 서비스 및 역할이 필요합니다.
  • OCI ID 및 액세스 관리/ID 도메인
  • OCI 네트워킹
  • OCI DNS
  • OCI 로드 밸런서
  • OCI Bastion
  • OCI 컴퓨팅
  • OCI 블록 볼륨
  • OCI File Storage
  • Lustre를 사용한 파일 스토리지
  • OCI 오브젝트 스토리지
  • OCI Registry
  • OCI Vault
  • OCI 모니터링, OCI 로깅, OCI 알림, OCI 감사
  • OCI Web Application FirewallOracle Cloud Guard 옵션
  • 플랫폼 서비스: 오픈 OnDemand, Slurm, FreeIPA, Linux/POSIX ID 및 공유 런타임 툴링

각 서비스에 필요한 역할입니다.

서비스 이름: 역할 필수 항목...
OCI IAM/ID 도메인: manage groups, manage dynamic-groups, manage policies UAT 관리자 그룹, 동적 그룹 및 최소 권한의 IAM 정책을 생성 및 유지 관리합니다. 이 롤을 테넌시 또는 ID 관리자로 제한합니다.
OCI 네트워킹: manage virtual-network-family VCN, 공용/전용 서브넷, 라우팅 테이블, 인터넷 게이트웨이, NAT 게이트웨이, 서비스 게이트웨이, NSG 및 보안 목록을 생성하고 유지 관리합니다.
OCI DNS: manage dns OOD 끝점 및 관련 수신 이름에 대한 퍼블릭 또는 위임된 DNS 레코드를 관리합니다.
OCI 로드 밸런서: manage load-balancers OOD에 대한 공용 HTTPS 수신 계층을 생성 및 운영하고 트래픽을 전용 OOD 백엔드로 라우팅합니다.
OCI Web Application Firewall(선택 사항): manage waf-family WAF가 UAT에 대해 사용으로 설정된 경우 WAF 정책, 액세스 규칙 및 웹 수신 제어를 통해 공용 애플리케이션 엔드포인트를 보호합니다.
OCI 배스천: manage bastion-family 개인 로그인, 컨트롤러 또는 관리 호스트에 대해 감사되는 시간 제한 관리 SSH 세션을 만듭니다.
OCI 컴퓨트: manage instance-familymanage compute-management-family OOD 호스트, 로그인 노드, Slurm 컨트롤러, FreeIPA, CPU/GPU 워커, 자동 크기 조정 풀 및 이미지 파이프라인 인스턴스를 프로비저닝하고 운영합니다.
OCI 블록 볼륨: manage volume-family 플랫폼, 컨트롤러, 로그인 및 컴퓨트 노드에 대한 부트 볼륨 및 연결된 블록 볼륨을 관리합니다.
OCI 파일 스토리지: manage file-family /home, /scratch/apps에 대한 공유 POSIX 파일 시스템, 마운트 대상, 익스포트 세트 및 익스포트를 관리합니다.
Lustre를 사용한 파일 스토리지: manage lustre-file-family 사용으로 설정된 경우 활성 HPC/AI 작업 로드 I/O에 대해 높은 처리량 /lustre 파일 시스템을 운영합니다.
OCI Object Storage: manage object-family 또는 범위 manage bucketsmanage objects JuiceFS 백업 데이터, 내구성이 뛰어난 프로젝트 데이터, 백업, 라이프사이클 데이터 및 선택적 Lustre 가져오기/내보내기 컨텐츠를 저장합니다.
OCI 레지스트리: manage repos 또는 범위 read repos 골든 이미지 파이프라인 및 공유 플랫폼 런타임에 사용되는 런타임 및 애플리케이션 이미지를 푸시하거나 풀링합니다.
OCI Vault/Keys/Secrets: manage vaults, manage keys, manage secret-family, 런타임 노드는 필요한 경우에만 read secret-family를 사용해야 함 인스턴스 또는 스크립트에서 인증서, 키, 토큰 및 통합 암호를 하드 코딩하지 않고 저장합니다.
OCI 모니터링: read metricsmanage alarms UAT 용량/성능 측정항목을 확인하고 운영 알람을 구성합니다.
OCI 로깅: manage log-groups, read log-content, use unified-configuration 로그 그룹, 검색 로그를 관리하고 로그 에이전트 또는 통합 에이전트 설정을 구성합니다.
OCI 통지: manage ons-family 운영 통지에 대한 알람 토픽 및 구독을 생성합니다.
OCI 감사: read audit-events 거버넌스, 문제 해결 및 활동 검토를 위해 OCI API 활동을 검토합니다.
Cloud Guard(선택 사항): read cloud-guard-family, manage cloud-guard-family 거버넌스 승인만 해당 보안 상황 및 결과를 검토합니다. 명시적으로 승인된 경우에만 응답기 관리를 사용으로 설정합니다.
컴퓨트/OOD/슬럼 인스턴스의 동적 그룹: read buckets, 범위가 manage objects, read repos, use metrics, use log-content, 선택사항 read secret-family 플랫폼 인스턴스가 승인된 OCI Object Storage 버킷에 액세스하고, 이미지를 풀링하고, 원격 측정을 내보내고, 인스턴스 주체를 사용하여 승인된 암호를 검색할 수 있도록 허용합니다.
이미지 파이프라인에 대한 동적 그룹: manage instance-family, manage volume-family, read object-family, 범위 manage repos, 선택사항 read secret-family 오래 지속되는 사용자 API 키를 사용하지 않고도 골든 이미지 또는 런타임 아티팩트를 구축, 검증, 홍보 및 게시할 수 있습니다.
Lustre를 사용한 파일 스토리지 동기화에 대한 동적 그룹(사용된 경우): read buckets 및 범위 manage objects File Storage with Lustre 가져오기/내보내기 또는 승인된 OCI Object Storage 버킷과의 동기화를 허용합니다.
OOD 응용 프로그램 롤: OOD user / OOD admin 사용자가 파일, 셸, 데스크톱, 코드 서버, JupyterLab 및 작업에 액세스할 수 있도록 허용합니다. 플랫폼 관리자가 OOD 구성 및 앱을 관리할 수 있도록 허용합니다.
슬럼 역할 : user, account/partition admin, or scheduler admin 작업을 제출하고, 계정/분할 영역/QOS를 관리하고, CPU/GPU 일정 잡기 정책을 운영합니다.
Linux/POSIX 역할: POSIX 사용자/그룹 및 제어 sudo 플랫폼 노드에서 셸 로그인, 파일 권한, 프로젝트 그룹 액세스 및 긴급 관리를 제어합니다.
FreeIPA / ID 서비스 역할 : identity administrator 해당되는 경우 POSIX ID, 그룹, HBAC/DNS 및 UAT에 대한 호스트/사용자 등록을 관리합니다.

필요한 정보를 얻으려면 Oracle 제품, 솔루션 및 서비스를 참조하십시오.