Mengurangi latensi dengan menggunakan kebijakan penempatan yang ringkas

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

Memiliki host VM yang secara fisik berdekatan satu sama lain dalam suatu zona dapat mengurangi latensi jaringan antar-VM. Manfaat performa ini dapat sangat berguna untuk tugas dengan tugas yang terkait erat, seperti tugas yang berkomunikasi menggunakan library MPI. Saat membuat tugas, Anda juga dapat mengharuskan VM tugas ditempatkan lebih dekat satu sama lain dengan menentukan kebijakan penempatan yang ringkas. Jika tidak, penempatan VM default biasanya akan mendistribusikan VM ke host terpisah untuk membantu meminimalkan dampak kegagalan daya.

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

Sebelum memulai

Pembatasan

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

  • Saat Anda menentukan tugas untuk menggunakan kebijakan penempatan yang ringkas, Batch akan otomatis membuat dan menghapus kebijakan penempatan ringkas untuk VM tugas tersebut. Anda tidak dapat menentukan kebijakan penempatan yang ringkas untuk sebuah pekerjaan.
  • Anda tidak dapat menentukan jumlah VM untuk kebijakan penempatan yang ringkas. Kebijakan penempatan ringkas untuk suatu tugas berlaku, berapa pun jumlah VM tempat tugas tersebut dijalankan.

Membuat dan menjalankan tugas yang menggunakan kebijakan penempatan

Anda dapat menentukan tugas untuk menggunakan kebijakan penempatan yang 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 ringkas, 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 pekerjaan.

    • 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 ringkas, 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 pekerjaan.

Langkah selanjutnya