次の方法で共有


HB シリーズ仮想マシンの概要

適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ 均一スケール セット

AMD EPYC でハイパフォーマンス コンピューティング (HPC) アプリケーションのパフォーマンスを最大化するには、綿密なアプローチによるメモリの局所性とプロセスの配置が必要です。 以下、AMD EPYC アーキテクチャと、Azure での HPC アプリケーション向けのその実装について概説します。 用語 "pNUMA" は物理 NUMA ドメインのことで、"vNUMA" は仮想化 NUMA ドメインのことです。

物理的には、HB シリーズ サーバーは 2 * 32 コアの EPYC 7551 CPU であり、物理コアは合計 64 個です。 これら 64 個のコアは、それぞれ 4 コアであり "CPU コンプレックス" (または "CCX") と呼ばれる 16 の pNUMA ドメイン (ソケットあたり 8 つ) に分割されます。 各 CCX には独自の L3 キャッシュがあり、OS はこれによって pNUMA/vNUMA 境界を認識します。 隣接する CCX のペアは、2 チャネルの物理 DRAM (HB シリーズ サーバーでは 32 GB の DRAM) へのアクセスを共有します。

Azure ハイパーバイザーが VM に干渉せずに動作する余地を提供するために、物理 pNUMA ドメイン 0 (最初の CCX) を予約します。 次に、pNUMA ドメイン 1 ~ 15 (残りの CCX ユニット) を VM に割り当てます。 VM は次のようになります。

VM あたり (15 vNUMA domains) * (4 cores/vNUMA) = 60 コア

VM 自体は、pNUMA 0 がそれに与えられなかったことを知りません。 VM は pNUMA 1 ~ 15 を vNUMA 0 ~ 14 と解釈し、vSocket 0 では 7 vNUMA、vSocket 1 では 8 vNUMA です。 これは非対称ですが、OS は正常に起動し、動作するはずです。 このガイドの後半では、この非対称の NUMA レイアウトで MPI アプリケーションを最適に実行する方法を説明します。

基になるシリコンはそのままゲスト VM に公開されるため、プロセス固定は HB シリーズ VM で機能します。 最適なパフォーマンスと一貫性のために、プロセス固定を強くお勧めします。

次の図は、Azure Hypervisor と HB シリーズ VM 用に予約されているコアの分離を示しています。

Azure Hypervisor と HB シリーズ VM 用に予約されているコアの分離

ハードウェア仕様

ハードウェア仕様 HB シリーズ VM
コア 60 (SMT 無効)
CPU AMD EPYC 7551
CPU 周波数 (非 AVX) 最大 2.55 GHz (シングル + 全コア)
メモリ 4 GB/コア (合計 240 GB)
ローカル ディスク 700 GB SSD
Infiniband 100 Gb EDR Mellanox ConnectX-5
ネットワーク 50 GB イーサネット (40 GB 使用可能) Azure 第 2 世代 SmartNIC

ソフトウェア仕様

ソフトウェア仕様 HB シリーズ VM
最大 MPI ジョブ サイズ 18000 コア (1 つの仮想マシン スケール セットに 300 台の VM、singlePlacementGroup=true)
MPI のサポート HPC-X、Intel MPI、OpenMPI、MVAPICH2、MPICH、Platform MPI
その他のフレームワーク UCX、libfabric、PGAS
Azure Storage のサポート Standard および Premium ディスク (最大 4 ディスク)
SRIOV RDMA の OS サポート RHEL 7.6 以降、Ubuntu 18.04 以降、SLES 15.4、WinServer 2016 以降
Orchestrator のサポート CycleCloud、Batch、AKS、クラスター構成オプション

重要

このドキュメントでは、サポート終了 (EOL) が近い、また既にサポートが終了した Linux のリリース バージョンを参照しています。 より新しいバージョンへの更新をご検討ください。

次のステップ