Membuat cluster Slurm yang dikelola sendiri untuk workload AI

Dokumen ini menjelaskan cara mengonfigurasi dan men-deploy cluster Slurm yang dikelola sendiri yang menggunakan jenis mesin A4X Max, A4X, A4, A3 Ultra, A3 Mega, atau A3 High. Untuk mempelajari lebih lanjut jenis mesin yang dioptimalkan akselerator ini, lihat Tentang akselerator GPU.

Langkah-langkah dalam dokumen ini menunjukkan cara membuat cluster Slurm menggunakan Cluster Toolkit. Cluster Toolkit adalah alat open source dari Google yang menyederhanakan konfigurasi dan deployment cluster menggunakan blueprint. Anda memiliki kontrol penuh atas cluster, tetapi Anda juga bertanggung jawab untuk mengelolanya. Jika Anda ingin menghindari beban pengelolaan cluster dan berfokus pada menjalankan workload, buat cluster yang terkelola sepenuhnya menggunakan Cluster Director.

Batasan

Bergantung pada jenis mesin yang digunakan oleh instance Compute Engine di cluster Anda, batasan berikut berlaku:

A4X Max

A4X

A4

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon penggunaan abonemen fleksibel untuk instance yang menggunakan jenis mesin A4.
  • Anda hanya dapat menggunakan jenis mesin A4 di region dan zona tertentu.
  • Anda tidak dapat menggunakan Persistent Disk (regional atau zonal). Anda hanya dapat menggunakan Google Cloud Hyperdisk.
  • Jenis mesin A4 hanya tersedia di platform CPU Emerald Rapids.
  • Anda tidak dapat mengubah jenis mesin instance menjadi atau dari jenis mesin A4. Anda harus membuat instance baru dengan jenis mesin ini.
  • Jenis mesin A4 tidak mendukung tenancy tunggal.
  • Anda tidak dapat menjalankan sistem operasi Windows pada jenis mesin A4.
  • Untuk instance A4, saat Anda menggunakan ethtool -S untuk memantau jaringan GPU, penghitung port fisik yang diakhiri dengan _phy tidak akan diupdate. Ini adalah perilaku yang diharapkan untuk instance yang menggunakan arsitektur Fungsi Virtual (VF) MRDMA. Untuk mengetahui informasi selengkapnya, lihat Fungsi MRDMA dan alat pemantauan jaringan.
  • Anda tidak dapat memasang disk Hyperdisk ML yang dibuat sebelum 4 Februari 2026 ke jenis mesin A4.

A3 Ultra

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon penggunaan abonemen fleksibel untuk instance yang menggunakan jenis mesin A3 Ultra.
  • Anda hanya dapat menggunakan jenis mesin A3 Ultra di region dan zona tertentu.
  • Anda tidak dapat menggunakan Persistent Disk (regional atau zonal). Anda hanya dapat menggunakan Google Cloud Hyperdisk.
  • Jenis mesin A3 Ultra hanya tersedia di platform CPU Emerald Rapids.
  • Perubahan jenis mesin tidak didukung untuk jenis mesin A3 Ultra. Untuk beralih ke atau dari jenis mesin ini, Anda harus membuat instance baru.
  • Anda tidak dapat menjalankan sistem operasi Windows pada jenis mesin A3 Ultra.
  • Jenis mesin A3 Ultra tidak mendukung tenancy tunggal.
  • Untuk instance A3 Ultra, saat Anda menggunakan ethtool -S untuk memantau jaringan GPU, penghitung port fisik yang diakhiri dengan _phy tidak akan diupdate. Ini adalah perilaku yang diharapkan untuk instance yang menggunakan arsitektur Fungsi Virtual (VF) MRDMA. Untuk mengetahui informasi selengkapnya, lihat Fungsi MRDMA dan alat pemantauan jaringan.

A3 Mega

A3 High

Sebelum memulai

Sebelum membuat cluster Slurm, jika Anda belum melakukannya, selesaikan langkah-langkah berikut:

  1. Pilih opsi pemakaian: pilihan opsi pemakaian Anda menentukan cara Anda mendapatkan dan menggunakan resource GPU. Untuk mempelajari lebih lanjut, lihat Memilih opsi konsumsi.
  2. Mendapatkan kapasitas: proses untuk mendapatkan kapasitas berbeda untuk setiap opsi konsumsi. Untuk mempelajari proses mendapatkan kapasitas untuk opsi pemakaian yang Anda pilih, lihat Ringkasan kapasitas.
  3. Pastikan Anda memiliki kuota Filestore atau Google Cloud Managed Lustre yang cukup: Anda harus memiliki kuota Filestore atau Managed Lustre yang cukup di region dan zona target sebelum melakukan deployment. Kuota minimum yang diperlukan bergantung pada layanan penyimpanan dan jenis mesin di cluster Anda:
    • Managed Lustre:
      • A4X Max: memerlukan kuota kapasitas penyimpanan minimum 18.000 GiB dan kuota throughput 9 GBps.
      • A4X, A4, A3 Ultra, A3 Mega, dan A3 High: memerlukan kuota kapasitas penyimpanan minimal 36.000 GiB dan kuota throughput 18 GBps.
    • Filestore:
      • A4X Max, A4X, A4, A3 Ultra, dan A3 Mega: memerlukan kuota kapasitas HIGH_SCALE_SSD (zona) minimum 10 TiB (10.240 GiB).
      • A3 High: memerlukan kuota kapasitas BASIC_SSD (standar) minimum 2,5 TiB (2.560 GiB).

    Untuk memeriksa kuota atau meminta penambahan kuota, lihat referensi berikut:

  4. Instal Cluster Toolkit: untuk menyediakan cluster Slurm, Anda harus menggunakan Cluster Toolkit versi v1.62.0 atau yang lebih baru.

    Untuk menginstal Cluster Toolkit, lihat Menyiapkan Cluster Toolkit.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk men-deploy cluster Slurm, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Menyiapkan bucket penyimpanan

Blueprint cluster menggunakan modul Terraform untuk menyediakan infrastruktur Cloud. Praktik terbaik saat menggunakan Terraform adalah menyimpan status dari jarak jauh dalam file yang mendukung versi. Di Google Cloud, Anda dapat membuat bucket Cloud Storage yang mengaktifkan pembuatan versi.

Untuk membuat bucket ini dan mengaktifkan pembuatan versi dari CLI, jalankan perintah berikut:

gcloud storage buckets create gs://BUCKET_NAME \
    --project=PROJECT_ID \
    --default-storage-class=STANDARD --location=BUCKET_REGION \
    --uniform-bucket-level-access
gcloud storage buckets update gs://BUCKET_NAME --versioning

Ganti kode berikut:

Menginstal Cluster Toolkit

Untuk menggunakan Slurm dengan Google Cloud, Anda harus menginstal Cluster Toolkit. Untuk Linux dan macOS, sebaiknya Anda menginstal paket bawaan.

Setelah Anda menginstal Cluster Toolkit, buka direktori yang berisi biner gcluster:

  • Jika Anda menginstal paket bawaan, ubah ke direktori gcluster-bundle:

    cd gcluster-bundle
  • Jika Anda membangun biner dari sumber, ubah ke cluster-toolkit:

    cd cluster-toolkit

    Deployment cluster ini memerlukan Cluster Toolkit v1.62.0 atau yang lebih baru. Periksa versi yang diinstal:

    ./gcluster --version

Membuat file deployment

Buat file deployment yang dapat Anda gunakan untuk menentukan bucket Cloud Storage, menetapkan nama untuk jaringan dan subnetwork, serta menetapkan variabel deployment seperti project ID, region, dan zona.

Untuk membuat file deployment, ikuti langkah-langkah untuk jenis mesin dan opsi konsumsi yang diperlukan.

A4X Max

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a4xmax-bm-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a4x_max_cluster_size: NUMBER_OF_INSTANCES
  a4x_max_reservation_name: RESERVATION_NAME

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region yang memiliki mesin yang dipesan.
  • ZONE: zona tempat Anda ingin menyediakan cluster. Jika Anda menggunakan opsi konsumsi berbasis pemesanan, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_INSTANCES: jumlah instance bare metal A4X Max di cluster Anda. Anda dapat menentukan berapa pun jumlah instance. Namun, instance A4X Max saling terhubung secara fisik oleh sistem NVLink multi-node dalam grup yang terdiri dari 18 instance (72 GPU) untuk membentuk domain NVLink.

    Untuk performa jaringan yang optimal, sebaiknya tentukan nilai yang merupakan kelipatan dari 18 instance (misalnya, 18, 36, atau 54). Saat Anda membuat cluster A4X Max, blueprint A4X Max akan otomatis membuat dan menerapkan kebijakan penempatan rapat dengan topologi GPU 1x72 untuk setiap grup yang berisi 18 instance.

  • RESERVATION_NAME: nama pemesanan Anda.

A4X

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a4xhigh-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a4x_cluster_size: NUMBER_OF_INSTANCES
  a4x_reservation_name: RESERVATION_NAME

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region yang memiliki mesin yang dipesan.
  • ZONE: zona tempat Anda ingin menyediakan cluster. Jika Anda menggunakan opsi konsumsi berbasis pemesanan, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_INSTANCES: jumlah instance A4X di cluster Anda. Anda dapat menentukan berapa pun jumlah instance. Namun, instance A4X terhubung secara fisik oleh sistem NVLink multi-node dalam grup yang terdiri dari 18 instance (72 GPU) untuk membentuk domain NVLink.

    Untuk performa jaringan yang optimal, sebaiknya tentukan nilai yang merupakan kelipatan dari 18 instance (misalnya, 18, 36, atau 54). Saat Anda membuat cluster A4X, blueprint A4X akan otomatis membuat dan menerapkan kebijakan penempatan rapat dengan topologi GPU 1x72 untuk setiap grup yang berisi 18 instance. Untuk mengetahui informasi selengkapnya tentang topologi A4X, lihat Dasar-dasar A4X.

  • RESERVATION_NAME: nama pemesanan Anda.

A4

Parameter yang perlu Anda tambahkan ke file deployment bergantung pada opsi konsumsi yang Anda gunakan untuk deployment. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Terikat reservasi

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a4high-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a4h_cluster_size: NUMBER_OF_INSTANCES
  a4h_reservation_name: RESERVATION_NAME

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region yang memiliki mesin yang dipesan.
  • ZONE: zona tempat Anda ingin menyediakan cluster. Jika Anda menggunakan opsi konsumsi berbasis pemesanan, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.
  • RESERVATION_NAME: nama pemesanan Anda.

Flex-start

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a4high-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a4h_cluster_size: NUMBER_OF_INSTANCES
  a4h_dws_flex_enabled: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki jumlah node yang ditetapkan setiap saat. Jika Anda ingin mengaktifkan penskalaan otomatis cluster, gunakan file examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml dan edit nilai node_count_static dan node_count_dynamic_max agar sesuai dengan nilai berikut:

      node_count_static: 0
      node_count_dynamic_max: $(vars.a4h_cluster_size)

Spot

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a4high-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a4h_cluster_size: NUMBER_OF_INSTANCES
  a4h_enable_spot_vm: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

A3 Ultra

Parameter yang perlu Anda tambahkan ke file deployment bergantung pada opsi konsumsi yang Anda gunakan untuk deployment. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Terikat reservasi

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a3ultra-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a3u_cluster_size: NUMBER_OF_INSTANCES
  a3u_reservation_name: RESERVATION_NAME

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region yang memiliki mesin yang dipesan.
  • ZONE: zona tempat Anda ingin menyediakan cluster. Jika Anda menggunakan opsi konsumsi berbasis pemesanan, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.
  • RESERVATION_NAME: nama pemesanan Anda.

Flex-start

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a3ultra-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a3u_cluster_size: NUMBER_OF_INSTANCES
  a3u_dws_flex_enabled: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki jumlah node yang ditetapkan setiap saat. Jika Anda ingin mengaktifkan penskalaan otomatis cluster, gunakan file examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml dan edit nilai node_count_static dan node_count_dynamic_max agar sesuai dengan nilai berikut:

      node_count_static: 0
      node_count_dynamic_max: $(vars.a3u_cluster_size)

Spot

Untuk membuat file deployment, gunakan editor teks untuk membuat file YAML bernama a3ultra-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  a3u_cluster_size: NUMBER_OF_INSTANCES
  a3u_enable_spot_vm: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

A3 Mega

Parameter yang perlu Anda tambahkan ke file deployment bergantung pada opsi konsumsi yang Anda gunakan untuk deployment. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Terikat reservasi

Untuk membuat file deployment, buat file YAML bernama a3mega-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  network_name_system: SYSTEM_NETWORK_NAME
  subnetwork_name_system: SYSTEM_SUBNET_NAME
  slurm_cluster_name: CLUSTER_NAME
  a3mega_cluster_size: NUMBER_OF_INSTANCES
  a3mega_reservation_name: RESERVATION_NAME
  a3mega_partition_name: PARTITION_NAME

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • SYSTEM_NETWORK_NAME: nama jaringan VPC yang akan digunakan untuk jaringan sistem.
  • SYSTEM_SUBNET_NAME: nama subnetwork yang akan digunakan untuk jaringan sistem.
  • CLUSTER_NAME: nama untuk cluster Slurm Anda.
  • REGION: region yang memiliki mesin yang dipesan.
  • ZONE: zona tempat Anda ingin menyediakan cluster. Jika Anda menggunakan opsi konsumsi berbasis pemesanan, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.
  • RESERVATION_NAME: nama pemesanan Anda.
  • PARTITION_NAME: nama untuk partisi Slurm.

Flex-start

Untuk membuat file deployment, buat file YAML bernama a3mega-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  network_name_system: SYSTEM_NETWORK_NAME
  subnetwork_name_system: SYSTEM_SUBNET_NAME
  slurm_cluster_name: CLUSTER_NAME
  a3mega_cluster_size: NUMBER_OF_INSTANCES
  a3mega_dws_flex_enabled: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • SYSTEM_NETWORK_NAME: nama jaringan VPC yang akan digunakan untuk jaringan sistem.
  • SYSTEM_SUBNET_NAME: nama subnetwork yang akan digunakan untuk jaringan sistem.
  • CLUSTER_NAME: nama untuk cluster Slurm Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki jumlah node yang ditetapkan setiap saat. Jika Anda ingin mengaktifkan penskalaan otomatis cluster, gunakan file examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml dan edit nilai node_count_static dan node_count_dynamic_max agar sesuai dengan nilai berikut:

      node_count_static: 0
      node_count_dynamic_max: $(vars.a3mega_cluster_size)

Spot

Untuk membuat file deployment, buat file YAML bernama a3mega-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  network_name_system: SYSTEM_NETWORK_NAME
  subnetwork_name_system: SYSTEM_SUBNET_NAME
  slurm_cluster_name: CLUSTER_NAME
  a3mega_cluster_size: NUMBER_OF_INSTANCES
  a3mega_enable_spot_vm: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • SYSTEM_NETWORK_NAME: nama jaringan VPC yang akan digunakan untuk jaringan sistem.
  • SYSTEM_SUBNET_NAME: nama subnetwork yang akan digunakan untuk jaringan sistem.
  • CLUSTER_NAME: nama untuk cluster Slurm Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

A3 High

Parameter yang perlu Anda tambahkan ke file deployment bergantung pada opsi konsumsi yang Anda gunakan untuk deployment. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Terikat reservasi

Untuk membuat file deployment, buat file YAML bernama a3high-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  tcpx_kernel_login: TCPX_KERNEL_LOGIN
  tcpx_kernel_password: TCPX_KERNEL_PASSWORD
  keyserver_ubuntu_key: KEYSERVER_UBUNTU_KEY

  network_name_system: SYSTEM_NETWORK_NAME
  subnetwork_name_system: SYSTEM_SUBNET_NAME
  slurm_cluster_name: CLUSTER_NAME
  a3_static_cluster_size: NUMBER_OF_INSTANCES
  a3_reservation_name: RESERVATION_NAME
  a3_partition_name: PARTITION_NAME

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • TCPX_KERNEL_LOGIN, TCPX_KERNEL_PASSWORD, dan KEYSERVER_UBUNTU_KEY: kredensial teknis untuk image yang dioptimalkan untuk A3 High. Nilai ini diberikan kepada Anda oleh tim akun Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan kredensial untuk GPUDirect-TCPX.
  • SYSTEM_NETWORK_NAME: nama jaringan VPC yang akan digunakan untuk jaringan sistem.
  • SYSTEM_SUBNET_NAME: nama subnetwork yang akan digunakan untuk jaringan sistem.
  • CLUSTER_NAME: nama untuk cluster Slurm Anda.
  • REGION: region yang memiliki mesin yang dipesan.
  • ZONE: zona tempat Anda ingin menyediakan cluster. Jika Anda menggunakan opsi konsumsi berbasis pemesanan, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.
  • RESERVATION_NAME: nama pemesanan Anda.
  • PARTITION_NAME: nama untuk partisi Slurm.

Flex-start

Untuk membuat file deployment, buat file YAML bernama a3high-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  tcpx_kernel_login: TCPX_KERNEL_LOGIN
  tcpx_kernel_password: TCPX_KERNEL_PASSWORD
  keyserver_ubuntu_key: KEYSERVER_UBUNTU_KEY

  network_name_system: SYSTEM_NETWORK_NAME
  subnetwork_name_system: SYSTEM_SUBNET_NAME
  slurm_cluster_name: CLUSTER_NAME
  a3_static_cluster_size: NUMBER_OF_INSTANCES
  a3_dws_flex_enabled: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • TCPX_KERNEL_LOGIN, TCPX_KERNEL_PASSWORD, dan KEYSERVER_UBUNTU_KEY: kredensial teknis untuk image yang dioptimalkan untuk A3 High. Nilai ini diberikan kepada Anda oleh tim akun Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan kredensial untuk GPUDirect-TCPX.
  • SYSTEM_NETWORK_NAME: nama jaringan VPC yang akan digunakan untuk jaringan sistem.
  • SYSTEM_SUBNET_NAME: nama subnetwork yang akan digunakan untuk jaringan sistem.
  • CLUSTER_NAME: nama untuk cluster Slurm Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki jumlah node yang ditetapkan setiap saat. Jika Anda ingin mengaktifkan penskalaan otomatis cluster, gunakan file examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml dan edit nilai node_count_static dan node_count_dynamic_max agar sesuai dengan nilai berikut:

      node_count_static: 0
      node_count_dynamic_max: $(vars.a3_static_cluster_size)

Spot

Untuk membuat file deployment, buat file YAML bernama a3high-slurm-deployment.yaml dan tambahkan konten berikut.


terraform_backend_defaults:
  type: gcs
  configuration:
    bucket: BUCKET_NAME
vars:
  deployment_name: DEPLOYMENT_NAME
  project_id: PROJECT_ID
  region: REGION
  zone: ZONE
  tcpx_kernel_login: TCPX_KERNEL_LOGIN
  tcpx_kernel_password: TCPX_KERNEL_PASSWORD
  keyserver_ubuntu_key: KEYSERVER_UBUNTU_KEY

  network_name_system: SYSTEM_NETWORK_NAME
  subnetwork_name_system: SYSTEM_SUBNET_NAME
  slurm_cluster_name: CLUSTER_NAME
  a3_static_cluster_size: NUMBER_OF_INSTANCES
  a3_enable_spot_vm: true

Ganti kode berikut:

  • BUCKET_NAME: nama bucket Cloud Storage Anda, yang Anda buat di bagian sebelumnya.
  • DEPLOYMENT_NAME: nama untuk deployment Anda. Jika membuat beberapa cluster, pastikan Anda memilih nama yang unik untuk setiap cluster.
  • PROJECT_ID: project ID Anda.
  • TCPX_KERNEL_LOGIN, TCPX_KERNEL_PASSWORD, dan KEYSERVER_UBUNTU_KEY: kredensial teknis untuk image yang dioptimalkan untuk A3 High. Nilai ini diberikan kepada Anda oleh tim akun Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan kredensial untuk GPUDirect-TCPX.
  • SYSTEM_NETWORK_NAME: nama jaringan VPC yang akan digunakan untuk jaringan sistem.
  • SYSTEM_SUBNET_NAME: nama subnetwork yang akan digunakan untuk jaringan sistem.
  • CLUSTER_NAME: nama untuk cluster Slurm Anda.
  • REGION: region tempat Anda ingin menyediakan cluster.
  • ZONE: zona tempat Anda ingin menyediakan cluster.
  • NUMBER_OF_INSTANCES: jumlah instance Compute Engine yang Anda inginkan untuk cluster.

Menyediakan cluster Slurm

Cluster Toolkit menyediakan cluster berdasarkan file deployment yang Anda buat di langkah sebelumnya dan blueprint cluster default. Untuk mempelajari image kustom atau men-deploy Slurm dengan image OS kustom, lihat Image kustom Slurm.

Untuk menyediakan cluster, pilih salah satu opsi berikut untuk menjalankan perintah gcluster deploy untuk jenis mesin Anda dari direktori Cluster Toolkit. Langkah ini memerlukan waktu sekitar 20-30 menit.

A4X Max

Blueprint A4X Max mengintegrasikan Managed Lustre untuk penyimpanan direktori beranda berperforma tinggi (/home). Blueprint ini secara otomatis mengonfigurasi akses layanan pribadi (PSA) untuk melakukan peering jaringan VPC Anda dengan Managed Lustre. Blueprint ini juga mengonfigurasi jaringan Lustre (LNet) pada antarmuka jaringan utama eth0. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Managed Lustre.

./gcluster deploy -d a4xmax-bm-slurm-deployment.yaml examples/machine-learning/a4x-maxgpu-4g-metal/a4xmax-bm-slurm-blueprint.yaml --auto-approve

A4X

Blueprint A4X mengintegrasikan Managed Lustre untuk penyimpanan direktori utama berperforma tinggi (/home). Blueprint ini secara otomatis mengonfigurasi akses layanan pribadi (PSA) untuk melakukan peering jaringan VPC Anda dengan Managed Lustre.

Secara default, blueprint cluster men-deploy instance komputasi yang menggunakan Advanced Compute Images bawaan. Image ini telah dikonfigurasi sebelumnya dengan driver dan software khusus untuk menjalankan workload Anda, termasuk driver NVIDIA, CUDA, fabric jaringan, dan agen Slurm, sehingga tidak perlu membuat image secara manual selama deployment. Untuk mempelajari lebih lanjut paket software bawaan dan alat konfigurasi yang Anda deploy, lihat Ringkasan Advanced Compute Images.

./gcluster deploy -d a4xhigh-slurm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml --auto-approve

A4

Blueprint A4 mengintegrasikan Managed Lustre untuk penyimpanan direktori utama berperforma tinggi (/home). Blueprint ini secara otomatis mengonfigurasi akses layanan pribadi (PSA) untuk melakukan peering jaringan VPC Anda dengan Managed Lustre.

Secara default, blueprint cluster men-deploy instance komputasi yang menggunakan Advanced Compute Images bawaan. Image ini telah dikonfigurasi sebelumnya dengan driver dan software khusus untuk menjalankan workload Anda, termasuk driver NVIDIA, CUDA, fabric jaringan, dan agen Slurm, sehingga tidak perlu membuat image secara manual selama deployment. Untuk mempelajari lebih lanjut paket software bawaan dan alat konfigurasi yang Anda deploy, lihat Ringkasan Advanced Compute Images.

./gcluster deploy -d a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --auto-approve

A3 Ultra

Blueprint A3 Ultra mengintegrasikan Managed Lustre untuk penyimpanan direktori utama berperforma tinggi (/home). Blueprint ini secara otomatis mengonfigurasi akses layanan pribadi (PSA) untuk melakukan peering jaringan VPC Anda dengan Managed Lustre.

Secara default, blueprint cluster men-deploy instance komputasi yang menggunakan Advanced Compute Images bawaan. Image ini telah dikonfigurasi sebelumnya dengan driver dan software khusus untuk menjalankan workload Anda, termasuk driver NVIDIA, CUDA, fabric jaringan, dan agen Slurm, sehingga tidak perlu membuat image secara manual selama deployment. Untuk mempelajari lebih lanjut paket software bawaan dan alat konfigurasi yang Anda deploy, lihat Ringkasan Advanced Compute Images.

./gcluster deploy -d a3ultra-slurm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml --auto-approve

A3 Mega

Blueprint A3 Mega mengintegrasikan Managed Lustre untuk penyimpanan direktori utama berperforma tinggi (/home). Blueprint ini secara otomatis mengonfigurasi akses layanan pribadi (PSA) untuk melakukan peering jaringan VPC Anda dengan Managed Lustre.

./gcluster deploy -d a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml --auto-approve

A3 High

Blueprint A3 High mengintegrasikan Managed Lustre untuk penyimpanan direktori utama berperforma tinggi (/home). Blueprint ini secara otomatis mengonfigurasi akses layanan pribadi (PSA) untuk melakukan peering jaringan VPC Anda dengan Managed Lustre.

./gcluster deploy -d a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --auto-approve

Menghubungkan ke cluster Slurm

Untuk mengakses cluster, Anda harus login ke node login Slurm. Jika Anda mengalami error saat mencoba terhubung ke node, lihat Memecahkan masalah error SSH.

Untuk terhubung ke node login di cluster Anda, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka halaman Instance VM

  2. Temukan node login, yang bernama DEPLOYMENT_NAME-login-001.

  3. Di baris node, di kolom Connect, klik SSH.

gcloud

Untuk terhubung ke node login di cluster Anda, selesaikan langkah-langkah berikut:

  1. Untuk mengidentifikasi node login, gunakan perintah gcloud compute instances list berikut:

    gcloud compute instances list \
        --filter="name ~ login" \
        --format "value(name)" \
        --zones=ZONE
    

    Jika output mencantumkan beberapa cluster Slurm, Anda dapat mengidentifikasi node login berdasarkan DEPLOYMENT_NAME yang Anda tentukan pada langkah sebelumnya.

  2. Untuk terhubung ke node login, gunakan perintah gcloud compute ssh dengan flag --tunnel-through-iap:

    gcloud compute ssh LOGIN_NODE \
        --tunnel-through-iap \
        --zone=ZONE
    

    Ganti kode berikut:

    • ZONE: zona tempat node berada.

    • LOGIN_NODE: nama node login.

Menguji performa jaringan di cluster Slurm

Sebaiknya Anda memvalidasi fungsi cluster yang disediakan. Untuk melakukannya, gunakan pengujian NCCL, yang merupakan pengujian NVIDIA Collective Communications Library (NCCL) yang dioptimalkan untuk lingkungan Google.

Men-deploy ulang cluster Slurm

Jika perlu meningkatkan jumlah node komputasi atau menambahkan partisi baru ke cluster, Anda mungkin perlu memperbarui konfigurasi untuk cluster Slurm dengan men-deploy ulang cluster tersebut. Jika Anda mengubah blueprint untuk membangun image kustom, Anda dapat mempercepat proses deployment ulang menggunakan image yang ada dari deployment sebelumnya. Agar tidak perlu membuat image baru saat Anda men-deploy ulang cluster yang menggunakan image kustom, tentukan flag --only.

Untuk men-deploy ulang infrastruktur cluster (cluster-env,cluster) tanpa menjalankan modul pembuatan image, lakukan hal berikut:

  1. Menghubungkan ke cluster

  2. Berdasarkan jenis mesin yang digunakan cluster Anda, pilih salah satu opsi berikut untuk men-deploy ulang cluster dan infrastrukturnya:

    A4X Max

    ./gcluster deploy -d a4xmax-bm-slurm-deployment.yaml examples/machine-learning/a4x-maxgpu-4g-metal/a4xmax-bm-slurm-blueprint.yaml --only cluster-env,cluster --auto-approve -w

    A4X

    ./gcluster deploy -d a4xhigh-slurm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml --only cluster-env,cluster --auto-approve -w

    A4

    ./gcluster deploy -d a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve

    A3 Ultra

    ./gcluster deploy -d a3ultra-slurm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve

    A3 Mega

    ./gcluster deploy -d a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve

    A3 High

    ./gcluster deploy -d a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve

Menghancurkan cluster Slurm

Saat Anda menghancurkan cluster, Cluster Toolkit akan otomatis menghapus instance Managed Lustre dan semua data yang disimpan di dalamnya.

Untuk menghancurkan cluster Slurm, selesaikan langkah-langkah berikut:

  1. Jika belum, putuskan koneksi dari cluster.

  2. Sebelum menjalankan perintah destroy, buka root direktori Cluster Toolkit.

  3. Untuk menghancurkan cluster, jalankan perintah gcluster destroy:

    ./gcluster destroy DEPLOYMENT_FOLDER --auto-approve

    Ganti DEPLOYMENT_FOLDER dengan nama folder deployment.

Saat Cluster Toolkit menghancurkan cluster Anda, output-nya akan mirip dengan berikut ini:

Destroy complete! Resources: DEPLOYMENT_NAME destroyed.

Langkah berikutnya