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) 平臺。

  • 圖表顯示 Azure 上計算流體動態仿真的 HPC 架構範例。

    Azure 上的計算流體動態 (CF) 模擬

    在 Azure 上執行計算流體動態 (CF) 模擬。

  • 圖表顯示 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 電子書上的 Parallel Files Systems 和 Azure 部落格上的 Lustre。

網路

H16r、H16mr、A8 和 A9 VM 可以連線到高輸送量後端 RDMA 網路。 此網路可以改善在 Microsoft Message Passing Interface 下執行的緊密結合平行應用程式的效能,更稱為 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 Batch 中,所有服務都在雲端上執行,下圖顯示架構與 Azure Batch 的外觀,在雲端中執行延展性和作業排程設定,而結果和報表可以傳送至您的內部部署環境。

圖表顯示 Azure Batch 的 HPC 架構範例。

Azure CycleCloud

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

CycleCloud 可讓您:

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

在此混合式範例圖表中,我們可以清楚地看到這些服務在雲端與內部部署環境之間分佈的方式。 有機會在這兩個工作負載中執行作業。 圖表顯示混合式中 Azure 上 CycleCloud 的範例 HPC 架構。

雲端原生模型

下列雲端原生模型範例圖表顯示雲端中的工作負載如何處理所有專案,同時仍會保留與內部部署環境的連線。

圖表顯示 Cloud 原生模型中 Azure 上 CycleCloud 的範例 HPC 架構。

比較圖表

功能 Azure Batch Azure CycleCloud
排程器 Azure 入口網站 (雲端原生) 中的 Batch API 和工具和命令行腳本。 使用標準 HPC 排程器,例如 Slurm、PBS Pro、LSF、Grid Engine 和 HTCondor,或擴充 CycleCloud 自動調整外掛程式以使用您自己的排程器。
計算資源 軟體即服務節點 – 平臺即服務 平臺即服務軟體 – 平臺即服務
監視工具 Azure 監視器 Azure 監視器、Grafana
自訂 自定義映像集區、第三方映像、Batch API 存取。 使用完整的 RESTful API 來自定義和擴充功能、部署您自己的排程器,以及將支援部署到現有的工作負載管理員
整合 Synapse Pipelines、Azure Data Factory、Azure CLI 適用於 Windows 和 Linux 的內建 CLI
使用者類型 開發人員 傳統 HPC 系統管理員和使用者
工作類型 Batch、工作流程 緊密結合(訊息傳遞介面/MPI)。
Windows 支援 Yes 視排程器選擇而有所不同

工作負載管理員

以下是可在 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 從遠端可視化。

效能評定

客戶案例

有許多客戶已透過使用 Azure 來取得其 HPC 工作負載的巨大成功。 您可以在下列幾個客戶案例研究中找到:

其他重要資訊

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

下一步

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

Microsoft Batch 範例

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