クラスタ管理機能が強化された HPC クラスタの概要

複数のノードにわたってスケーリングする密結合アプリケーションのインフラストラクチャを作成するには、仮想マシン(VM)インスタンスのクラスタを作成します。このガイドでは、高密度リソース割り当てを使用してハイ パフォーマンス コンピューティング(HPC)ワークロード用の仮想マシン(VM)インスタンスのクラスタを構成するための主な考慮事項と手順の概要について説明します。

H4D を使用すると、Compute Engine は VM インスタンスのクラスタ全体を 1 台のコンピュータとして扱うことで、大規模な HPC ワークロードの実行をサポートできます。VM のトポロジ認識配置を使用すると、単一のネットワーキング スーパーブロック内の多くのインスタンスにアクセスでき、ネットワーク レイテンシを最小限に抑えることができます。これらのインスタンスで Cloud RDMA を構成して、密結合の HPC ワークロードに不可欠なノード間通信のパフォーマンスを最大化することもできます。

これらの HPC VM クラスタは、個々のリソースではなく容量のブロックを予約して、H4D で作成します。クラスタに容量ブロックを使用すると、クラスタ管理機能が強化されます。

H4D インスタンスを使用する HPC クラスタは、クラスタ管理機能の強化の有無にかかわらず作成できます。H4D HPC クラスタでクラスタ管理機能の強化を必要としない場合、または H4D 以外のマシンシリーズを使用して HPC クラスタを作成する場合は、次の手順に沿って HPC インスタンスまたはクラスタを作成します。

クラスタの用語

容量ブロックに関して次の用語が使用されます。

ブロック
複数のサブブロックがノンブロッキング ファブリックで相互接続され、高帯域幅の相互接続を実現します。ブロック内の CPU は、最大 2 つのネットワーク ホップで到達できます。システムは、最適なジョブ配置を可能にするために、ブロックとサブブロックのメタデータをオーケストレーターに公開します。
クラスタ
複数のブロックが相互接続してクラスタを形成し、大規模な HPC ワークロードを実行するために数千の CPU にスケールします。各クラスタはグローバルに一意です。異なるブロック間の通信では、ホップが 1 つ追加されるだけです。大規模な場合でも、高パフォーマンスと予測可能性が維持されます。クラスタレベルのメタデータは、インテリジェントな大規模ジョブの配置のためにオーケストレーターでも使用されます。
Cluster Toolkit
Google が提供するオープンソース ツール。Slurm または Google Kubernetes Engine を使用するクラスタの構成とデプロイを簡素化します。事前定義されたブループリントを使用して、ブループリントに基づくデプロイ フォルダをビルドします。ブループリントまたはデプロイ フォルダを変更して、デプロイとソフトウェア スタックをカスタマイズできます。次に、Terraform または Packer を使用して、Cluster Toolkit によって生成されたコマンドを実行し、クラスタをデプロイします。
高密度デプロイ
コンピューティング インスタンスのリソースを物理的に互いに近い場所に割り当て、ネットワーク ホップを最小限に抑え、レイテンシを最小限にするように最適化するリソース リクエスト。
ネットワーク ファブリック
ネットワーク ファブリックは、クラスタ内のすべてのブロックと Google Cloud サービスに高帯域幅で低レイテンシの接続を提供します。Jupiter は、ソフトウェア定義ネットワーキングと光回路スイッチを活用してネットワークを進化させ、パフォーマンスを最適化する Google のデータセンター ネットワーク アーキテクチャです。
ノードまたはホスト
データセンター内の単一の物理サーバーマシン。各ホストには、関連付けられたコンピューティング リソース(CPU、メモリ、ネットワーク インターフェース)があります。これらのコンピューティング リソースの数と構成は、マシン ファミリーによって異なります。VM インスタンスは物理ホスト上にプロビジョニングされます。
オーケストレーター
オーケストレーターは、クラスタの管理を自動化します。オーケストレーターを使用すると、クラスタ内の各 VM インスタンスを管理する必要がなくなります。Slurm や Google Kubernetes Engine(GKE)などのオーケストレーターは、ジョブのキューイング、リソース割り当て、自動スケーリング(GKE を使用)、その他の日常的なクラスタ管理タスクなどを処理します。
サブブロック
これらは、ホストのグループが 1 つのラックに物理的に配置される基盤となる単位です。トップオブラック(ToR)スイッチはこれらのホストを接続し、サブブロック内の任意の 2 つの CPU 間で非常に効率的なシングルホップ通信を可能にします。Cloud RDMA により、この直接通信を容易に行うことができます。

H4D VM を使用したクラスタの作成プロセスの概要

予約済みの容量ブロックに HPC クラスタを作成するには、次の手順を完了する必要があります。

  1. 利用可能なプロビジョニング モデルを確認する
  2. 使用オプションを選択して容量を取得する
  3. デプロイ オプションとオーケストレーターを選択する
  4. オペレーティング システムまたはクラスタ イメージを選択する
  5. クラスタを作成する

VM とクラスタを作成する場合のプロビジョニング モデル

VM インスタンスを作成するときは、Compute Engine インスタンスのプロビジョニング モデルで説明されているプロビジョニング モデルを使用できます。

密結合の H4D インスタンスを作成するには、次のいずれかのプロビジョニング モデルを使用して、コンピューティング インスタンスの作成に必要なリソースを取得する必要があります。

  • 予約バインド: 将来の日付と期間でリソースを割引価格で予約できます。予約期間の開始時に、予約済みリソースを使用して VM またはクラスタを作成できます。予約期間中は、予約したリソースに排他的にアクセスできます。

  • Flex Start: 割引リソースを最大 7 日間リクエストできます。Compute Engine は、リクエストされたリソースが使用可能になるとすぐに、そのプロビジョニングをベスト エフォートでスケジュールします。リクエストした期間中、取得したリソースに排他的にアクセスできます。

  • Spot: 可用性に基づいて、大幅割引のリソースをすぐに取得できます。ただし、Compute Engine は容量を再利用するために、VM インスタンスを任意のタイミングで停止または削除する場合があります。

予約にバインドされたプロビジョニング モデル

予約にバインドされたプロビジョニング モデルでは、作成した VM インスタンスが以前に予約した容量にリンクされます。容量を予約すると、Compute Engine は空の予約を作成します。予約の開始時間になると、次の処理が行われます。

  • Compute Engine は、予約済みリソースを予約に追加します。予約終了時間まで、予約した容量に排他的にアクセスできます。

  • Google Cloud では、容量を使用するかどうかにかかわらず、予約期間の終了まで予約済み容量に対して課金されます。

予約済みリソースを使用して、追加料金なしで VM を作成できます。ディスクや IP アドレスなど、予約に含まれていないリソースについてのみ支払います。

将来の日付で、必要な数の VM に対して必要な期間だけリソースを予約できます。予約期間が終了するまで、予約済みリソースを使用して VM を作成して実行できます。1 年以上リソースを予約する場合は、リソースベースのコミットメントを購入して関連付ける必要があります。

予約にバインドされたプロビジョニング モデルを使用してリソースをプロビジョニングするには、以下をご覧ください。

H4D インスタンスで予約で制限されたプロビジョニングを使用するには、個々の VM、HPC クラスタ、または VM グループの作成時に、予約で制限されたプロビジョニング モデルを指定します。

Flex Start プロビジョニング モデル

リソースの密な割り当てを必要とする短期間のワークロードを実行するには、Flex Start を使用して最大 7 日間のコンピューティング リソースをリクエストできます。リソースが使用可能になると、Compute Engine はリクエストされた数の VM を作成します。スタンドアロンの Flex Start VM は停止できますが、マネージド インスタンス グループ(MIG)がサイズ変更リクエストで作成した Flex Start VM は停止できません。Flex Start VM は、ユーザーが削除するか、Compute Engine が実行期間の終了時に VM を削除するまで存在します。

Flex Start は、いつでも開始できるワークロードに最適です。Flex Start プロビジョニング モデルは、安全な容量プールからリソースをプロビジョニングするため、割り当てられたリソースはネットワーク レイテンシを最小限に抑えるように高密度で割り当てられます。

サイズ変更リクエストを使用して Flex Start VM をマネージド インスタンス グループ(MIG)に追加すると、MIG は VM を一度にすべて作成します。このアプローチを使用すると、ワークロードの開始に必要な容量がすべて揃うまで、Compute Engine が提供する部分的な容量に対する不要な料金の発生を防ぐことができます。

使用可能なデプロイモデルを使用して、H4D インスタンスで Flex Start プロビジョニングを使用できます。

Spot プロビジョニング モデル

フォールト トレラントなワークロードを実行するには、可用性に基づいてコンピューティング リソースをすぐに取得できます。リソースを可能な限り低価格で取得できます。ただし、Compute Engine は容量を再利用するために、作成された Spot VM を任意のタイミングで停止または削除する場合があります。このプロセスはプリエンプションと呼ばれます。

Spot VM は、次のような中断が許容されるワークロードに最適です。

  • バッチ処理
  • ハイ パフォーマンス コンピューティング(HPC)
  • データ分析
  • 継続的インテグレーションと継続的デプロイ(CI / CD)
  • メディアのエンコード

A4X、X4、ベアメタル マシンタイプを除く任意のマシンタイプで Spot VM を使用できます。高密度の割り当てはリソースの可用性に依存します。より近い割り当てを確保するには、Spot VM にコンパクト プレースメント ポリシーを適用します。

次の高密度デプロイ オプションで Spot VM を使用できます。

使用オプションを選択して容量を取得する

使用オプションは、クラスタのリソースの取得方法を決定します。クラスタ管理機能が強化されたクラスタを作成するには、高密度デプロイの容量ブロックをリクエストする必要があります。

次の表は、容量ブロックの使用オプションの主な違いをまとめたものです。

使用オプション 容量ブロックの将来の予約 最大 90 日間の将来の予約(カレンダー モード) Flex Start Spot
ワークロードの特性 リソースの密な割り当てを必要とする大規模な長時間実行分散ワークロード リソースの密な割り当てを必要とする短期間のワークロード リソースの密な割り当てを必要とする短期間のワークロード フォールト トレラントなワークロード
存続期間 指定なし 最長 90 日間 最長 7 日 指定なし。ただし、プリエンプションの対象
プリエンプティブル いいえ いいえ いいえ はい
容量保証 非常に高い 非常に高い ベスト エフォート ベスト エフォート
割り当て インスタンスを作成する前に、十分な割り当てがあることを確認します。 割り当ては課金されません プリエンプティブル割り当ては課金対象です。 プリエンプティブル割り当ては課金対象です。
料金
リソースの割り当て 高密度 高密度 高密度 標準(コンパクト プレースメント ポリシーは省略可)
プロビジョニング モデル 予約で制限 予約で制限 Flex Start Spot
作成方法

HPC クラスタと VM を作成するには、次の操作を行う必要があります。

  1. アカウント チームを通じて容量を予約する
  2. 選択した日時に、予約した容量を使用して HPC クラスタを作成できます。デプロイ オプションを選択するをご覧ください。

HPC クラスタと VM を作成するには、次の操作を行う必要があります。

  1. カレンダー モードで将来の予約リクエストを作成する
  2. 選択した日時に、予約した容量を使用して HPC クラスタを作成できます。デプロイ オプションを選択するをご覧ください。

VM を作成するには、次のいずれかのオプションを選択します。

リクエストされた容量が使用可能になると、Compute Engine はその容量をプロビジョニングします。

VM をすぐに作成できます。デプロイ オプションを選択するをご覧ください。

デプロイ オプションを選択する

ハイ パフォーマンス コンピューティング(HPC)ワークロードは、コンピューティング リソースを集約することで、単一のワークステーション、サーバー、コンピュータよりも高いパフォーマンスを発揮します。HPC は、学術研究、科学、設計、シミュレーション、ビジネス インテリジェンスの問題を解決するために使用されます。

クラスタ管理機能が強化された HPC クラスタの場合は、H4D マシンシリーズを選択します。別のマシンシリーズを使用する場合は、このページに記載されているデプロイ方法を使用する代わりに、HPC 対応 VM インスタンスを作成するのドキュメントの説明に従ってください。

利用可能なデプロイ オプションには、HPC クラスタの管理を強化するためのオーケストレーターのインストールと構成などがあります。

ユースケースに適した VM またはクラスタを作成するには、次のいずれかを選択します。

オプション ユースケース
Cluster Toolkit

Slurm クラスタと Google Kubernetes Engine(GKE)クラスタの両方をデプロイするプロセスを簡素化するオープンソース ソフトウェアを使用したい。Cluster Toolkit は、高度なカスタマイズと拡張ができるように設計されています。詳細については、以下をご覧ください。

GKE ワークロードのニーズに基づいて Google Kubernetes Engine クラスタを構成する際に、最大限の柔軟性を確保したい。詳細については、H4D で HPC ワークロードを実行するをご覧ください。
Compute Engine を使用する

独自のオーケストレーターを設定できるように、インフラストラクチャ レイヤを完全に制御したい。詳細については、以下をご覧ください。

オペレーティング システム イメージを選択する

選択するオペレーティング システム(OS)イメージは、クラスタのデプロイに使用するサービスによって異なります。

  • GKE のクラスタの場合: Container-Optimized OS などの GKE ノードイメージを使用します。Cluster Toolkit を使用して GKE クラスタをデプロイする場合、デフォルトで Container-Optimized OS イメージが使用されます。ノードイメージの詳細については、GKE ドキュメントのノードイメージをご覧ください。

  • Compute Engine のクラスタの場合: 次のいずれかのイメージを使用できます。

  • Slurm クラスタの場合: Cluster Toolkit は、密結合の HPC ワークロード用に最適化された Rocky Linux 8 ベースの HPC VM イメージを使用して Slurm クラスタをデプロイします。

HPC クラスタを作成する

クラスタ作成プロセスを確認し、ワークロードの予備的な決定を行ったら、いずれかのデプロイ オプションを使用してクラスタを作成します。

HPC クラスタのクラスタ管理機能の強化

デプロイ オプションを選択するで説明したデプロイ方法を使用して、リソースが密に割り当てられた H4D インスタンスを作成すると、強化された HPC クラスタ管理機能をインスタンスで使用できます。

これらの機能の詳細については、H4D インスタンスによる HPC クラスタ管理の強化をご覧ください。

次のステップ