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
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
-
Untuk mendapatkan izin yang diperlukan untuk membuat tugas, minta administrator untuk memberi Anda peran IAM berikut:
-
Batch Job Editor (
roles/batch.jobsEditor
) pada project -
Service Account User (
roles/iam.serviceAccountUser
) pada akun layanan tugas, yang secara default adalah akun layanan Compute Engine default
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Batch Job Editor (
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
Buat file JSON yang menentukan detail konfigurasi tugas dan menetapkan kolom
collocation
keCOLLOCATED
.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" } }
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
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas dan tugas.
- Pelajari opsi pembuatan lowongan lebih lanjut.