HPC 仮想マシンの正常性チェック
Azure には、異常な仮想マシンの特定に役立つ、いくつかの自動テストが用意されています。 これらの自動テストを使用することにより、異常な仮想マシン (VM) が検出されたときに、顧客がそれらにアクセスする前に、その VM をフリートから削除できます。 ただし、これらの自動テストでは、すべての異常な VM がキャッチされない場合があります。
Note
Azure の自動正常性チェックは継続的に更新および改善されています。
一部のハイ パフォーマンス コンピューティング (HPC) アプリケーション (特に密結合された HPC アプリケーション) は、異常な VM の影響を受けます。 このような影響の受けやすさにより、HPC アプリケーションで実行時エラーが発生したり、実行が予想より低速になったりすることがあります。 密結合された HPC アプリケーションの規模が大きくなるにつれて、異常な VM が検出される可能性が高くなります。
念のため、特に大規模に密結合された HPC アプリケーションを実行している場合は、独自の正常性チェックを実行する必要があります。 独自の正常性チェックを実行すると、HPC アプリケーションを大規模に最適に実行する可能性が高くなります。
VM の正常性チェックでは、次のコンポーネントの動作とパフォーマンスが予想どおりであることを確認することが推奨されます: InfiniBand ネットワーク、メモリ、ストレージ、CPU コア。
InfiniBand の正常性チェック
ほとんどのシナリオで、InfiniBand ネットワークの正常性を確認するには、ping-pong テスト (メッセージの送受信) によって、ポイントツーポイントの InfiniBand の待機時間と帯域幅を測定するだけで十分です。
Intel IMP-MPI1 PingPong テストは、事前構築済みで、Azure Marketplace の "CentOS HPC 7.7 以降" のイメージで利用できるため、便利なオプションです。 Intel MPI (メッセージパッシング インターフェイス) 環境に含まれているバージョンと、HPC-X MPI 環境に含まれているバージョンがありますが、一般に HPC-X バージョンを使用すると、最適な待機時間と帯域幅のパフォーマンスが得られます。 Intel IMP-MPI1 PingPong テストを実行するためのスクリプトは、IMB-MPI ベンチマーク プロジェクトで入手できます。
次の表は、HPC VM で HPC-X Intel IMB-IMP1 PingPong ベンチマークを使用して測定される、予想される InfiniBand のネットワーク待機時間と帯域幅を示しています。 次の範囲外の値は、異常と見なされます。
VM の SKU | 予想されるネットワーク待機時間 | 予想されるネットワーク帯域幅 |
---|---|---|
HB120_v2 | < 2 μs | > 23.0 GB/秒 |
HC44 | < 2 μs | > 11.5 GB/秒 |
HB60 | < 2 μs | > 11.5 GB/秒 |
検討すべきその他のツールおよびベンチマークとしては、osu-micro-benchmarks と Mellanox ClusterKit があります。 後者もまた、HPC-X 環境の CentOS HPC 7.7 以降の Azure Marketplace イメージにプレインストールされています。 ClusterKit のスクリプト例は、Azure 正常性チェック スクリプト プロジェクトで入手できます。
メモリの正常性チェック
メモリ帯域幅を測定することは、VM のメモリが正常であることを確認する優れた方法です。 Intel Memory Latency Checker (MLC) は、メモリ帯域幅のベンチマークを実行するのに便利なツールです。 その他のオプションとしては、ストリーム ベンチマークを作成して実行するか、同様にメモリ帯域幅を測定できる Clusterkit を使用する方法があります。 スクリプト例については、Azure 正常性チェック スクリプト プロジェクトを参照してください。
次の表は、Intel MLC を実行している各 HPC VM で予想されるメモリ帯域幅の測定値を示しています。 これらの範囲外のメモリ帯域幅は、異常と見なされます。
VM の SKU | 予想されるメモリ帯域幅 |
---|---|
HB120_v2 | > 300 GB/秒 |
HC44 | > 200 GB/秒 |
HB60 | > 250 GB/秒 |
ストレージの正常性チェック
使用しているストレージ ソリューションとその予想される I/O パフォーマンスを把握し、その後 I/O ベンチマークを実行して予想される I/O パフォーマンスを確認することが重要です。 次のようないくつかの I/O ベンチマーク ツールから選択できます。
ストレージの正常性を測定するには、最大 I/O スループットを作成して IOPS ベンチマークを生成します。 次に、測定された I/O ベンチマークの結果と、ストレージ ソリューションの予想される I/O パフォーマンスを比較します。
IOR のスクリプト例については、IOR および mdtest プロジェクトを参照してください。 FIO のスクリプト例については、FIO プロジェクトを参照してください。
CPU コアの正常性
CPU コアが正常であり、予想されるパフォーマンスが発揮されていることを確認する優れた方法は、1 秒間に実行可能な浮動小数点演算の回数 (FLOPS) の最大値を測定することです。 次に、測定した結果を理論上予想される FLOPS と比較します。
High Performance Linpack (HPL) を使用して、最大 FLOPS を測定することができます。 HPL を実行する利点の 1 つは、一部の不良メモリ DIMM (デュアルインライン メモリ モジュール) の識別に役立つ点です。 また、密結合通信のためにいくつかの制限付きテストを実行するため、HPC クラスターの全体的な正常性を評価するのに役立ちます。
HPC データセンターでは、新しい HPC システムのバーンインに HPL がよく使用されます。 HPL のスクリプト例については、linpack プロジェクトを参照してください。