![다이어그램은 Azure의 컴퓨터 지원 엔지니어링 서비스에 대한 예제 HPC 아키텍처를 보여줍니다.](../example-scenario/apps/media/architecture-hpc-saas.png)
Azure의 컴퓨터 지원 엔지니어링 서비스
Azure에서 CAE(컴퓨터 지원 엔지니어링)에 대한 SaaS(Software-as-a-Service) 플랫폼을 제공합니다.
“빅 컴퓨팅”이라고도 하는 HPC(고성능 컴퓨팅)는 복잡한 수학 작업을 해결하기 위해 수많은 CPU 또는 GPU 기반 컴퓨터를 사용합니다.
많은 산업에서 업계의 가장 어려운 문제를 해결하기 위해 HPC를 사용합니다. 여기에는 다음과 같은 워크로드가 포함됩니다.
온-프레미스 HPC 시스템과 클라우드의 시스템의 주요 차이점 중 하나는 필요할 때 리소스를 동적으로 추가하고 제거하는 기능입니다. 동적 크기 조정은 병목 현상이 발생하는 컴퓨팅 용량을 제거하고, 그 대신 고객이 작업의 요구 사항에 맞게 인프라 크기를 적절하게 조정할 수 있게 해줍니다.
다음 문서는 이 동적 크기 조정 기능에 대한 자세한 정보를 제공합니다.
Azure에 자체 HPC 솔루션을 구현하고자 할 때 다음 토픽을 꼭 검토하세요.
HPC 시스템을 빌드하는 데는 많은 인프라 구성 요소가 필요합니다. HPC 워크로드를 관리하는 방법으로 무엇을 선택하든 컴퓨팅, 스토리지 및 네트워킹은 기본 구성 요소를 제공합니다.
다양한 방법으로 Azure에서 HPC 아키텍처를 디자인할 수 있습니다. HPC 애플리케이션은 컴퓨팅 코어 수천 개로 확장하거나, 온-프레미스 클러스터로 확장하거나, 100% 클라우드 네이티브 솔루션으로 실행할 수 있습니다.
다음 시나리오는 HPC 솔루션을 빌드하는 일반적인 방법 중 몇 가지를 간략하게 설명합니다.
Azure에서 CAE(컴퓨터 지원 엔지니어링)에 대한 SaaS(Software-as-a-Service) 플랫폼을 제공합니다.
Azure Batch 서비스를 사용하여 Azure에서 네이티브 HPC 워크로드를 실행합니다.
Azure는 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 메시지 전달 인터페이스에서 실행되는 긴밀하게 결합된 병렬 애플리케이션의 성능을 향상시킬 수 있습니다.
Azure에서 HPC 시스템을 처음부터 새로 빌드하면 유연성의 측면에서 상당한 장점이 있지만, 종종 유지 관리 업무가 매우 많아지는 단점이 있습니다.
기존 온-프레미스 HPC 시스템을 Azure에 연결하려는 경우 몇 가지 리소스를 사용하여 시작할 수 있습니다.
먼저, 설명서의 온-프레미스 네트워크를 Azure에 연결하는 옵션 문서를 검토합니다. 해당 리소스로부터 다음과 같은 연결 옵션에 대한 추가 정보를 찾을 수 있습니다.
이 참조 아키텍처에서는 사이트 간 VPN(가상 사설망)을 사용하여 온-프레미스 네트워크를 Azure로 확장하는 방법을 설명합니다.
ExpressRoute 연결은 타사 연결 공급자를 통해 프라이빗 전용 연결을 사용합니다. 프라이빗 연결은 온-프레미스 네트워크를 Azure로 확장합니다.
VPN Gateway 장애 조치(failover)를 사용하는 ExpressRoute를 사용하여 연결된 Azure 가상 네트워크 및 온-프레미스 네트워크를 포함하는 고가용성의 보안 사이트 간 네트워크 아키텍처를 구축합니다.
네트워크 연결이 안전하게 설정되면 기존 워크로드 관리자의 버스팅 기능을 통해 필요할 때 클라우드 컴퓨팅 리소스 사용을 시작할 수 있습니다.
Azure Marketplace에서는 다양한 워크로드 관리자를 제공하고 있습니다.
Azure Batch 는 클라우드에서 대규모 병렬 및 HPC 애플리케이션을 효율적으로 실행하기 위한 플랫폼 서비스입니다. Azure Batch는 가상 머신의 관리되는 풀에서 실행되는 컴퓨팅 집약적 작업을 예약하고, 작업 요구에 맞게 컴퓨팅 리소스를 자동으로 크기 조정할 수 있습니다.
SaaS 공급자 및 개발자는 Batch SDK 및 도구를 사용하여 HPC 애플리케이션 또는 컨테이너 작업을 Azure에 통합하고, 데이터를 Azure로 스테이징하고, 작업 실행 파이프라인을 빌드할 수 있습니다.
Azure Batch에서 모든 서비스가 클라우드에서 실행되고 있는 경우 아래 이미지는 Azure Batch를 사용하여 아키텍처가 어떻게 보이는지 보여 주며, 클라우드에서 실행 중인 확장성 및 작업 일정 구성과 결과 및 보고서를 온-프레미스 환경으로 보낼 수 있습니다.
Azure CycleCloud는 Azure에서 아무 스케줄러(예: Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro 또는 Symphony)를 사용하여 HPC 워크로드를 관리하는 가장 간단한 방법을 제공합니다.
CycleCloud로 할 수 있는 일:
이 하이브리드 예제 다이어그램에서는 이러한 서비스가 클라우드와 온-프레미스 환경 간에 어떻게 분산되는지 명확하게 확인할 수 있습니다. 두 워크로드 모두에서 작업을 실행할 수 있는 기회를 갖습니다.
아래의 클라우드 네이티브 모델 예제 다이어그램은 온-프레미스 환경에 대한 연결을 유지하면서 클라우드의 워크로드가 모든 것을 처리하는 방법을 보여 줍니다.
기능 | Azure Batch | Azure CycleCloud |
---|---|---|
일정 담당자 | 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 보안 설명서를 검토하세요.
클라우드 버스팅 섹션에서 제공하는 네트워크 구성 외에도, 컴퓨팅 리소스를 격리하기 위해 허브/스포크 구성을 구현할 수 있습니다.
허브는 Azure의 VNet(가상 네트워크)로서 사용자의 온-프레미스 네트워크에 대한 연결의 중심으로 기능합니다. 스포크는 허브와 피어링하는 Vnet이며 워크로드를 격리하는 데 사용할 수 있습니다.
이 참조 아키텍처는 모든 스포크에서 사용할 수 있는 공유 서비스를 허브에 포함하는 허브-스포크 참조 아키텍처를 기반으로 합니다.
Azure에서 사용자 지정 또는 상용 HPC 애플리케이션을 실행합니다. 이 섹션에서 일부 예제는 추가 VM 또는 컴퓨팅 코어를 통해 효율적으로 확장하도록 벤치마킹됩니다. 솔루션 배포 준비는 Azure Marketplace를 방문합니다.
참고
클라우드에서 실행하기 위해 라이선스나 기타 제한 사항에 대한 상용 애플리케이션을 공급 업체에 확인합니다. 일부 공급 업체는 종량제 라이선스를 제공합니다. 솔루션에 대한 라이선스 서버가 클라우드에 필요하거나 온-프레미스 라이선스 서버에 연결할 수 있습니다.
가장 짧은 대기 시간, 액세스 및 Azure Virtual Desktop을 통해 원격으로 시각화하기 위해 HPC 출력과 동일한 지역의 Azure에서 GPU 기반 가상 머신을 실행합니다.
많은 고객이 HPC 워크로드에 Azure를 사용하여 대성공을 거두었습니다. 아래에서 이러한 고객 사례 중 일부를 확인할 수 있습니다.
최신 공지는 다음 리소스를 참조하세요.
다음 자습서는 Microsoft Batch에서 애플리케이션을 실행하기 위한 세부 정보를 제공합니다.