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 untuk akselerator ini, lihat Jenis mesin 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 overhead pengelolaan cluster dan berfokus pada menjalankan workload, buat cluster terkelola sepenuhnya menggunakan Cluster Director.

Batasan

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

A4X Max

A4X

A4

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon penggunaan berkelanjutan 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 ke 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 berakhiran _phy tidak diperbarui. 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 melampirkan disk Hyperdisk ML yang dibuat sebelum 4 Februari 2026 ke jenis mesin A4.

A3 Ultra

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon 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 sole-tenancy.
  • Untuk instance A3 Ultra, saat Anda menggunakan ethtool -S untuk memantau jaringan GPU, penghitung port fisik yang berakhiran _phy tidak diperbarui. Hal 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

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen fleksibel untuk instance yang menggunakan jenis mesin A3 Mega.
  • Anda hanya dapat menggunakan jenis mesin A3 Mega di region dan zona tertentu.
  • Anda tidak dapat menggunakan Persistent Disk regional pada instance yang menggunakan jenis mesin A3 Mega.
  • Jenis mesin A3 Mega hanya tersedia di platform CPU Sapphire Rapids.
  • Perubahan jenis mesin tidak didukung untuk jenis mesin A3 Mega. Untuk beralih ke atau dari jenis mesin ini, Anda harus membuat instance baru.
  • Anda tidak dapat menjalankan sistem operasi Windows pada jenis mesin A3 Mega.

A3 Tinggi

Sebelum memulai

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

  1. Pilih opsi pemakaian: pilihan opsi pemakaian menentukan cara Anda mendapatkan dan menggunakan resource GPU. Untuk mempelajari lebih lanjut, lihat Memilih opsi pemakaian.
  2. Mendapatkan kapasitas: proses untuk mendapatkan kapasitas berbeda untuk setiap opsi konsumsi. Untuk mempelajari proses untuk mendapatkan kapasitas untuk opsi konsumsi yang Anda pilih, lihat Ringkasan kapasitas.
  3. Pastikan Anda memiliki kuota kapasitas Filestore yang cukup: Anda harus memiliki kuota Filestore yang cukup di region target sebelum men-deploy. Kapasitas minimum yang diperlukan bergantung pada jenis mesin di cluster Anda:
    • A4X Max, A4X, A4, A3 Ultra, dan A3 Mega: memerlukan kapasitas HIGH_SCALE_SSD (zonal) minimal 10 TiB (10.240 GiB).
    • A3 Tinggi: memerlukan kapasitas BASIC_SSD (standar) minimum 2,5 TiB (2.560 GiB).

    Untuk memeriksa kuota atau meminta penambahan kuota, lihat artikel 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 bekerja dengan Terraform adalah menyimpan status dari jarak jauh dalam file yang mendukung versi. Di Google Cloud, Anda dapat membuat bucket Cloud Storage yang mengaktifkan pengelolaan 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 menginstal Cluster Toolkit, buka direktori yang berisi biner gcluster:

  • Jika Anda menginstal paket yang telah dibuat sebelumnya, ubah ke direktori gcluster-bundle:

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

    cd cluster-toolkit

    Deployment cluster ini memerlukan Cluster Toolkit v1.62.0 atau yang lebih baru. Untuk memeriksa versi saat ini, jalankan perintah berikut:

    ./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 penggunaan yang Anda perlukan.

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 reservasi, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_INSTANCES: jumlah instance bare metal A4X Max dalam cluster Anda. Anda dapat menentukan jumlah instance apa pun. 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, cetak biru A4X Max akan otomatis membuat dan menerapkan kebijakan penempatan ringkas dengan topologi GPU 1x72 untuk setiap grup yang terdiri dari 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_VMS
  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 reservasi, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_VMS: jumlah VM A4X di cluster Anda. Anda dapat menentukan jumlah VM berapa pun. Namun, VM A4X saling terhubung secara fisik oleh sistem NVLink multi-node dalam grup yang terdiri dari 18 VM (72 GPU) untuk membentuk domain NVLink.

    Untuk performa jaringan yang optimal, sebaiknya tentukan nilai yang merupakan kelipatan 18 VM (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 terdiri dari 18 VM. 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 penggunaan yang Anda gunakan untuk deployment. Pilih tab yang sesuai dengan model penyediaan opsi pemakaian Anda.

Terikat dengan 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_VMS
  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 reservasi, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_VMS: jumlah VM 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_VMS
  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_VMS: jumlah VM yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki sejumlah node tetap 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_VMS
  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_VMS: jumlah VM yang Anda inginkan untuk cluster.

A3 Ultra

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

Terikat dengan 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_VMS
  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 reservasi, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_VMS: jumlah VM 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_VMS
  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_VMS: jumlah VM yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki sejumlah node tetap 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_VMS
  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_VMS: jumlah VM yang Anda inginkan untuk cluster.

A3 Mega

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

Terikat dengan 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_VMS
  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 reservasi, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_VMS: jumlah VM 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_VMS
  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_VMS: jumlah VM yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki sejumlah node tetap 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_VMS
  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_VMS: jumlah VM yang Anda inginkan untuk cluster.

A3 Tinggi

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

Terikat dengan 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_VMS
  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 gambar yang dioptimalkan A3 Tinggi. 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 reservasi, informasi region dan zona diberikan oleh tim akun Anda saat kapasitas dikirimkan.
  • NUMBER_OF_VMS: jumlah VM 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_VMS
  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 gambar yang dioptimalkan A3 Tinggi. 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_VMS: jumlah VM yang Anda inginkan untuk cluster.

Deployment ini menyediakan node komputasi statis, yang berarti cluster memiliki sejumlah node tetap 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_VMS
  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 gambar yang dioptimalkan A3 Tinggi. 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_VMS: jumlah VM yang Anda inginkan untuk cluster.

Menyediakan cluster Slurm

Cluster Toolkit menyediakan cluster berdasarkan file deployment yang Anda buat pada langkah sebelumnya dan blueprint cluster default. Untuk mengetahui informasi selengkapnya tentang software yang diinstal oleh blueprint, termasuk driver NVIDIA dan CUDA, pelajari lebih lanjut image kustom Slurm.

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

A4X Max

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

A4X

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

A4

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

A3 Ultra

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

A3 Mega

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

A3 Tinggi

./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 namanya adalah 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 uji NCCL, yang merupakan uji NVIDIA Collective Communications Library (NCCL) yang dioptimalkan untuk lingkungan Google.

Men-deploy ulang cluster Slurm

Jika Anda perlu menambah jumlah node komputasi atau menambahkan partisi baru ke cluster, Anda mungkin perlu memperbarui konfigurasi untuk cluster Slurm dengan men-deploy-nya ulang. Penerapan ulang cluster dapat dipercepat dengan menggunakan image yang ada dari deployment sebelumnya. Untuk menghindari pembuatan image baru selama penyebaran ulang, tentukan flag --only.

Untuk men-deploy ulang cluster menggunakan image yang ada, lakukan hal berikut:

  1. Hubungkan ke cluster

  2. Berdasarkan jenis mesin yang digunakan cluster Anda, pilih salah satu opsi berikut. Perintah di bagian ini hanya untuk deployment ulang jika image sudah ada. Perintah ini hanya 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 Tinggi

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

Hancurkan cluster Slurm

Secara default, blueprint A4X Max, A4X, A4, dan A3 Ultra mengaktifkan perlindungan penghapusan pada instance Filestore. Untuk menghapus instance Filestore saat Anda menghancurkan cluster Slurm, nonaktifkan perlindungan penghapusan sebelum menjalankan perintah destroy. Untuk mengetahui petunjuknya, lihat Menyetel atau menghapus perlindungan penghapusan pada instance yang ada.

Untuk menghancurkan cluster Slurm, selesaikan langkah-langkah berikut:

  1. Jika Anda belum melakukannya, putuskan koneksi dari cluster .

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

  3. Untuk menghancurkan cluster, jalankan perintah berikut:

    ./gcluster destroy DEPLOYMENT_FOLDER --auto-approve

    Ganti DEPLOYMENT_FOLDER dengan nama folder deployment.

Saat Cluster Toolkit menghancurkan cluster Anda, outputnya akan mirip dengan yang berikut:

Destroy complete! Resources: DEPLOYMENT_NAME destroyed.

Langkah berikutnya