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

HPC の概要

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

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

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

クラウドでの HPC の違い

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

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

実装チェックリスト

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

インフラストラクチャ

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

HPC アーキテクチャの例

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

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

  • Diagram shows example HPC architecture for computer-aided engineering services on Azure.

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

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

  • Diagram shows example HPC architecture for computational fluid dynamics simulations on Azure.

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

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

  • Diagram shows example HPC architecture for 3D video rendering on Azure.

    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 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 CycleCloud

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

CycleCloud では以下を行えます。

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

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

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 を HPC ワークロードに使用して大きな成功を収めています。 以下では、それらのお客様のケース スタディをいくつかご紹介します。

その他の重要な情報

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

次のステップ

最新のお知らせについては、以下を参照してください。

Microsoft Batch の例

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