Buat cluster

Jika Anda tertarik dengan cluster pelatihan Gemini Enterprise Agent Platform, hubungi sales representative Anda untuk mendapatkan akses.

Halaman ini menyediakan metode langsung berbasis API untuk membuat dan mengelola cluster pelatihan. Anda akan mempelajari cara menentukan konfigurasi lengkap cluster, termasuk node login, partisi GPU berperforma tinggi seperti A4, dan setelan orchestrator Slurm—dalam file JSON. Termasuk juga cara menggunakan curl dan panggilan REST API untuk men-deploy konfigurasi ini, membuat cluster, dan mengelola siklus prosesnya dengan operasi GET, LIST, UPDATE, dan DELETE.

Menentukan konfigurasi cluster

Buat file JSON untuk menentukan konfigurasi lengkap cluster pelatihan Anda.

Jika kebijakan organisasi Anda melarang alamat IP Publik pada instance komputasi, deploy cluster pelatihan dengan parameter enable_public_ips: false dan gunakan Cloud NAT untuk egress internet.

Langkah pertama dalam menyediakan cluster pelatihan adalah menentukan konfigurasi lengkapnya dalam file JSON. File ini berfungsi sebagai blueprint untuk cluster Anda, yang menentukan semuanya, mulai dari nama dan setelan jaringan hingga hardware untuk node login dan worker-nya.

Bagian berikut menyediakan beberapa file konfigurasi JSON lengkap yang berfungsi sebagai template praktis untuk berbagai kasus penggunaan umum. Lihat daftar ini untuk menemukan contoh yang paling sesuai dengan kebutuhan Anda dan gunakan sebagai titik awal.

Setiap contoh diikuti dengan deskripsi mendetail tentang parameter utama yang digunakan dalam konfigurasi spesifik tersebut.

GPU dengan Filestore saja

Ini adalah konfigurasi standar. Solusi ini menyediakan instance Filestore yang berfungsi sebagai direktori /home untuk cluster, yang cocok untuk penggunaan umum dan menyimpan data pengguna.

Contoh berikut menunjukkan konten gpu-filestore.json. Spesifikasi ini membuat cluster dengan partisi GPU. Anda dapat menggunakannya sebagai template dan mengubah nilai seperti machineType atau nodeCount agar sesuai dengan kebutuhan Anda.

Untuk mengetahui daftar parameter, lihat Referensi parameter.

 {
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "labels": { "example-key": "example-value" }
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "RESERVATION",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "labels": { "example-key": "example-value" }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

GPU dengan Filestore dan Managed Lustre

Konfigurasi lanjutan ini mencakup instance Filestore standar selain sistem file Lustre berperforma tinggi. Pilih opsi ini jika tugas pelatihan Anda memerlukan akses throughput tinggi ke set data besar.

Untuk mengetahui daftar parameter, lihat Referensi parameter.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "lustres": [
        "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE"
      ]
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "RESERVATION",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "lustres": [
        "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE"
      ]
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}
  

GPU dengan skrip startup

Contoh ini menunjukkan cara menambahkan skrip kustom ke node pool. Skrip ini dijalankan di semua node dalam pool tersebut saat startup. Untuk mengonfigurasi ini, tambahkan kolom yang relevan ke definisi node pool Anda selain setelan umum. Untuk mengetahui daftar parameter dan deskripsinya, lihat Referensi parameter.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n"
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "PROVISIONING_MODEL",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n"
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

Cluster khusus CPU

Untuk menyediakan lingkungan cluster pelatihan, Anda harus menentukan konfigurasi lengkapnya terlebih dahulu dalam file JSON. File ini berfungsi sebagai blueprint untuk cluster Anda, yang menentukan semuanya, mulai dari nama dan setelan jaringan hingga hardware untuk node login dan worker-nya.

Untuk mengetahui daftar parameter, lihat Referensi parameter.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "cpu",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "cpu",
          "node_pool_ids": [
            "cpu"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

Konfigurasi Slurm lanjutan

Contoh ini memberikan kontrol yang mendetail atas Slurm dengan menetapkan parameter slurm.conf berdasarkan nama, dan dengan menjalankan skrip prolog dan epilog untuk penyiapan dan pembersihan tugas otomatis. Parameter dapat ditetapkan di seluruh cluster, untuk satu partisi, atau untuk satu node pool.

Ada tiga peta konfigurasi, satu untuk setiap data slurm.conf:

  • config pada spesifikasi Slurm untuk setelan seluruh cluster
  • config di partisi
  • Entri node_sets untuk node pool

Untuk aturan tentang nama parameter, nilai, dan parameter mana yang ditolak, lihat Peta konfigurasi Slurm.

Anda tidak harus menyelesaikannya pada waktu pembuatan. Ketiga peta dapat diubah pada cluster yang sedang berjalan, tanpa memulai ulang node atau mengganggu tugas yang diantrekan. Lihat Memperbarui setelan konfigurasi Slurm.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "cpu",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "config": {
        "PriorityType": "priority/multifactor",
        "PriorityWeightAge": "1000",
        "PriorityWeightFairshare": "10000",
        "PreemptType": "preempt/partition_prio",
        "PreemptMode": "SUSPEND,GANG",
        "SchedulerParameters": "bf_continue,bf_window=1440,bf_resolution=600",
        "AccountingStorageEnforce": "limits,qos"
      },
      "prolog_bash_scripts": [
        "#!/bin/bash\necho 'Prolog script running'"
      ],
      "epilog_bash_scripts": [
        "#!/bin/bash\necho 'Epilog script running'"
      ],
      "partitions": [
        {
          "id": "cpu",
          "node_pool_ids": [
            "cpu"
          ],
          "config": {
            "MaxTime": "4-00:00:00",
            "DefMemPerCPU": "4096",
            "PriorityTier": "20"
          }
        }
      ],
      "node_sets": [
        {
          "node_pool_id": "cpu",
          "config": {
            "Weight": "10",
            "Features": "cpu,spot"
          }
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

Peta cakupan cluster menetapkan prioritas multifaktor, preemption prioritas partisi, dan SchedulerParameters, yang istilah bf_continue-nya menunjukkan bentuk gabungan: istilah sederhana mengaktifkan flag, dan istilah dipisahkan koma. Peta partisi membatasi runtime tugas dan memori default hanya untuk partisi cpu, dan entri node_sets memberi label pada node kumpulan tersebut sehingga tugas dapat memilihnya dengan --constraint.

Setelah cluster Anda ditentukan dalam file JSON, gunakan perintah REST API berikut untuk men-deploy dan mengelola cluster. Contoh ini menggunakan alias gcurl, yang merupakan pintasan yang mudah dan diautentikasi untuk berinteraksi dengan endpoint API. Perintah ini mencakup siklus proses lengkap, mulai dari men-deploy cluster di awal hingga mengupdate cluster, mendapatkan statusnya, mencantumkan semua cluster, dan pada akhirnya menghapus cluster.

Autentikasi

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

Membuat file JSON

Buat file JSON (misalnya, @cpu-cluster.json) untuk menentukan konfigurasi cluster Pelatihan Model Anda.

Men-deploy cluster

Setelah membuat file konfigurasi JSON, Anda dapat men-deploy cluster menggunakan REST API.

Menetapkan variabel lingkungan

Sebelum menjalankan perintah, tetapkan variabel lingkungan berikut. Hal ini membuat perintah API lebih rapi dan lebih mudah dikelola.

  • PROJECT_ID: Project ID Google Cloud Anda tempat cluster akan dibuat.
  • REGION: Region Google Cloud untuk cluster dan resource-nya.
  • ZONE: Zona Google Cloud tempat resource cluster akan disediakan.
  • CLUSTER_ID: ID unik untuk cluster pelatihan Anda, yang juga digunakan sebagai awalan untuk memberi nama resource terkait.

Menjalankan perintah create

Sekarang, jalankan perintah gcurl berikut. Perintah ini menggunakan file JSON (dalam contoh ini, cpu-cluster.json) sebagai isi permintaan dan variabel lingkungan yang baru saja Anda tetapkan untuk membuat endpoint API dan parameter kueri.

  gcurl -X POST -d @cpu-cluster.json https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?model_development_cluster_id=CLUSTER_ID
    

Setelah deployment dimulai, ID Operasi akan dibuat. Pastikan untuk menyalin ID ini. Anda akan memerlukannya untuk memvalidasi cluster di langkah berikutnya.

  gcurl -X POST -d @cpu-cluster.json https://us-central1-aiplatform.googleapis.com/v1beta1/projects/managedtraining-project/locations/us-central1/modelDevelopmentClusters?model_development_cluster_id=training
  {
      "name": "projects/1059558423163/locations/us-central1/operations/2995239222190800896",
      "metadata": {
      "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateModelDevelopmentClusterOperationMetadata",
      "genericMetadata": {
        "createTime": "2025-10-24T14:16:59.233332Z",
        "updateTime": "2025-10-24T14:16:59.233332Z"
      },
      "progressMessage": "Create Model Development Cluster request received, provisioning..."
  }
    

Memvalidasi deployment cluster

Lacak progres deployment menggunakan ID operasi yang diberikan saat Anda men-deploy cluster. Misalnya, 2995239222190800896 adalah ID operasi dalam contoh yang dikutip sebelumnya.

    gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
    

Ringkasan

Mengirimkan konfigurasi cluster Anda dengan perintah POST gcurl akan memulai penyediaan cluster Anda, yang merupakan operasi asinkron yang berjalan lama. API akan segera menampilkan respons yang berisi Operation ID. Sangat penting untuk menyimpan ID ini, karena Anda akan menggunakannya di langkah-langkah berikut untuk memantau progres deployment, memverifikasi bahwa cluster telah berhasil dibuat, dan mengelola siklus prosesnya.

Referensi parameter

Daftar berikut menjelaskan semua parameter yang digunakan dalam contoh konfigurasi. Parameter diatur ke dalam grup logis berdasarkan resource yang dikonfigurasi.

Setelan umum dan jaringan

  • DISPLAY_NAME: Nama unik untuk cluster pelatihan Anda. String hanya boleh berisi karakter alfanumerik huruf kecil, harus diawali dengan huruf, dan dibatasi hingga 10 karakter.
  • PROJECT_ID: Project ID Google Cloud Anda.
  • REGION: Region Google Cloud tempat cluster dan resource-nya akan berada.
  • NETWORK: Jaringan Virtual Private Cloud yang akan digunakan untuk resource cluster.
  • ZONE: Zona Google Cloud untuk cluster dan resource-nya.
  • SUBNETWORK: Subnetwork yang akan digunakan untuk resource cluster.

Konfigurasi node pool

Parameter berikut digunakan untuk menentukan node pool untuk node login dan worker.

Setelan node pool umum

  • ID: ID unik untuk node pool dalam cluster (misalnya, "login", "a4", "cpu").
  • PROVISIONING_MODEL: Model penyediaan untuk worker node (misalnya, ON_DEMAND, SPOT, RESERVATION, FLEX_START).
  • MACHINE_TYPE: Jenis mesin untuk worker node (misalnya, a3-highgpu-8g, a3-megagpu-8g, a3-ultragpu-8g, a4-highgpu-8g). Untuk daftar lengkap jenis mesin yang didukung, lihat Resource komputasi.
  • MIN_NODE_COUNT: MIN_NODE_COUNT harus sama dengan MAX_NODE_COUNT.
  • MAX_NODE_COUNT: Untuk node pool login, MAX_NODE_COUNT harus sama dengan MIN_NODE_COUNT.
  • ENABLE_PUBLIC_IPS: Boolean (true atau false) untuk menentukan apakah node login memiliki alamat IP publik.
  • BOOT_DISK_TYPE: Jenis boot disk untuk node login (misalnya, pd-standard, pd-ssd).
  • BOOT_DISK_SIZE_GB: Ukuran boot disk dalam GB untuk node login.
  • LABELS: Kumpulan key-value pair untuk memberi label pada node pool.
  • NODE_IMAGE (sesuai dengan node_image di dalam objek node_pools): Image VM yang digunakan node pool untuk booting, sebagai jalur resource image lengkap atau kelompok image (misalnya, projects/IMAGE_PROJECT/global/images/IMAGE atau projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY ). Jika Anda menghilangkannya, node pool akan menggunakan image default saat ini untuk jenis mesinnya, yang akan berkembang seiring waktu. Tetapkan untuk mempertahankan node pool pada image tertentu. Mengubah image node pool akan membuat ulang node-nya.

Setelan penyimpanan tambahan

  • FILESTORES (sesuai dengan filestores di dalam objek node_pools): Daftar instance Filestore yang sudah ada untuk dipasang di node pool untuk akses file bersama.
  • LUSTRES (sesuai dengan lustres di dalam objek node_pools): Daftar instance Lustre yang sudah ada untuk dipasang di node pool untuk akses file berperforma tinggi.

Setelan Khusus Pekerja

  • ACCELERATOR_TYPE: Akselerator GPU yang sesuai untuk dipasang ke worker node. Nilai yang didukung adalah:
    • NVIDIA_H100_80GB
    • NVIDIA_H100_MEGA_80GB
    • NVIDIA_H200_141GB
    • NVIDIA_B200
  • ACCELERATOR_COUNT: Jumlah akselerator yang akan dipasang ke setiap worker node.
  • RESERVATION_AFFINITY_TYPE (sesuai dengan machine_spec.reservation_affinity.reservationAffinityType): Afinitas pemesanan untuk node pool. Parameter ini harus berupa SPECIFIC_RESERVATION, yang merupakan satu-satunya nilai yang didukung. Jika SPECIFIC_RESERVATION digunakan, Anda harus menentukan pemesanan di machine_spec.reservation_affinity.values.
  • RESERVATION_NAME: Nama pemesanan yang akan digunakan untuk node pool. Ini digunakan dalam nama resource pemesanan lengkap yang disediakan di machine_spec.reservation_affinity.values, misalnya projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME. Pemesanan diperlukan jika RESERVATION_AFFINITY_TYPE adalah SPECIFIC_RESERVATION.

Konfigurasi orchestrator dan penyimpanan

Kolom ini ditentukan dalam blok orchestrator_spec.slurm_spec file JSON.

Setelan Slurm dan Storage inti

  • HOME_DIRECTORY_STORAGE (sesuai dengan home_directory_storage): Nama resource lengkap instance Filestore yang sudah ada untuk dipasang sebagai direktori /home.
  • LOGIN_NODE_POOL_ID (sesuai dengan login_node_pool_id): ID node pool yang harus digunakan untuk node login.
  • partitions: Daftar objek partisi, dengan setiap objek memerlukan id dan daftar node_pool_ids.
  • default_partition_id (opsional): id partisi yang digunakan untuk menjalankan tugas Slurm saat tidak ada partisi yang ditentukan secara eksplisit (misalnya, saat menjalankan sbatch tanpa flag --partition). Jika tidak disetel, partisi pertama dalam daftar partisi akan menjadi default, sehingga pengurutan ulang daftar akan mengubah partisi default.

Setelan Slurm lanjutan

  • prolog_bash_scripts: Daftar string, dengan setiap string berisi konten lengkap skrip Bash yang akan dieksekusi sebelum tugas dimulai.
  • epilog_bash_scripts: Daftar string, dengan setiap string berisi konten lengkap skrip Bash yang akan dieksekusi setelah tugas selesai.
  • config, partitions[].config, dan node_sets: Parameter Slurm yang ditetapkan berdasarkan nama. Lihat Peta konfigurasi Slurm.
  • scheduling dan accounting: Digantikan. Kedua objek ini mengekspos sekumpulan parameter prioritas, preemption, dan akuntansi tetap, yang masing-masing dapat ditetapkan berdasarkan nama dalam peta config cakupan cluster (priority_type sebagai "PriorityType", preempt_mode sebagai "PreemptMode", dan seterusnya). Parameter ini masih berfungsi untuk cluster yang menggunakannya, tetapi cluster baru harus menggunakan config, yang mendukung lebih banyak parameter slurm.conf daripada subset ini.

Peta konfigurasi Slurm

Parameter Slurm ditetapkan berdasarkan nama, dalam tiga peta, satu untuk setiap data slurm.conf:

  • config: Setelan cakupan cluster, ditulis sebagai baris Key=Value global.
  • partitions[].config: Setelan untuk satu partisi, yang ditulis sebagai pasangan tambahan pada baris PartitionName= partisi tersebut.
  • node_sets: Daftar objek, masing-masing dengan peta node_pool_id dan config. Setelan ditulis sebagai pasangan tambahan pada baris NodeName= untuk node dari node pool tersebut. Maksimal satu entri per node pool, dan pool harus berupa pool komputasi cluster, bukan pool login.

Dalam ketiganya, kunci adalah nama parameter Slurm seperti yang didokumentasikan SchedMD, tanpa memperhatikan huruf besar/kecil dan mengabaikan garis bawah, sehingga DefMemPerCPU, defmempercpu, dan def_mem_per_cpu semuanya berarti parameter yang sama. Nilai ditulis seperti cara slurm.conf menulisnya, termasuk daftar yang dipisahkan koma seperti "PreemptMode": "SUSPEND,GANG" dan nilai gabungan seperti "SchedulerParameters": "bf_window=1440,bf_resolution=600".

Setiap peta mendukung subset parameter slurm.conf yang valid untuk catatannya, bukan semuanya. Jika Anda memerlukan parameter yang tidak didukung, hubungi kontak cluster pelatihan Gemini Enterprise Agent Platform Anda.

Parameter yang tidak didukung dalam cakupan yang Anda tetapkan, atau nilai yang tidak sah untuk parameter tersebut, akan ditolak saat Anda membuat permintaan, dan error akan menyebutkan parameter tersebut. Tidak ada yang dihapus secara otomatis. Beberapa parameter ditolak karena alasan tertentu:

  • Layanan ini mengelola health check node dan antrean ulang tugas, sehingga HealthCheckProgram, HealthCheckInterval, HealthCheckNodeState, dan RequeueExit tidak dapat ditetapkan.
  • Prolog dan Epilog ditetapkan melalui prolog_bash_scripts dan epilog_bash_scripts.
  • Parameter slurmdbd.conf, seperti StorageHost dan PurgeJobAfter, tidak dapat dikonfigurasi: database akuntansi dikelola oleh layanan.
  • Pada cakupan partisi, Default ditolak. Partisi default adalah pilihan di seluruh cluster, yang ditetapkan dengan default_partition_id.

Konfigurasi runtime

Kolom ini ditentukan dalam blok runtime_spec file JSON.

  • service_account: Akun layanan default yang digunakan oleh cluster saat menjalankan workload apa pun di dalamnya. Jika tidak ditentukan, akun layanan Compute Engine default akan digunakan. Kolom ini tidak dapat diperbarui setelah pembuatan cluster.

Langkah berikutnya

Gunakan cluster pelatihan persisten aktif untuk menjalankan workload machine learning Anda.