複数のノードにスケーリングする密結合アプリケーションのインフラストラクチャを作成するには、仮想マシン(VM)インスタンスのクラスタを作成します。このガイドでは、高密度リソース割り当てを使用してハイ パフォーマンス コンピューティング(HPC)ワークロード用の仮想マシン(VM)インスタンスのクラスタを構成するための主な考慮事項と手順の概要について説明します。
Compute Engine には、同じネットワークに接続され、リソースの密な割り当てを必要としない多数の VM インスタンスを作成するさまざまな方法が用意されています。たとえば、次のいずれかの方法を使用できます。これらの方法は、Compute Engine ドキュメントの別の場所で説明されています。
個々のインスタンスを作成し、コンパクト プレースメント ポリシーをインスタンスに関連付けてレイテンシを短縮するコマンドを含むスクリプトを作成することもできます。
H4D(プレビュー)を使用すると、Compute Engine は VM インスタンスのクラスタ全体を 1 台のコンピュータとして扱うことで、大規模な HPC ワークロードの実行をサポートします。VM のトポロジ認識配置を使用すると、単一のネットワーキング スーパーブロック内の多くのインスタンスにアクセスでき、ネットワーク レイテンシを最小限に抑えることができます。これらのインスタンスで Cloud RDMA を構成して、密結合の HPC ワークロードに不可欠なノード間通信のパフォーマンスを最大化することもできます。
これらの HPC VM クラスタは、個々のリソースではなく容量のブロックを予約して、H4D で作成します。クラスタに容量ブロックを使用すると、大規模環境のデプロイと管理に次の追加機能が提供されます。
- VM インスタンスのトポロジを考慮した配置
- 容量を確保して管理するための高度な予約システム
- 大規模で相互依存性の高い VM インスタンスのセット用に設計された拡張マネージド インスタンス グループ(MIG)。
- 高度なメンテナンス スケジューリングと制御。VM インスタンスでメンテナンスがいつ、どのように行われるかをより詳細に制御できます。これは、長時間実行され、中断に敏感なワークロードにとって重要です。これには、顧客がトリガーするメンテナンスや、リソースのブロックに対するグループ化されたメンテナンスなどの機能が含まれます。
クラスタの用語
容量ブロックを扱う場合は、次の用語が使用されます。
H4D VM を使用したクラスタ作成プロセスの概要
予約済みの容量ブロックに HPC クラスタを作成するには、次の手順を完了する必要があります。
使用オプションを選択して容量を取得する
使用オプションは、クラスタのリソースの取得方法を決定します。管理機能が強化されたクラスタを作成するには、高密度デプロイの容量ブロックをリクエストする必要があります。
次の表は、容量ブロックの消費オプションの主な違いをまとめたものです。
使用オプション | 容量ブロックの将来の予約 | Flex Start(プレビュー) |
---|---|---|
ワークロードの特性 | リソースの密な割り当てを必要とする大規模な長時間実行の分散ワークロード | リソースの密な割り当てを必要とする短期間のワークロード |
存続期間 | 指定なし | 最長 7 日 |
プリエンプティブル | いいえ | いいえ |
割り当て | インスタンスを作成する前に、十分な割り当てがあることを確認します。 | プリエンプティブル割り当てが課金されます。 |
料金 |
|
|
リソースの割り当て | Dense | Dense |
プロビジョニング モデル | 予約で制限 | Flex Start(プレビュー) |
作成方法 | HPC クラスタと VM を作成するには、次の操作を行う必要があります。
|
VM を作成するには、次のいずれかのオプションを選択します。 リクエストされた容量が使用可能になると、Compute Engine はその容量をプロビジョニングします。 |
デプロイ オプションを選択する
クラスタのデプロイに必要な制御レベルに応じて、インフラストラクチャをより細かく制御できる高度に管理されたデプロイと、管理の少ないデプロイのどちらかを選択します。利用可能なデプロイ オプションには、HPC クラスタの管理を強化するためのオーケストレーターのインストールと構成などがあります。
- 高度な管理
Google にインフラストラクチャのデプロイと設定を依頼する場合は、Cluster Toolkit または Google Kubernetes Engine(GKE)を使用します。
Cluster Toolkit: Google が提供するオープンソース ツール。Slurm または GKE を使用するクラスタの構成とデプロイを簡素化します。事前定義されたブループリントを使用して、ブループリントに基づくデプロイ フォルダをビルドします。ブループリントまたはデプロイ フォルダを変更して、デプロイとソフトウェア スタックをカスタマイズできます。次に、Terraform または Packer を使用して、Cluster Toolkit によって生成されたコマンドを実行し、クラスタをデプロイします。
このデプロイ方法のチュートリアルについては、RDMA 対応の HPC Slurm クラスタを作成するをご覧ください。
GKE: マネージド Kubernetes サービスとオープンソース コンテナ オーケストレーション プラットフォーム。GKE には、自動スケーリングや高可用性などの機能があります。これらの機能により、GKE は HPC ワークロードのデプロイと管理に適しています。たとえば、コンテナ化されたアプリケーションのオーケストレーション、専用ハードウェアのサポート、 Google Cloudエコシステムとの互換性などがあります。GKE クラスタは、GKE を直接使用するか、Cluster Toolkit を使用してデプロイできます。Google Kubernetes Engine(GKE)Standard エディションまたは Autopilot を選択できます。
このデプロイ方法の詳細については、H4D で HPC ワークロードを実行するをご覧ください。
- 管理が少なく、制御が多い
クラスタとクラスタにインストールされているソフトウェアをより詳細に制御するには、次のいずれかの方法で Compute Engine クラスタを作成します。
Slurm または GKE 以外のオーケストレーターを使用する場合は、これらの方法を使用できます。VM の作成後、HPC ワークロードに必要な主要なソフトウェアを VM に手動でインストールします。起動スクリプトを使用して、VM の起動時にソフトウェアのインストールを自動的に確認し、必要に応じてソフトウェアをインストールすることもできます。
オペレーティング システム イメージを選択する
選択するオペレーティング システム(OS)イメージは、クラスタのデプロイに使用するサービスによって異なります。
GKE のクラスタの場合: Container-Optimized OS などの GKE ノードイメージを使用します。Cluster Toolkit を使用して GKE クラスタをデプロイする場合、デフォルトで Container-Optimized OS イメージが使用されます。ノードイメージの詳細については、GKE ドキュメントのノードイメージをご覧ください。
Compute Engine のクラスタの場合: 次のいずれかのイメージを使用できます。
- HPC VM イメージ: 密結合の HPC ワークロード用に最適化された Rocky Linux 8 イメージ。
- Google Cloudが提供する OS イメージ: H4D をサポートする OS イメージ。これらは HPC ワークロード用に構成する必要があります。
- カスタム イメージ: 独自のカスタム イメージを作成して使用できます。HPC 固有の最適化を含めるには、HPC VM イメージを使用してカスタム イメージを作成することをおすすめします。
Slurm クラスタの場合: Cluster Toolkit は、密結合の HPC ワークロード用に最適化された Rocky Linux 8 ベースの HPC VM イメージを使用して Slurm クラスタをデプロイします。
HPC クラスタを作成する
クラスタ作成プロセスを確認し、ワークロードの予備的な決定を行ったら、次のいずれかのオプションを使用してクラスタを作成します。
- RDMA 対応の HPC Slurm クラスタを作成する
- GKE クラスタを作成します。 H4D でハイ パフォーマンス コンピューティング(HPC)ワークロードを実行する
- Compute Engine でクラスタを作成します。
次のステップ
- Cluster Toolkit の詳細を確認する。
- RDMA を使用するインスタンスの作成の詳細を確認する。