2 つの A4 VM を使用してフルマネージド Slurm クラスタを作成する
このクイックスタートでは、Cluster Director を使用して Slurm クラスタを作成し、接続する方法について説明します。作成するクラスタは、大規模なモデル トレーニングと推論ワークロードを Slurm クラスタが効率的に処理できるように設計された 2 つの A4 仮想マシン(VM)インスタンスを使用します。
Cluster Director は、クラスタのデプロイを簡素化して自動化するマネージド サービスです。運用オーバーヘッドを削減し、ワークロードの実行に集中できます。クラスタのデプロイと管理をより詳細に制御する場合は、Cluster Toolkit を使用して Slurm クラスタを作成します。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Hypercompute Cluster API、Compute Engine API、Filestore API、Google Cloud Managed Lustre API、Cloud Logging API、Cloud Monitoring API を有効にします。
API を有効にする- プロジェクトと Compute Engine のデフォルトのサービス アカウントに次の Identity and Access Management(IAM)ロールがあることを確認します。
-
このクイックスタートを完了するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
クラスタを作成して管理する: Cluster Director 編集者 (
roles/hypercomputecluster.editor) -
クラスタ内の VM を作成して管理する: Compute インスタンス管理者(v1) (
roles/compute.instanceAdmin.v1) -
クラスタ内のログインノードに接続するには:
- Compute OS Login (
roles/compute.osLogin) - IAP で保護されたトンネル ユーザー (
roles/iap.tunnelResourceAccessor)
- Compute OS Login (
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
-
クラスタを作成して管理する: Cluster Director 編集者 (
-
このクイックスタートを完了するために必要な権限を取得するには、Compute Engine のデフォルト サービス アカウントに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
クラスタを作成する: サービス アカウント ユーザー (
roles/iam.serviceAccountUser) -
クラスタ内のリソースを管理するには:
- ログ書き込み (
roles/logging.logWriter) - モニタリング指標の書き込み (
roles/monitoring.metricWriter) - ストレージ オブジェクト閲覧者 (
roles/storage.objectViewer)
- ログ書き込み (
-
クラスタを作成する: サービス アカウント ユーザー (
-
- プロジェクトが存在する組織に信頼できるイメージのポリシー(
constraints/compute.trustedImageProjects)がある場合は、許可されたプロジェクトのリストにclusterdirector-public-imagesプロジェクトが含まれていることを確認します。組織の信頼できるイメージのポリシーを表示するには、イメージ アクセスの制限を設定するをご覧ください。
費用
このクイックスタートでは、次の課金対象の Google Cloud リソースを使用します。
Compute Engine:
A4 マシンタイプの VM が 2 つ
100 GB の Slurm ログインノード用の 1 つの Persistent Disk ボリューム
A4 VM 用の 100 GB の Google Cloud Hyperdisk Balanced ボリューム 1 つ
Filestore: 10 TiB(10,240 GiB)の Filestore インスタンス
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
Slurm クラスタを作成する
Slurm クラスタを作成する手順は次のとおりです。
Google Cloud コンソールで、[Cluster Director] ページに移動します。
[クラスタを作成] をクリックします。
表示されるダイアログで、[構成の詳細手順] をクリックします。[クラスタの作成] ページが表示されます。
[クラスタ名] フィールドに「
cluster001」と入力します。[コンピューティング] セクションで、[リソースを構成] をクリックします。表示された [リソース構成を追加] ペインで、次の操作を行います。
[GPU のタイプ] リストで、[NVIDIA B200 180 GB] を選択します。
[インスタンス数] フィールドに「
2」と入力します。[使用オプション] セクションで、リソースの取得に使用する使用オプションを選択します。
[ロケーション] セクションで、A4 VM を作成するリージョンとゾーン、または VM の作成に使用する予約が存在するリージョンとゾーンを指定します。
[完了] をクリックします。
ナビゲーション メニューで、[ストレージ] をクリックします。
[ストレージ] セクションで、 [ストレージ構成を編集] をクリックします。表示された [ストレージ構成を追加] ペインで、次の操作を行います。
[容量] セクションで、[10 ~ 100 TiB、2.5 TiB 単位で指定できます] を選択します。
[完了] をクリックします。
[作成] をクリックします。[クラスタ] ページが表示されます。
クラスタの作成には時間がかかることがあります。完了時間は、リクエストした VM の数と VM のゾーンのリソースの状況によって異なります。リクエストされたリソースが使用できない場合、Cluster Director はリソースが使用可能になるまで作成リクエストを維持します。
クラスタ作成リクエストを表示する
クラスタ作成リクエストを確認する手順は次のとおりです。
[クラスタ] テーブルの [名前] 列で、[cluster001] をクリックします。クラスタの詳細を示すページが表示され、[詳細] タブが選択されています。
[コンピューティング] セクションで、[ステータス] 行を見つけます。AI Hypercomputer が値を「Ready」に設定したら、次のセクションに進むことができます。
SSH 経由でクラスタに接続する
SSH 経由でクラスタに接続する手順は次のとおりです。
[ノード] タブをクリックします。
[ログインノード] テーブルで、cluster001-login-001 ノードを含む行を見つけます。その行の [接続] 列で、[SSH] ボタンをクリックします。[ブラウザでの SSH] ウィンドウが表示されます。
プロンプトが表示されたら、[承認] をクリックします。クラスタへの接続には時間がかかることがあります。ターミナルの準備ができたら、次のセクションに進みます。
サンプルジョブを実行する
[ブラウザでの SSH] ウィンドウで、次の操作を行います。
Slurm が実行されていることを確認するには、次のコマンドを実行します。
sinfoノードのホスト名を返すテストジョブを送信するには、次のコマンドを実行します。
srun hostname30 秒間スリープするバッチジョブを送信するには、次のコマンドを実行します。
sbatch --wrap="sleep 30"キュー内のジョブのステータスを確認するには、次のコマンドを実行します。
squeueジョブの会計データを表示するには、次のコマンドを実行します。
sacct
Slurm クラスタを作成して、それに接続し、サンプルジョブを実行しました。AI Hypercomputer が A4 VM を作成していない場合は、クラスタが VM を作成するまで待つか、クラスタを変更して VM を追加または削除するか、クラスタを削除して不要な課金が発生しないようにします。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
プロジェクトの削除
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- Google Cloud コンソールで [リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
クラスタの削除
このクイックスタートで作成したクラスタとその関連リソースを削除する手順は次のとおりです。
クラスタの詳細が表示されているページで、 [削除] をクリックします。
表示されたダイアログに「
cluster001」と入力し、[削除] をクリックして確定します。