「大型計算」一詞描述需要大量核心的大型工作負載,通常以數百或數千個為單位。 案例包括影像轉譯、流暢動態、財務風險模型、石油勘探、藥物設計和工程壓力分析等。
以下是大型計算應用程式的一些典型特性:
- 工作可以分割成離散工作,這些工作可以同時跨許多核心執行。
- 每個工作都是有限的。 它需要一些輸入、執行一些處理,並產生輸出。 整個應用程式會執行一段有限的時間(分鐘到數天)。 常見的模式是在高載中布建大量核心,然後在應用程式完成之後向下微調為零。
- 應用程式不需要保持 24/7。 不過,系統必須處理節點失敗或應用程式當機。
- 對於某些應用程式,工作是獨立的,而且可以平行執行。 在其他情況下,工作會緊密結合,這表示它們必須互動或交換中繼結果。 在此情況下,請考慮使用高速網路技術,例如 InfiniBand 和遠端直接記憶體存取(RDMA)。
- 根據您的工作負載,您可以使用計算密集型 VM 大小(H16r、H16mr 和 A9)。
使用此架構的時機
- 計算密集型作業,例如模擬和數位擷取。
- 計算密集且必須在多部計算機中跨CPU分割的模擬(10-1000s)。
- 需要太多記憶體給一部計算機的模擬,而且必須分割成多部計算機。
- 長時間執行的計算,在單一計算機上完成的時間太長。
- 必須執行 100 或 1000 次的較小計算,例如蒙特卡洛模擬。
福利
- 高效能與「尷尬平行」處理。
- 可以利用數十或數千個計算機核心,更快解決大型問題。
- 使用專用高速 InfiniBand 網路存取專用高效能硬體。
- 您可以視需要布建 VM 以執行工作,然後將其卸除。
挑戰
- 管理 VM 基礎結構。
- 管理數位緊縮的數量
- 及時布建數千個核心。
- 對於緊密結合的工作,新增更多核心可能會降低傳回。 您可能需要進行實驗,以找出最佳的核心數目。
使用 Azure Batch 進行巨量計算
Azure Batch 是一項受控服務,可用於執行大規模的高效能運算 (HPC) 應用程式。
使用 Azure Batch,您可以設定 VM 集區,並上傳應用程式和資料檔。 然後 Batch 服務會佈建 VM、將工作指派給 VM、執行工作,以及監視進度。 Batch 可以自動相應放大 VM 以回應工作負載。 Batch 也提供作業排程。
在 虛擬機器 上執行的巨量計算
您可以使用 Microsoft HPC Pack 來管理 VM 叢集,以及排程和監視 HPC 作業。 使用這種方法,您必須布建和管理 VM 和網路基礎結構。 如果您有現有的 HPC 工作負載,而且想要將部分或全部移至 Azure,請考慮此方法。 您可以將整個 HPC 叢集移至 Azure,或將 HPC 叢集保留在內部部署,但使用 Azure 來達到高載容量。 如需詳細資訊,請參閱 適用於大規模運算工作負載的 Batch 和 HPC 解決方案。
部署至 Azure 的 HPC Pack
在此案例中,HPC 叢集會完全建立在 Azure 內。
前端節點會將管理和作業排程服務提供給叢集。 針對緊密結合的工作,請使用 RDMA 網路,提供 VM 之間的高頻寬、低延遲通訊。 如需詳細資訊,請參閱 在 Azure 中部署 HPC Pack 2016 叢集。
將 HPC 叢集高載至 Azure
在此案例中,組織正在內部部署執行 HPC Pack,並使用 Azure VM 進行高載容量。 叢集前端節點為內部部署。 ExpressRoute 或 VPN 閘道 將內部部署網路連線至 Azure VNet。