Azure 上的高效能運算 (HPC)

HPC 簡介

高效能運算 (HPC) 也稱為「巨量計算」,會使用大量 CPU 或 GPU 型電腦來解決複雜的數學工作。

許多產業都使用 HPC 來解決一些最困難的問題。 這些產業包括下列工作負載:

  • Genomics
  • 石油與天然氣模擬
  • Finance
  • 半導體設計
  • Engineering
  • 天氣模型

HPC 在雲端上有何不同?

內部部署 HPC 系統與雲端中的其中一個主要差異,就是能夠視需要動態新增和移除資源。 動態調整會因為瓶頸而移除計算功能,改而讓客戶能夠針對其作業需求適度調整其基礎結構的大小。

下列文章提供此動態調整功能的詳細說明。

實作檢查清單

當您想要在 Azure 上實作自己的 HPC 解決方案時,請確定您已檢閱下列主題:

  • 根據您的需求選擇適當的架構
  • 知道哪個計算選項適合您的工作負載
  • 找出符合您需求的合適儲存體解決方案
  • 決定您要如何管理您所有的資源
  • 針對雲端將您的應用程式最佳化
  • 保護您的基礎結構

基礎結構

建置 HPC 系統需要許多基礎結構元件。 不論您選擇如何管理 HPC 工作負載,計算、儲存體和網路都會提供基礎元件。

範例 HPC 架構

在 Azure 上設計和實作 HPC 架構的方式有很多種。 HPC 應用程式可擴展成上千個計算核心,以擴充內部部署叢集或以 100% 雲端原生解決方案的方式執行。

下列案例概述幾個常見的 HPC 解決方案建置方式。

  • 圖表顯示 Azure 上電腦輔助工程服務的範例 HPC 架構。

    Azure 上的電腦輔助工程服務

    為 Azure 上的電腦輔助工程 (CAE) 提供軟體即服務 (SaaS) 平台。

  • 圖表顯示 Azure 上計算流暢動態模擬的 HPC 架構範例。

    Azure 上的計算流體力學 (CFD) 模擬

    在 Azure 上執行計算流體力學 (CFD) 模擬。

  • 圖表顯示 Azure 上 3D 視訊轉譯的範例 HPC 架構。

    Azure 上的 3D 影片轉譯

    使用 Azure Batch 服務在 Azure 中執行原生 HPC 工作負載

計算

Azure 提供一系列的大小,可針對兩個 CPU & GPU 密集工作負載進行優化。

CPU 型虛擬機器

已啟用 GPU 的虛擬機器

N 系列 VM 功能 NVIDIA GPU 是專為需要大量運算或需要大量圖形的應用程式所設計,包括人工地智慧 (AI) 學習和視覺效果。

儲存體

大規模 Batch 和 HPC 工作負載所需要的資料儲存和存取會超過傳統雲端檔案系統的容量。 有許多解決方案可管理 Azure 上 HPC 應用程式的速度和容量需求:

如需比較 Azure 上 Lustre、GlusterFS 和 BeeGFS 的詳細資訊,請檢閱 Azure 電子書上的平行檔案系統 和 Azure 部落格 上的 Lustre

網路功能

H16r、H16mr、A8 和 A9 VM 可以連線到高輸送量後端 RDMA 網路。 此網路可以改善 Microsoft MPI 或 Intel MPI 下執行的緊密結合平行應用程式效能。

管理性

自己動手做

從頭開始在 Azure 上建置 HPC 系統可提供大量的彈性,但通常需要大量維護。

  1. 在 Azure 虛擬機器或虛擬機器擴展集中設定自己的叢集環境。
  2. 使用 Azure Resource Manager 範本來部署前置工作負載管理員基礎結構和應用程式
  3. 選擇 HPC 和 GPU VM 大小 ,其中包含 MPI 或 GPU 工作負載的特殊硬體和網路連線。
  4. 為需要大量 I/O 的工作負載新增 高效能儲存體

混合式和雲端負載平衡

如果您有想要連線到 Azure 的現有內部部署 HPC 系統,有數個資源可協助您開始使用。

首先,檢閱文件中的將內部部署網路連線到 Azure 的選項一文。 您可以在該處找到這些連線選項的其他資訊:

安全地建立網路連線後,您即可透過現有工作負載管理員的負載平衡功能,開始隨選使用雲端計算資源。

Marketplace 解決方案

Azure Marketplace中提供許多工作負載管理員。

Azure Batch

Azure Batch 是一項平台服務,可用於在雲端有效地執行大規模的平行和高效能運算 (HPC) 應用程式。 Azure Batch 可排程要在受控集區虛擬機器上執行的需要大量運算工作,而且可以調整運算資源以符合工作的需求。

SaaS 提供者或開發人員可使用 Batch SDK 和工具,將 HPC 應用程式或容器工作負載與 Azure 進行整合、將資料暫存至 Azure,並建置作業執行管線。

Azure CycleCloud

Azure CycleCloud 在 Azure 上使用任何作業排程器 (如 Slurm、Grid Engine、HPC Pack、HTCondor、LSF、PBS Pro 或 Symphony) 管理 HPC 工作負載的最簡單方法

CycleCloud 可讓您:

  • 部署完整叢集和其他資源,包括排程器、計算 VM、儲存體、網路和快取
  • 協調作業、資料和雲端工作流程
  • 讓管理員能完全控制哪些使用者可執行作業,以及執行位置和成本
  • 透過進階原則和治理功能 (包括成本控制、Active Directory 整合、監視和報告) 自訂叢集並予以最佳化
  • 使用目前的作業排程器和應用程式,並無需修改
  • 針對各種 HPC 工作負載和產業,利用內建自動調整和經過測試的參考架構

工作負載管理員

下列是可以在 Azure 基礎結構中執行的叢集和工作負載管理員範例。 在 Azure VM 中建立獨立叢集,或從內部部署叢集高載至 Azure VM。

容器

容器也可用來管理一些 HPC 工作負載。 Azure Kubernetes Service (AKS) 等服務可讓您輕鬆地在 Azure 中部署受控 Kubernetes 叢集。

成本管理

您可以透過一些不同方法在 Azure 上管理您的 HPC 成本。 確定您已檢閱 Azure 購買選項,以尋找最適合貴組織的方法。

安全性

如需 Azure 上的安全性最佳做法概觀,請檢閱 Azure 安全性文件

除了 Cloud Bursting 區段中可用的網路設定之外,您還可以實作中樞/輪輻設定來隔離您的計算資源:

HPC 應用程式

在 Azure 中執行自訂或商業 HPC 應用程式。 本節中的數個範例會經過基準測試,以使用其他 VM 或運算核心有效地進行擴充。 請瀏覽 Azure Marketplace 以取得可立即部署的解決方案。

注意

請向廠商確認任何商業應用程式在雲端中的執行授權或其他限制。 並非所有廠商都提供隨用隨付授權。 您可能需要視您的解決方案,在雲端中授權伺服器,或連線至內部部署授權伺服器。

工程應用程式

圖形和轉譯器

AI 和深入學習

MPI 提供者

遠端視覺效果

在與 HPC 輸出相同的區域中執行 GPU 支援的虛擬機器,以達到最低延遲、存取,以及透過 Azure 虛擬桌面、Citrix 或 VMware Horizon 從遠端視覺化。

效能評定

客戶案例

有許多客戶已針對其 HPC 工作負載使用 Azure 來獲得絕佳的成功。 您可以在底下找到這些客戶的一些案例研究:

其他重要資訊

  • 在嘗試執行大規模工作負載之前,先確定您的 vCPU 配額已經增加。

下一步

如需最新的公告,請參閱下列資源:

Microsoft Batch 範例

這些教學課程會提供您在 Microsoft Batch 上執行應用程式的詳細資料: