Dokumen ini menjelaskan cara mengurangi latensi jaringan di antara VM tugas dengan menentukan kebijakan penempatan rapat.
Memiliki host VM yang secara fisik lebih berdekatan satu sama lain dalam zona dapat mengurangi latensi jaringan antar-VM. Manfaat performa ini 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 berdekatan satu sama lain dengan menentukan kebijakan penempatan yang ringkas. Jika tidak, penempatan VM default biasanya mendistribusikan VM di seluruh host terpisah untuk membantu meminimalkan dampak kegagalan daya.
Untuk mempelajari kebijakan penempatan ringkas lebih lanjut, 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 Anda perlukan untuk membuat tugas, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Batch Job Editor (
roles/batch.jobsEditor
) di project -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) di akun layanan tugas, yang secara default adalah akun layanan Compute Engine default
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.
-
Batch Job Editor (
Pembatasan
Selain batasan umum untuk kebijakan penempatan compact, Batch juga memiliki batasan berikut:
- Saat Anda menentukan agar tugas menggunakan kebijakan penempatan yang ringkas, Batch akan otomatis membuat dan menghapus kebijakan penempatan yang ringkas untuk VM tugas. Anda tidak dapat menentukan kebijakan penempatan compact yang ada untuk tugas.
- Anda tidak dapat menentukan jumlah VM untuk kebijakan penempatan rapat. Kebijakan penempatan ringkas untuk tugas berlaku terlepas dari jumlah VM yang menjalankan tugas tersebut.
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
Buat file JSON yang menentukan detail konfigurasi tugas dan menetapkan kolom
collocation
keCOLLOCATED
.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" } }
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 berikutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas.
- Pelajari lebih lanjut opsi pembuatan tugas.