Mengurangi latensi dengan menggunakan kebijakan penempatan rapat

Dokumen ini menjelaskan cara mengurangi latensi jaringan di antara VM tugas dengan menentukan kebijakan penempatan rapat.

Memiliki host VM yang secara fisik lebih dekat satu sama lain dalam zona dapat mengurangi latensi jaringan antar-VM. Manfaat performa ini dapat sangat berguna untuk tugas dengan tugas yang terikat erat, seperti tugas yang berkomunikasi menggunakan library MPI. Saat membuat tugas, Anda dapat secara opsional mewajibkan VM tugas ditempatkan lebih dekat satu sama lain dengan menentukan kebijakan penempatan rapat. Jika tidak, penempatan VM default biasanya mendistribusikan VM di seluruh host terpisah untuk membantu meminimalkan dampak kegagalan daya.

Untuk mempelajari kebijakan penempatan yang ringkas lebih lanjut, lihat Tentang kebijakan penempatan dalam dokumentasi Compute Engine.

Sebelum memulai

  1. Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
  2. Untuk mendapatkan izin yang diperlukan untuk membuat tugas, minta administrator untuk memberi Anda peran IAM berikut:

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

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

Pembatasan

Selain batasan umum untuk kebijakan penempatan rapat, Batch juga memiliki batasan berikut:

  • Saat Anda menentukan agar tugas menggunakan kebijakan penempatan rapat, Batch akan otomatis membuat dan menghapus kebijakan penempatan rapat untuk VM tugas. Anda tidak dapat menentukan kebijakan penempatan rapat yang ada untuk tugas.
  • Anda tidak dapat menentukan jumlah VM untuk kebijakan penempatan rapat. Kebijakan penempatan rapat untuk tugas berlaku terlepas dari jumlah VM tempat tugas berjalan.

Membuat dan menjalankan tugas yang menggunakan kebijakan penempatan

Anda dapat menentukan agar tugas menggunakan kebijakan penempatan ringkas dengan menetapkan kolom collocation ke COLLOCATED menggunakan gcloud CLI atau Batch API.

gcloud

  1. Buat file JSON yang menentukan detail konfigurasi tugas dan menetapkan kolom collocation ke COLLOCATED.

    Misalnya, untuk membuat tugas skrip dasar yang menentukan kebijakan penempatan rapat, buat file JSON dengan konten berikut:

    {
      "taskGroups": [
        {
          "taskSpec": {
            "runnables": [
              {
                "script": {
                  "text": "echo Hello world from task ${BATCH_TASK_INDEX}"
                }
              }
            ]
          },
          "taskCount": 3
        }
      ],
      "allocationPolicy": {
        "placement": {
          "collocation": "COLLOCATED"
        }
      },
      "logsPolicy": {
        "destination": "CLOUD_LOGGING"
      }
    }
    
  2. Untuk membuat dan menjalankan tugas, gunakan perintah gcloud batch jobs submit:

    gcloud batch jobs submit JOB_NAME \
      --location LOCATION \
      --config JSON_CONFIGURATION_FILE
    

    Ganti kode berikut:

    • JOB_NAME: nama tugas.

    • LOCATION: lokasi tugas.

    • JSON_CONFIGURATION_FILE: jalur untuk file JSON dengan detail konfigurasi tugas.

API

Buat permintaan POST ke metode jobs.create yang menetapkan kolom collocation ke COLLOCATED.

Misalnya, untuk membuat tugas skrip dasar yang menentukan kebijakan penempatan rapat, buat permintaan berikut:

POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME

{
  "taskGroups": [
    {
      "taskSpec": {
        "runnables": [
          {
            "script": {
              "text": "echo Hello world from task ${BATCH_TASK_INDEX}"
            }
          }
        ]
      },
      "taskCount": 3
    }
  ],
  "allocationPolicy": {
    "placement": {
      "collocation": "COLLOCATED"
    }
  },
  "logsPolicy": {
    "destination": "CLOUD_LOGGING"
  }
}

Ganti kode berikut:

  • PROJECT_ID: Project ID project Anda.

  • LOCATION: lokasi tugas.

  • JOB_NAME: nama tugas.

Langkah selanjutnya