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

HPC の概要

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

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

  • Genomics
  • 石油およびガスのシミュレーション
  • Finance
  • 半導体の設計
  • Engineering
  • 天気のモデリング

クラウドでの HPC の違い

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

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

実装チェックリスト

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

インフラストラクチャ

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

HPC アーキテクチャの例

HPC アーキテクチャを設計して Azure に実装する方法は数多くあります。 HPC アプリケーションは、数千のコンピューティング コアにスケーリングしたり、オンプレミスのクラスターに拡張したり、100% クラウド ネイティブのソリューションとして実行したりできます。

次のシナリオでは、HPC ソリューションを構築する一般的な方法をいくつか説明します。

  • 図は、Azure でのコンピューター支援エンジニアリング サービスの HPC アーキテクチャの例を示しています。

    Azure でのコンピューター支援エンジニアリング サービス

    Azure で、コンピューター支援エンジニアリング (CAE) に、サービスとしてのソフトウェア (SaaS) プラットフォームを提供します。

  • 図は、Azure での計算流体力学シミュレーションの HPC アーキテクチャの例を示しています。

    Azure での計算流体力学 (CFD) シミュレーション

    Azure で計算流体力学 (CFD) シミュレーションを実行します。

  • 図は、Azure での 3D ビデオのレンダリングの HPC アーキテクチャの例を示しています。

    Azure での 3D ビデオのレンダリング

    Azure Batch サービスを使用して、Azure でネイティブ HPC ワークロードを実行します。

Compute

Azure では、CPU の負荷が高いワークロードと GPU の負荷が高いワークロードの両方に対して最適化された幅広いサイズが提供されています。

CPU ベースの仮想マシン

GPU 対応仮想マシン

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

ストレージ

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

Azure での Lustre、GlusterFS、BeeGFS の比較の詳細については、Azure での並列ファイル システムに関する電子ブックおよび 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 アプリケーションをクラウドで効率的に実行するためのプラットフォーム サービスです。 大量のコンピューティングを要する作業を仮想マシンの管理されたプールで実行するようにスケジュールを設定し、ジョブのニーズに合わせてコンピューティング リソースを自動的にスケールできます。

SaaS のプロバイダーやデベロッパーは、Batch の SDK とツールを使って、HPC アプリケーションやコンテナー ワークロードを Azure に統合し、Azure にデータをステージングして、ジョブ実行パイプラインを作成できます。

Azure Batch ではクラウド上ですべてのサービスが実行されています。次の図は、Azure Batch でのアーキテクチャの外観を示しています。スケーラビリティとジョブ スケジュールの構成をクラウドで実行し、結果とレポートをオンプレミス環境に送信できます。

Azure Batch の HPC アーキテクチャの例を示す図。

Azure CycleCloud

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

CycleCloud では以下を行えます。

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

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

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

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

クラウド ネイティブ モデルでの Azure 上の CycleCloud の HPC アーキテクチャの例を示す図。

比較チャート

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

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

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

Containers

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

コスト管理

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

Security

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

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

HPC アプリケーション

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

注意

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

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

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

AI とディープ ラーニング

MPI プロバイダー

リモート視覚化

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

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

顧客事例

数多くのお客様が、HPC ワークロードに Azure を使用して大きな成功を収めています。 以下では、それらのお客様のケース スタディをいくつかご紹介します。

その他の重要な情報

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

次のステップ

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

Microsoft Batch の例

以下のチュートリアルでは、Microsoft Batch でのアプリケーションの実行について詳しく説明します。