Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Lavori di array

Modalità Focus
Lavori di array - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Un processo di matrice è un processo che condivide parametri comuni, come la definizione del processoCPUs, v e la memoria. Viene eseguito come una raccolta di processi di base correlati ma separati che potrebbero essere distribuiti su più host ed eseguiti contemporaneamente. I job di array sono il modo più efficiente per eseguire lavori estremamente paralleli come simulazioni Monte Carlo, sweep parametrici o lavori di rendering di grandi dimensioni.

AWS Batch i lavori di array vengono inviati proprio come i normali lavori. Tuttavia, devi specificare la dimensione dell'array (tra 2 e 10.000) per definire la quantità di processi figlio da eseguire nell'array. Se invii un processo con una dimensione dell'array di 1.000, un singolo processo viene eseguito e genera 1.000 processi figlio. Il processo in array è un riferimento o un puntatore per gestire tutti i processi figlio. In questo modo, puoi inviare carichi di lavoro di grandi dimensioni con una singola query. Il timeout specificato nel attemptDurationSeconds parametro si applica a ogni lavoro secondario. Il job dell'array principale non ha un timeout.

Quando si invia un processo di array, il job dell'array principale ottiene un ID di AWS Batch lavoro normale. Ogni job secondario ha lo stesso ID di base. Tuttavia, l'indice dell'array per il job secondario viene aggiunto alla fine dell'ID principale, ad esempio example_job_ID:0 per il primo job figlio dell'array.

Il processo dell'array principale può immettere uno SUCCEEDED stato SUBMITTED PENDINGFAILED,,. Un processo principale dell'array viene aggiornato a PENDING quando viene aggiornato un processo figlio aRUNNABLE. Per ulteriori informazioni sulle dipendenze lavorative, vedereDipendenze dal lavoro.

In fase di runtime, la variabile di ambiente AWS_BATCH_JOB_ARRAY_INDEX è impostata sul numero di indice dell'array del processo corrispondente del container. Il primo array job index è numerato e 0 i tentativi successivi sono in ordine crescente (ad esempio, 1, 2 e 3). È possibile utilizzare questo valore di indice per controllare il modo in cui vengono indicati i diversi elementi figlio dei processi in array. Per ulteriori informazioni, consulta Tutorial: Usa l'array job index per controllare la differenziazione dei job.

Per le dipendenze di processi in array, puoi specificare un tipo di dipendenza, ad esempio SEQUENTIAL o N_TO_N. Puoi specificare una dipendenza di tipo SEQUENTIAL (senza specificare un ID del processo) in modo che ogni processo figlio nell'array venga completato in maniera sequenziale a partire dall'indice 0. Ad esempio, se invii un processo in array con una dimensione dell'array di 100 e specifichi una dipendenza di tipo SEQUENTIAL, 100 processi figlio vengono generati in sequenza, il primo dei quali deve avere esito positivo prima che il successivo processo figlio possa iniziare. L'illustrazione di seguito mostra il processo A, un processo in array con una dimensione dell'array di 10. Ciascun processo nell'indice dei figli del processo A dipende dal processo figlio precedente. Il processo A:1 non può iniziare fino a quando il processo A:0 non termina.

Flowchart showing Job-A with sequential child jobs A:0 through A:9, connected by arrows.

Puoi anche specificare una dipendenza tipo N_TO_N con un ID processo per processi dell’array. In questo modo, prima di iniziare, ciascun figlio nell'indice di questo processo deve attendere il completamento del figlio nell'indice corrispondente di ciascuna dipendenza. La figura seguente mostra Job A e Job B, due job di array con una dimensione di array di 10.000 ciascuno. Ciascun processo nell'indice dei figli del processo B dipende dal corrispondente indice nel processo A. Il processo B:1 non può iniziare fino al completamento del processo A:1.

Two array jobs, Job-A and Job-B, with 10,000 indexed tasks each, showing N_TO_N dependency.

Se si annulla o si interrompe un processo di array principale, tutti i job secondari vengono annullati o terminati con esso. È possibile annullare o interrompere singoli lavori per bambini (il che li sposta a uno FAILED status) senza influire sugli altri lavori secondari. Tuttavia, se un job child array fallisce (da solo o annullando o interrompendo manualmente il lavoro), anche il lavoro principale fallisce. In questo scenario, il lavoro principale passa al completamento di tutti FAILED i lavori secondari.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.