Buat cluster

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

Halaman ini menyediakan metode langsung yang didorong 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 pengelola Slurm—dalam file JSON. Juga disertakan cara menggunakan panggilan curl dan 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 untuk cluster pelatihan Anda.

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

Langkah pertama dalam menyediakan cluster pelatihan adalah menentukan konfigurasi lengkapnya dalam file JSON. File ini berfungsi sebagai cetak biru untuk cluster Anda, yang menentukan semuanya mulai dari nama dan setelan jaringannya hingga hardware untuk node pekerja dan loginnya.

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 tertentu tersebut.

GPU dengan Filestore saja

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

Contoh berikut menunjukkan konten gpu-filestore.json. Spesifikasi ini membuat cluster dengan partisi GPU. Anda dapat menggunakan ini 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 hal 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 cetak biru untuk cluster Anda, yang menentukan semuanya mulai dari nama dan setelan jaringannya hingga hardware untuk login dan node pekerja.

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 terperinci 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 rekaman slurm.conf:

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

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

Anda tidak perlu menyelesaikannya pada saat 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, penghentian dengan prioritas partisi, dan SchedulerParameters, yang istilah bf_continue-nya menunjukkan bentuk komposit: istilah telanjang mengaktifkan tanda, dan istilah dipisahkan koma. Peta partisi membatasi runtime tugas dan memori default hanya untuk partisi cpu, dan entri node_sets memberi label node pool tersebut sehingga tugas dapat memilihnya dengan --constraint.

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

Autentikasi

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

Buat file JSON

Buat file JSON (misalnya, @cpu-cluster.json) untuk menentukan konfigurasi untuk 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 Cloud de Confiance by S3NS tempat cluster akan dibuat.
  • REGION: Cloud de Confiance by S3NS region untuk cluster dan resourcenya.
  • ZONE: Cloud de Confiance by S3NS zona tempat resource cluster akan disediakan.
  • CLUSTER_ID: ID unik untuk cluster pelatihan Anda, yang juga digunakan sebagai awalan untuk penamaan resource terkait.

Jalankan perintah create

Sekarang, jalankan perintah gcurl berikut. Aplikasi 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 pada 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 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. Anda harus menyimpan ID ini karena 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 Cloud de Confiance by S3NS Anda.
  • REGION: Cloud de Confiance by S3NS Region tempat cluster dan resourcenya akan berada.
  • NETWORK: Jaringan Virtual Private Cloud yang akan digunakan untuk resource cluster.
  • ZONE: Cloud de Confiance by S3NS Zona 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 pekerja.

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 node pekerja (misalnya, a3-highgpu-8g, a3-megagpu-8g, a3-ultragpu-8g, a4-highgpu-8g). Untuk daftar lengkap jenis mesin yang didukung, lihat Sumber daya 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 pasangan kunci/nilai untuk memberi label pada node pool.
  • NODE_IMAGE (sesuai dengan node_image di dalam objek node_pools): Image VM yang digunakan untuk booting node pool, sebagai jalur resource image atau kelompok image lengkap (misalnya, projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY ). Jika Anda menghapusnya, node pool akan menggunakan image default saat ini untuk jenis mesinnya, yang akan berubah 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 node pekerja. Nilai yang didukung adalah:
    • NVIDIA_H100_80GB
    • NVIDIA_H100_MEGA_80GB
    • NVIDIA_H200_141GB
    • NVIDIA_B200
  • ACCELERATOR_COUNT: Jumlah akselerator yang akan dihubungkan ke setiap worker node.
  • RESERVATION_AFFINITY_TYPE (sesuai dengan machine_spec.reservation_affinity.reservationAffinityType): Afinitas reservasi untuk node pool. Parameter ini harus berupa SPECIFIC_RESERVATION, yang merupakan satu-satunya nilai yang didukung. Jika SPECIFIC_RESERVATION digunakan, Anda harus menentukan reservasi di machine_spec.reservation_affinity.values.
  • RESERVATION_NAME: Nama reservasi yang akan digunakan untuk node pool. Ini digunakan dalam nama resource reservasi lengkap yang diberikan di machine_spec.reservation_affinity.values, misalnya projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME. Reservasi diperlukan jika RESERVATION_AFFINITY_TYPE adalah SPECIFIC_RESERVATION.

Konfigurasi orchestrator dan penyimpanan

Kolom ini ditentukan dalam blok orchestrator_spec.slurm_spec dari file JSON.

Setelan Slurm dan Penyimpanan Inti

  • HOME_DIRECTORY_STORAGE (sesuai dengan home_directory_storage): Nama resource lengkap instance Filestore yang sudah ada sebelumnya untuk dipasang sebagai direktori /home.
  • LOGIN_NODE_POOL_ID (sesuai dengan login_node_pool_id): ID node pool yang akan 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, di mana setiap string berisi konten lengkap skrip Bash yang akan dieksekusi sebelum tugas dimulai.
  • epilog_bash_scripts: Daftar string, di mana setiap string berisi konten lengkap skrip Bash yang akan dieksekusi setelah tugas selesai.
  • config, partitions[].config, dan node_sets: Parameter Slurm yang ditetapkan menurut nama. Lihat Peta konfigurasi Slurm.
  • scheduling dan accounting: Digantikan. Kedua objek ini mengekspos kumpulan tetap parameter prioritas, pendahuluan, dan akuntansi, yang masing-masing dapat ditetapkan berdasarkan nama dalam peta config cakupan cluster (priority_type sebagai "PriorityType", preempt_mode sebagai "PreemptMode", dan sebagainya). Metrik 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 slurm.conf rekaman:

  • config: Setelan cakupan cluster, ditulis sebagai baris Key=Value global.
  • partitions[].config: Setelan untuk satu partisi, 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 ekstra pada baris NodeName= untuk node pool tersebut. Maksimal satu entri per node pool, dan pool harus berupa compute pool cluster, bukan login pool.

Dalam ketiga kasus tersebut, kunci adalah nama parameter Slurm seperti yang didokumentasikan oleh SchedMD, tanpa mencocokkan huruf besar/kecil dan mengabaikan garis bawah, sehingga DefMemPerCPU, defmempercpu, dan def_mem_per_cpu semuanya berarti parameter yang sama. Nilai ditulis seperti yang dilakukan slurm.conf, 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 datanya, bukan semuanya. Jika Anda memerlukan parameter yang tidak didukung, hubungi kontak cluster pelatihan Gemini Enterprise Agent Platform Anda.

Parameter yang tidak didukung dalam cakupan tempat Anda menyetelnya, atau nilai yang tidak valid untuk parameter tersebut, akan ditolak saat Anda membuat permintaan, dan error akan menyebutkan nama parameter. Tidak ada yang dihapus secara diam-diam. Beberapa parameter ditolak karena alasan tertentu:

  • Layanan ini mengelola pemeriksaan kondisi node dan pengantrean 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 beban kerja apa pun di dalamnya. Jika tidak ditentukan, akun layanan Compute Engine default akan digunakan. Kolom ini tidak dapat diupdate setelah pembuatan cluster.

Langkah berikutnya

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