Questo documento spiega come ridurre la latenza di rete tra le VM di un job che specifica un criterio di posizionamento compatto.
Avere host VM fisicamente più vicini tra loro all'interno di zone può ridurre e latenza di rete tra le VM. Questo vantaggio in termini di prestazioni può essere particolarmente utile per i job con attività strettamente accoppiate, come di attività che comunicano tramite librerie MPI. Quando crei un job, puoi richiedere l'individuazione delle VM di un job più vicini tra loro specificando un criterio di posizionamento compatto. Altrimenti, il posizionamento predefinito delle VM in genere distribuisce le VM tra host separati per aiutare a ridurre al minimo l'impatto delle interruzioni di alimentazione.
Per scoprire di più sui criteri di posizionamento compatto, consulta Informazioni sui criteri di posizionamento nella documentazione di Compute Engine.
Prima di iniziare
- Se non hai mai utilizzato Batch, rivedi Inizia a utilizzare Batch e abilita Batch, completando prerequisiti per progetti e utenti.
-
Per ottenere le autorizzazioni necessarie per creare un job, chiedi all'amministratore di concederti seguenti ruoli IAM:
-
Editor job batch (
roles/batch.jobsEditor
) del progetto -
Utente account di servizio (
roles/iam.serviceAccountUser
) sull'account di servizio del job, che per impostazione predefinita è l'account di servizio Compute Engine predefinito
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
-
Editor job batch (
Limitazioni
Oltre alla sezione limitazioni generali per i criteri di posizionamento compatto, Batch ha anche le seguenti restrizioni:
- Se specifichi l'uso di un criterio di posizionamento compatto per un job, Batch crea ed elimina automaticamente il criterio di posizionamento compatto per le VM del job. Non puoi specificare un criterio di posizionamento compatto esistente per un job.
- Non puoi specificare un numero di VM per il criterio di posizionamento compatto. Il criterio di posizionamento compatto per un job si applica indipendentemente dal numero VM su cui viene eseguito il job.
Crea ed esegui un job che utilizza un criterio di posizionamento
Puoi specificare che un job utilizzi un criterio di posizionamento compatto impostando il parametro
Campo collocation
in COLLOCATED
utilizzando gcloud CLI o l'API Batch.
gcloud
Crea un file JSON che specifichi i dettagli e i set di configurazione del job il campo
collocation
aCOLLOCATED
.Ad esempio, per creare un job di script di base che specifica un criterio di posizionamento compatto, crea un file JSON con il seguente contenuto:
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}" } } ] }, "taskCount": 3 } ], "allocationPolicy": { "placement": { "collocation": "COLLOCATED" } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Per creare ed eseguire il job, utilizza la classe Comando
gcloud batch jobs submit
:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Sostituisci quanto segue:
JOB_NAME
: il nome del job.LOCATION
: la località del lavoro.JSON_CONFIGURATION_FILE
: il percorso di un file JSON con i dettagli di configurazione del job.
API
Invia una richiesta POST
a
Metodo jobs.create
che imposta il campo collocation
su COLLOCATED
.
Ad esempio, per creare un job di script di base che specifica un criterio di posizionamento compatto, effettua la richiesta seguente:
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"
}
}
Sostituisci quanto segue:
PROJECT_ID
: il valore ID progetto del tuo progetto.LOCATION
: la località del lavoro.JOB_NAME
: il nome del job.
Passaggi successivi
- Se hai problemi durante la creazione o l'esecuzione di un job, consulta la sezione Risoluzione dei problemi.
- Visualizza lavori e attività.
- Scopri di più sulle opzioni per la creazione di offerte di lavoro.