次の方法で共有


Azureでのハイ パフォーマンス コンピューティング (HPC)

HPC の概要

ハイ パフォーマンス コンピューティング (HPC) は ビッグ コンピューティングとも呼ばれ、多数の CPU または GPU ベースのコンピューターを使用して複雑な数学的タスクを解決します。

多くの業界では HPC を使用して、最も困難な問題の一部を解決しています。 これらには、以下のようなワークロードがあります。

  • Genomics
  • 石油およびガスのシミュレーション
  • ファイナンス
  • 半導体の設計
  • エンジニアリング
  • 天気のモデリング

クラウドでの HPC の違い

オンプレミスの HPC システムとクラウドのそれとの主な違いの 1 つは、必要に応じてリソースを動的に追加および削除できることです。 動的スケーリングによって、コンピューター能力がボトルネットになることがなく、お客様はジョブの要件に応じてインフラストラクチャを適切にサイズ調整できます。

次の記事では、この動的スケーリング機能について詳しく説明します。

実装チェックリスト

Azureに独自の HPC ソリューションを実装する場合は、次のトピックを確認してください。

インフラストラクチャ

HPC システムの構築に必要なインフラストラクチャ コンポーネントは数多くあります。 どのような方法で HPC ワークロードを管理するとしても、基礎になるコンポーネントを提供するのは、コンピューティング、ストレージ、およびネットワークです。

Compute

Azureは、CPUとGPUの両方に最適化された、CPU・GPU集約型ワークロード向けのさまざまなサイズを提供します。

CPU ベースの仮想マシン

GPU 対応仮想マシン

N シリーズ VM は、人工知能 (AI) の学習や視覚化などによりコンピューティングやグラフィック使用量が多いアプリケーションのために設計された NVIDIA GPU を採用しています。

Storage

バッチ ワークロードや HPC ワークロードが大規模の場合には、従来のクラウド ファイル システムの容量を上回るデータ ストレージが必要になったり、データ アクセスが発生したりします。 Azure上の HPC アプリケーションの速度と容量の両方のニーズを管理する多くのソリューションがあります。

Azureでの Lustre、GlusterFS、BeeGFS の比較の詳細については、電子書籍の Parallel Files Systems on Azure および Lustre on Azure ブログを参照してください。

ネットワーク

H16r、H16mr、A8、A9 の VM は、高スループットのバックエンド RDMA ネットワークに接続できます。 このネットワークは、MPI または Intel MPI と呼ばれる、Microsoft メッセージ パッシング インターフェイスで実行される密結合並列アプリケーションのパフォーマンスを向上させることができます。

管理

自作

Azureで HPC システムをゼロから構築すると、かなりの柔軟性が得られますが、多くの場合、非常にメンテナンスが集中します。

  1. Azure仮想マシンまたは Virtual Machine Scale Sets で独自のクラスター環境を設定します。
  2. Azure Resource Manager テンプレートを使用して、主要な workload マネージャー、インフラストラクチャ、および applications をデプロイします。
  3. HPC および GPU の VM サイズを選択します。これには、MPI ワークロードまたは GPU ワークロードのための特別なハードウェアとネットワーク接続が含まれます。
  4. I/O 集中型ワークロード用の高パフォーマンス ストレージを追加します。

ハイブリッドとクラウド バースティング

Azureに接続する既存のオンプレミス HPC システムがある場合は、作業を開始するのに役立つリソースがいくつかあります。

まず、ドキュメントの Options を参照して、オンプレミス ネットワークを Azure に接続します。 そこから、次の接続オプションに関する追加情報を確認できます:

ネットワーク接続が安全に確立されたら、既存のワークロード マネージャーのバースティング機能と共に、オンデマンドでクラウド コンピューティング リソースの使用を開始できます。

Marketplace のソリューション

Microsoft 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 は、任意のスケジューラ (Slurm、Grid Engine、HPC Pack、HTCondor、LSF、PBS Pro、Symphony など) を使用して、Azure 上で HPC ワークロードを管理する最も簡単な方法を提供します。

CycleCloud では以下を行えます。

  • スケジューラ、コンピューティング VM、ストレージ、ネットワーク、キャッシュなど、すべてのクラスターとその他のリソースをデプロイする
  • ジョブ、データ、クラウドのワークフローを調整する
  • ジョブを実行できるユーザー、その実行場所、その実行にかかるコストを管理者が完全に制御できるようにする
  • コスト管理、Active Directory統合、監視、レポートなど、高度なポリシーとガバナンス機能を使用してクラスターをカスタマイズおよび最適化する
  • 変更せずに現在のジョブ スケジューラとアプリケーションを使用する
  • さまざまな HPC ワークロードや業界に対して、組み込みの自動スケーリングと実績が証明されている参照アーキテクチャを活用する
ハイブリッド/クラウドバースティングモデル

このハイブリッドサンプル図では、これらのサービスがクラウドとオンプレミス環境の間でどのように分散されているかを明確に確認できます。 両方のワークロードでジョブを実行する機会があります。 この図は、Azure 上の CycleCloud のハイブリッドな HPC アーキテクチャの例を示しています。

クラウド ネイティブ モデル

次のクラウド ネイティブ モデルの例の図は、オンプレミス環境への接続を確保しながら、クラウド内のワークロードですべてを処理する方法を示しています。

Diagram は、クラウド ネイティブ モデルの Azure での CycleCloud の HPC アーキテクチャの例を示しています。

比較チャート

特徴 Azure Batch Azure CycleCloud
Scheduler Azure ポータル (Cloud Native) の Batch API とツールとコマンド ライン スクリプト。 Slurm、PBS Pro、LSF、Grid Engine、HTCondor などの標準の HPC スケジューラを使用するか、CycleCloud 自動スケーリング プラグインを拡張して独自のスケジューラを使用します。
コンピューティング リソース サービス としてのソフトウェア ノード – サービスとしてのプラットフォーム ソフトウェア サービスとしてのプラットフォーム – サービスとしてのプラットフォーム
監視ツール Azure Monitor Azure Monitor、Grafana
カスタマイズ カスタム イメージ プール、サード パーティ イメージ、Batch API アクセス。 包括的な RESTful API を使用して、機能のカスタマイズと拡張、独自のスケジューラのデプロイ、既存のワークロード マネージャーのサポートを行います。
統合 Microsoft Fabric の Data Factory、Azure Data Factory、Azure CLI Windows および Linux 用のBuilt-In CLI
ユーザーの種類 開発者 従来の HPC 管理者とユーザー
作業の種類 バッチ、ワークフロー 密結合 (メッセージ パッシング インターフェイス/MPI)。
Windows サポート はい スケジューラの選択によって異なります

ワークロード マネージャー

Azureインフラストラクチャで実行できるクラスターおよびワークロード マネージャーの例を次に示します。 Azure VM にスタンドアロン クラスターを作成するか、オンプレミス クラスターからAzure VM にバーストします。

Containers

コンテナーは、一部の HPC ワークロードを管理するためにも使用できます。 Azure Kubernetes Service (AKS)のようなサービスを使用すると、マネージド Kubernetes クラスターを Azure に簡単にデプロイできます。

コスト管理

Azureでの HPC コストの管理は、いくつかの異なる方法で行うことができます。 Azure購入オプションを確認して、組織に最適な方法を見つけてください。

セキュリティ

Azureに関するセキュリティのベスト プラクティスの概要については、Azure セキュリティ ドキュメントを参照してください。

クラウド バーストに関するセクションで利用できるネットワーク構成のほかに、ハブ/スポーク構成を実装して、コンピューティング リソースを分離することができます:

HPC アプリケーション

Azureでカスタム HPC アプリケーションまたは商用 HPC アプリケーションを実行します。 このセクションのさまざまな例で、VM やコンピューティング コアを追加して効率的にスケールできることが確認されています。 すぐにデプロイできるソリューションについては、Microsoft Marketplace にアクセスしてください。

クラウドで実行するためのライセンスまたはその他の制限事項については、商用アプリケーションのベンダーに確認してください。 すべてのベンダーが従量課金制ライセンスを提供しているとは限りません。 ソリューション用にクラウド内にライセンス サーバーを用意したり、オンプレミスのライセンス サーバーに接続することが必要になる場合があります。

エンジニアリング アプリケーション

グラフィックとレンダリング

AI とディープ ラーニング

MPI プロバイダー

リモート視覚化

AZUREで GPU を使用した仮想マシンを HPC 出力と同じリージョンで実行し、待機時間、アクセスを最小限に抑え、Azure Virtual Desktopを介してリモートで視覚化します。

パフォーマンス ベンチマーク

その他の重要な情報

  • 大規模なワークロードの実行を試行する前には、vCPU クォータを引き上げておくようにしてください。

次のステップ

最新のお知らせについては、次のリソースを参照してください。

Microsoft Batch の例

これらのチュートリアルでは、Microsoft Batch でアプリケーションを実行する方法について詳しく説明します。