Azure의 HPC(고성능 컴퓨팅)

HPC 소개

“빅 컴퓨팅”이라고도 하는 HPC(고성능 컴퓨팅)는 복잡한 수학 작업을 해결하기 위해 수많은 CPU 또는 GPU 기반 컴퓨터를 사용합니다.

많은 산업에서 업계의 가장 어려운 문제를 해결하기 위해 HPC를 사용합니다. 여기에는 다음과 같은 워크로드가 포함됩니다.

  • Genomics
  • 석유 및 가스 시뮬레이션
  • Finance
  • 반도체 디자인
  • 공학
  • 날씨 모델링

클라우드의 HPC와 어떤 차이가 있습니까?

온-프레미스 HPC 시스템과 클라우드의 시스템의 주요 차이점 중 하나는 필요할 때 리소스를 동적으로 추가하고 제거하는 기능입니다. 동적 크기 조정은 병목 현상이 발생하는 컴퓨팅 용량을 제거하고, 그 대신 고객이 작업의 요구 사항에 맞게 인프라 크기를 적절하게 조정할 수 있게 해줍니다.

다음 문서는 이 동적 크기 조정 기능에 대한 자세한 정보를 제공합니다.

구현 검사 목록

Azure에 자체 HPC 솔루션을 구현하고자 할 때 다음 토픽을 꼭 검토하세요.

인프라

HPC 시스템을 빌드하는 데는 많은 인프라 구성 요소가 필요합니다. HPC 워크로드를 관리하는 방법으로 무엇을 선택하든 컴퓨팅, 스토리지 및 네트워킹은 기본 구성 요소를 제공합니다.

HPC 아키텍처 예제

다양한 방법으로 Azure에서 HPC 아키텍처를 디자인할 수 있습니다. HPC 애플리케이션은 컴퓨팅 코어 수천 개로 확장하거나, 온-프레미스 클러스터로 확장하거나, 100% 클라우드 네이티브 솔루션으로 실행할 수 있습니다.

다음 시나리오는 HPC 솔루션을 빌드하는 일반적인 방법 중 몇 가지를 간략하게 설명합니다.

  • 다이어그램은 Azure의 컴퓨터 지원 엔지니어링 서비스에 대한 예제 HPC 아키텍처를 보여줍니다.

    Azure의 컴퓨터 지원 엔지니어링 서비스

    Azure에서 CAE(컴퓨터 지원 엔지니어링)에 대한 SaaS(Software-as-a-Service) 플랫폼을 제공합니다.

  • 다이어그램은 Azure에서의 계산 유체 역학 시뮬레이션을 위한 예제 HPC 아키텍처를 보여줍니다.

    Azure의 CFD(컴퓨팅 유체 역학) 시뮬레이션

    Azure에서 CFD(컴퓨팅 유체 역학) 시뮬레이션을 실행합니다.

  • 다이어그램은 Azure에서의 3D 비디오 렌더링을 위한 예제 HPC 아키텍처를 보여줍니다.

    Azure의 3D 비디오 렌더링

    Azure Batch 서비스를 사용하여 Azure에서 네이티브 HPC 워크로드를 실행합니다.

컴퓨팅

Azure는 CPU 및 GPU 사용량이 많은 워크로드에 최적화된 크기 범위를 제공합니다.

CPU 기반 가상 머신

GPU 사용 가상 머신

N 시리즈 VM은 AI(인공 지능) 학습 및 시각화를 포함한 계산 집약적 또는 그래픽 집약적 애플리케이션을 위해 설계된 NVIDIA GPU를 특징으로 합니다.

스토리지

대규모 Batch 및 HPC 작업에는 기존 클라우드 파일 시스템의 용량을 초과하는 데이터 스토리지 및 액세스에 대한 요구 사항이 있습니다. Azure 기반 HPC 애플리케이션의 속도 및 용량 요구 사항을 관리하는 솔루션은 다양합니다.

Azure 기반의 Lustre, GlusterFS 및 BeeGFS를 자세히 비교하는 내용은 Azure eBook의 병렬 파일 시스템 전자책 및 Azure의 Lustre 블로그를 검토하세요.

네트워킹

H16r, H16mr, A8 및 A9 VM은 높은 처리량 백 엔드 RDMA 네트워크에 연결할 수 있습니다. 이 네트워크는 MPI 또는 Intel MPI로 더 잘 알려진 Microsoft 메시지 전달 인터페이스에서 실행되는 긴밀하게 결합된 병렬 애플리케이션의 성능을 향상시킬 수 있습니다.

관리

DIY(Do It Yourself)

Azure에서 HPC 시스템을 처음부터 새로 빌드하면 유연성의 측면에서 상당한 장점이 있지만, 종종 유지 관리 업무가 매우 많아지는 단점이 있습니다.

  1. Azure 가상 머신 또는 Virtual Machine Scale Sets에서 사용자 고유의 클러스터 환경을 설정합니다.
  2. Azure Resource Manager 템플릿을 사용하여 선행 워크로드 관리자, 인프라 및 애플리케이션을 배포합니다.
  3. MPI 또는 GPU 워크로드에 대한 특수한 하드웨어 및 네트워크 연결을 포함하는 HPC 및 GPU VM 크기를 선택합니다.
  4. I/O 사용량이 많은 워크로드에 고성능 스토리지를 추가합니다.

하이브리드 및 클라우드 버스팅

기존 온-프레미스 HPC 시스템을 Azure에 연결하려는 경우 몇 가지 리소스를 사용하여 시작할 수 있습니다.

먼저, 설명서의 온-프레미스 네트워크를 Azure에 연결하는 옵션 문서를 검토합니다. 해당 리소스로부터 다음과 같은 연결 옵션에 대한 추가 정보를 찾을 수 있습니다.

네트워크 연결이 안전하게 설정되면 기존 워크로드 관리자의 버스팅 기능을 통해 필요할 때 클라우드 컴퓨팅 리소스 사용을 시작할 수 있습니다.

Marketplace 솔루션

Azure Marketplace에서는 다양한 워크로드 관리자를 제공하고 있습니다.

Azure Batch

Azure Batch 는 클라우드에서 대규모 병렬 및 HPC 애플리케이션을 효율적으로 실행하기 위한 플랫폼 서비스입니다. Azure Batch는 가상 머신의 관리되는 풀에서 실행되는 컴퓨팅 집약적 작업을 예약하고, 작업 요구에 맞게 컴퓨팅 리소스를 자동으로 크기 조정할 수 있습니다.

SaaS 공급자 및 개발자는 Batch SDK 및 도구를 사용하여 HPC 애플리케이션 또는 컨테이너 작업을 Azure에 통합하고, 데이터를 Azure로 스테이징하고, 작업 실행 파이프라인을 빌드할 수 있습니다.

Azure Batch에서 모든 서비스가 클라우드에서 실행되고 있는 경우 아래 이미지는 Azure Batch를 사용하여 아키텍처가 어떻게 보이는지 보여 주며, 클라우드에서 실행 중인 확장성 및 작업 일정 구성과 결과 및 보고서를 온-프레미스 환경으로 보낼 수 있습니다.

다이어그램은 Azure Batch에 대한 예제 HPC 아키텍처를 보여줍니다.

Azure CycleCloud

Azure CycleCloud는 Azure에서 아무 스케줄러(예: Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro 또는 Symphony)를 사용하여 HPC 워크로드를 관리하는 가장 간단한 방법을 제공합니다.

CycleCloud로 할 수 있는 일:

  • 전체 클러스터 및 기타 리소스(스케줄러, 컴퓨팅 VM, 스토리지, 네트워킹 및 캐시 포함) 배포
  • 작업, 데이터 및 클라우드 워크플로 오케스트레이션
  • 관리자에게 작업을 실행할 수 있는 사용자, 위치 및 비용을 제어할 수 있는 모든 권한 부여
  • 비용 제어, Active Directory 통합, 모니터링 및 보고를 비롯한 고급 정책 및 거버넌스 기능을 통해 클러스터를 사용자 지정 및 최적화
  • 현재 작업 스케줄러 및 애플리케이션을 수정하지 않고 사용
  • 다양한 HPC 워크로드 및 산업에 기본 제공 자동 크기 조정 및 입증된 참조 아키텍처 활용
하이브리드/클라우드 버스팅 모델

이 하이브리드 예제 다이어그램에서는 이러한 서비스가 클라우드와 온-프레미스 환경 간에 어떻게 분산되는지 명확하게 확인할 수 있습니다. 두 워크로드 모두에서 작업을 실행할 수 있는 기회를 갖습니다. 다이어그램은 하이브리드에서 Azure의 CycleCloud에 대한 예제 HPC 아키텍처를 보여줍니다.

클라우드 네이티브 모델

아래의 클라우드 네이티브 모델 예제 다이어그램은 온-프레미스 환경에 대한 연결을 유지하면서 클라우드의 워크로드가 모든 것을 처리하는 방법을 보여 줍니다.

다이어그램은 클라우드 네이티브 모델에서 Azure의 CycleCloud에 대한 예제 HPC 아키텍처를 보여줍니다.

비교 차트

기능 Azure Batch Azure CycleCloud
Scheduler Azure Portal의 Batch API 및 도구 및 명령줄 스크립트(클라우드 네이티브). Slurm, PBS Pro, LSF, Grid Engine 및 HTCondor와 같은 표준 HPC 스케줄러를 사용하거나 CycleCloud 자동 크기 조정 플러그 인을 확장하여 사용자 고유의 스케줄러를 사용합니다.
컴퓨팅 리소스 Software as a Service Nodes – Platform as a Service Platform as a Service Software – Platform as a Service
모니터 도구 Azure Monitor Azure Monitor, Grafana
사용자 지정 사용자 지정 이미지 풀, 타사 이미지, Batch API 액세스. 포괄적인 RESTful API를 사용하여 기능을 사용자 지정 및 확장하고, 고유한 스케줄러를 배포하고, 기존 워크로드 관리자에 지원을 제공합니다.
통합 Synapse Pipelines, Azure Data Factory, Azure CLI Windows 및 Linux용 기본 제공 CLI
사용자 유형 개발자 클래식 HPC 관리자 및 사용자
작업 유형 Batch, 워크플로 긴밀하게 결합됨(메시지 전달 인터페이스/MPI).
Windows 지원 스케줄러 선택에 따라 달라집니다.

워크로드 관리자

Azure 인프라에서 실행할 수 있는 클러스터 및 워크로드 관리자의 예는 다음과 같습니다. Azure VM에서 독립 실행형 클러스터 또는 온-프레미스 클러스터에서 Azure VM에 대한 버스트를 만듭니다.

컨테이너

일부 HPC 워크로드 관리에 컨테이너를 사용할 수도 있습니다. AKS(Azure Kubernetes Service) 같은 서비스를 사용하면 Azure에 관리형 Kubernetes 클러스터를 간단하게 배포할 수 있습니다.

비용 관리

Azure의 HPC 비용을 관리하는 몇 가지 방법이 있습니다. Azure 구매 옵션을 검토하여 조직에 가장 적합한 방법을 찾을 수 있습니다.

보안

Azure의 보안 모범 사례에 대한 개요는 Azure 보안 설명서를 검토하세요.

클라우드 버스팅 섹션에서 제공하는 네트워크 구성 외에도, 컴퓨팅 리소스를 격리하기 위해 허브/스포크 구성을 구현할 수 있습니다.

HPC 애플리케이션

Azure에서 사용자 지정 또는 상용 HPC 애플리케이션을 실행합니다. 이 섹션에서 일부 예제는 추가 VM 또는 컴퓨팅 코어를 통해 효율적으로 확장하도록 벤치마킹됩니다. 솔루션 배포 준비는 Azure Marketplace를 방문합니다.

참고

클라우드에서 실행하기 위해 라이선스나 기타 제한 사항에 대한 상용 애플리케이션을 공급 업체에 확인합니다. 일부 공급 업체는 종량제 라이선스를 제공합니다. 솔루션에 대한 라이선스 서버가 클라우드에 필요하거나 온-프레미스 라이선스 서버에 연결할 수 있습니다.

엔지니어링 애플리케이션

그래픽 및 렌더링

AI 및 심층 학습

MPI 공급자

원격 시각화

가장 짧은 대기 시간 및 액세스와, Azure Virtual Desktop, Citrix 또는 VMware Horizon을 통한 원격 시각화를 위해 HPC 출력과 동일한 지역의 Azure에서 GPU 기반 가상 머신을 실행합니다.

성능 벤치마크

고객 사례

많은 고객이 HPC 워크로드에 Azure를 사용하여 대성공을 거두었습니다. 아래에서 이러한 고객 사례 중 일부를 확인할 수 있습니다.

기타 중요 정보

  • vCPU 할당량이 증가했는지 확인한 후 대규모 워크로드를 실행하세요.

다음 단계

최신 공지는 다음 리소스를 참조하세요.

Microsoft Batch 예제

다음 자습서는 Microsoft Batch에서 애플리케이션을 실행하기 위한 세부 정보를 제공합니다.