Membuat MIG dengan VM GPU


Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) dengan instance virtual machine (VM) yang telah memasang GPU. Panduan ini menjelaskan cara menambahkan VM GPU sekaligus dalam grup menggunakan permintaan pengubahan ukuran.

Penggunaan permintaan pengubahan ukuran akan meningkatkan ketersediaan VM GPU di MIG. Dalam permintaan, tentukan jumlah VM GPU dan durasi yang Anda inginkan untuk menjalankan VM tersebut. Dynamic Workload Scheduler (DWS), mekanisme penjadwal yang mendasarinya, menjadwalkan permintaan pengubahan ukuran yang dibuat di seluruh Compute Engine berdasarkan durasi yang diminta dan ketersediaan resource. Saat resource tersedia, MIG akan otomatis membuat VM.

Jika tugas yang berjalan di VM ini selesai lebih awal dari durasi yang diminta, Anda dapat menghapus VM tersebut. Jika tidak, MIG akan otomatis menghapus VM saat durasi berakhir.

Anda juga dapat membaca skenario dasar lainnya untuk membuat MIG.

Sebelum memulai

  • Untuk memastikan Anda memiliki kuota GPU yang cukup untuk resource yang Anda minta, periksa kuota GPU Anda.
  • Untuk memahami penggunaan kuota, baca VM GPU dan kuota alokasi yang dapat dihentikan.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Batasan

Tinjau batasan untuk membuat permintaan perubahan ukuran di MIG.

Membuat MIG dan menambahkan VM GPU sekaligus

Untuk membuat MIG dan menambahkan VM GPU sekaligus dalam grup, lakukan hal berikut:

  1. Buat template instance, yang diperlukan untuk membuat MIG. MIG membuat setiap VM dalam grup berdasarkan template instance. Dalam template, tentukan konfigurasi untuk VM GPU dan konfigurasi tambahan yang diperlukan untuk menggunakan permintaan pengubahan ukuran.

    Untuk mengetahui informasi selengkapnya tentang template instance, lihat Tentang template instance.

  2. Buat MIG dan permintaan pengubahan ukuran untuk menambahkan VM GPU sekaligus.

Membuat template instance

Buat template instance seperti yang dijelaskan di bagian ini, lalu gunakan template tersebut untuk membuat MIG.

Konsol

  1. Buka halaman Template instance.

    Buka halaman Template instance

  2. Klik Create instance template.

  3. Di kolom Name, masukkan nama untuk template instance.

  4. Di bagian Machine configuration, lakukan hal berikut:

    1. Klik tab GPU.
    2. Dalam daftar GPU type, pilih jenis GPU.
    3. Dalam daftar Number of GPU, pilih jumlah GPU.
    4. Dalam daftar Machine type, pilih jenis mesin.
  5. Opsional: Untuk mengubah jenis atau image boot disk nilai default, di bagian Boot disk, klik Change. Kemudian, ikuti petunjuk untuk mengubah disk booting.

  6. Luaskan bagian Opsi lanjutan, lalu lakukan hal berikut:

    1. Luaskan bagian Management.
    2. Dalam daftar Reservations, pilih Don't use.
  7. Klik Create.

gcloud

Buat template instance menggunakan perintah instance-templates create.

Perintah berikut membuat template instance global berdasarkan Deep Learning VM image.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-project=deeplearning-platform-release \
    --image-family=common-cu121 \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=none

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang mendukung GPU. Jika Anda menentukan jenis mesin N1, sertakan flag --accelerator untuk menentukan jumlah dan jenis GPU yang akan dilampirkan ke VM Anda.

REST

Buat template instance dengan membuat permintaan POST ke metode instanceTemplates.insert.

Permintaan berikut membuat template instance global berdasarkan Deep Learning VM image.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "mode": "READ_WRITE",
        "type": "PERSISTENT",
        "initializeParams": {
          "sourceImage": "projects/deeplearning-platform-release/global/images/family/common-cu121"
        }
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-IP",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "NO_RESERVATION"
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin membuat MIG.
  • INSTANCE_TEMPLATE_NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin yang mendukung GPU. Jika Anda menentukan jenis mesin N1, sertakan kolom guestAccelerators untuk menentukan jumlah dan jenis GPU yang akan dilampirkan ke VM Anda.

Membuat MIG dan menambahkan VM GPU sekaligus

Buat MIG seperti yang dijelaskan di bagian ini. Untuk menggunakan permintaan pengubahan ukuran di MIG, Anda tidak boleh mengonfigurasi penskalaan otomatis dan harus menonaktifkan perbaikan.

Konsol

  1. Buka halaman Instance groups.

    Buka Instance groups

  2. Klik Create instance group.

  3. Masukkan kolom berikut:

    1. Nama: Masukkan nama untuk grup.
    2. Instance template: Pilih template instance yang Anda konfigurasi di bagian sebelumnya.
    3. Di bagian Lokasi:
      1. Pilih Single zone.
      2. Di daftar Region dan Zone, pilih lokasi tempat Anda ingin membuat grup.

    Kolom Number of instances akan diaktifkan untuk diedit setelah Anda menghapus konfigurasi penskalaan otomatis dan menonaktifkan perbaikan di langkah berikutnya.

  4. Hapus konfigurasi penskalaan otomatis sebagai berikut:

    1. Di bagian Autoscaling, klik daftar Autoscaling mode, lalu klik Delete autoscaling configuration.
    2. Pada dialog Hapus konfigurasi penskalaan otomatis?, klik Hapus.
  5. Nonaktifkan perbaikan di MIG sebagai berikut:

    Di bagian VM instance lifecycle, tetapkan kolom Default action on failure ke No action.

  6. Tentukan jumlah VM GPU dan durasi operasi untuk membuat permintaan perubahan ukuran:

    1. Di kolom Number of instances, masukkan jumlah VM GPU yang ingin Anda buat sekaligus.

      Kolom jumlah instance di halaman Create instance group.

    2. Centang kotak Use resize request to create VMs all at once. Kolom untuk memasukkan durasi operasi akan muncul.

    3. Di kolom Requested run duration dan daftar Unit, tentukan durasi operasi VM GPU. Durasi harus antara 1 jam dan 7 hari.

  7. Klik Create.

gcloud

  1. Buat MIG zona menggunakan perintah instance-groups managed create.

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
       --template=INSTANCE_TEMPLATE_NAME \
       --size=0 \
       --zone=ZONE \
       --default-action-on-vm-failure=do_nothing
    
  2. Di MIG, buat permintaan pengubahan ukuran menggunakan perintah instance-groups managed resize-requests create. Tentukan jumlah VM GPU yang Anda inginkan dan durasi yang ingin Anda gunakan untuk menjalankan VM tersebut.

    gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \
       --resize-request=RESIZE_REQUEST_NAME \
       --resize-by=COUNT \
       --requested-run-duration=RUN_DURATION\
       --zone=ZONE
    

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG.
  • INSTANCE_TEMPLATE_NAME: nama template instance untuk VM GPU.
  • ZONE: salah satu zona yang tersedia untuk Compute Engine.
  • RESIZE_REQUEST_NAME: nama permintaan perubahan ukuran.
  • COUNT: jumlah VM yang akan ditambahkan sekaligus dalam grup.
  • RUN_DURATION: durasi yang Anda inginkan untuk VM yang diminta. Nilai harus diformat sebagai jumlah hari, jam, menit, atau detik yang diikuti dengan d, h, m, dan s. Misalnya, tentukan 30m selama 30 menit atau 1d2h3m4s selama 1 hari, 2 jam, 3 menit, dan 4 detik. Nilainya harus antara 10 menit dan 7 hari.

REST

  1. Buat MIG zona dengan membuat permintaan POST ke metode instanceGroupManagers.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
     "versions": [
       {
         "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
       }
     ],
     "name": "INSTANCE_GROUP_NAME",
     "targetSize": 0,
     "instanceLifecyclePolicy": {
       "defaultActionOnFailure": "DO_NOTHING"
     }
    }
    
  2. Di MIG, buat permintaan pengubahan ukuran dengan membuat permintaan POST ke metode instanceGroupManagerResizeRequests.insert. Dalam isi permintaan, tentukan jumlah VM GPU yang ingin Anda buat sekaligus dan durasi yang Anda inginkan untuk menjalankan VM tersebut.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    
    {
     "name": "RESIZE_REQUEST_NAME",
     "resizeBy": COUNT,
     "requestedRunDuration": {
       "seconds": "RUN_DURATION"
     }
    }
    

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin membuat MIG.
  • INSTANCE_GROUP_NAME: nama MIG.
  • INSTANCE_TEMPLATE_NAME: nama template instance untuk VM GPU.
  • ZONE: salah satu zona yang tersedia untuk Compute Engine.
  • RESIZE_REQUEST_NAME: nama permintaan perubahan ukuran.
  • COUNT: jumlah VM yang akan ditambahkan sekaligus dalam grup.
  • RUN_DURATION: durasi, dalam detik, yang Anda inginkan untuk VM yang diminta agar berjalan sebelum MIG menghapusnya secara otomatis. Nilainya harus antara 600, yaitu 600 detik (10 menit), dan 604800, yaitu 604.800 detik (7 hari).

Permintaan pengubahan ukuran yang Anda buat akan tetap dalam status ACCEPTED hingga MIG membuat semua VM GPU yang diminta. Setelah semua VM GPU dibuat dalam grup, status permintaan akan berubah menjadi SUCCEEDED.

Langkah selanjutnya