Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Una pianificazione efficace della capacità consente di garantire che i carichi di lavoro Azure Batch abbiano le risorse di calcolo necessarie, quando ne hanno bisogno. Questo articolo illustra come strutturare la capacità di Batch, pianificare la quota per i carichi di lavoro e come ridurre il rischio di errori di allocazione.
Una quota è un limite, non una garanzia di capacità. La pianificazione in anticipo consente di richiedere una quota appropriata, scegliere configurazioni resilienti e reagire normalmente quando la capacità è vincolata. Per i valori predefiniti e massimi specifici, vedere Quote e limiti del servizio Batch.
Conferma che il batch si adatti al tuo carico di lavoro
Usa Batch quando vuoi che Azure offra la pianificazione come servizio e la tua applicazione può organizzare il lavoro in pool, job e task. Prima di pianificare la capacità di batch, considera queste alternative:
- Scegli Azure CycleCloud quando devi utilizzare uno specifico scheduler HPC, personalizzare la topologia del cluster e lo stack software, o allinearti strettamente ai flussi di lavoro on-premises esistenti.
- Scegli Azure CycleCloud Workspace per Slurm quando desideri un ambiente Slurm pronto a distribuire con componenti di rete, storage e accesso forniti nel tuo abbonamento.
Se il Batch è il modello operativo giusto, usa le seguenti sezioni per stimare la domanda di picco, selezionare le VM, calcolare la quota e definire i fallback prima di creare pool di produzione.
Gerarchia della capacità
La capacità batch è governata a diversi livelli, in cui ogni livello vincola quello sottostante. La capacità effettiva è il limite più restrittivo consentito nella catena.
Nella parte superiore, l'area Azure fornisce la capacità del data center fisico disponibile per ogni famiglia di macchine virtuali. La capacità a livello di area non è un valore fisso controllato dall'utente; varia nel tempo e in base alla serie di macchine virtuali. La quota della sottoscrizione imposta quindi il limite di core consentito per ogni famiglia di macchine virtuali per area. Nella modalità di allocazione del pool di sottoscrizioni utente queste quote di sottoscrizione si applicano direttamente ai pool di Batch. La quota dell'account Batch imposta i core, i pool e i processi attivi consentiti per ogni account Batch. In modalità di allocazione del pool di servizi Batch si applicano queste quote a livello di account. Infine, i limiti del pool limitano il numero di nodi per pool, in base alla quota sopra il pool e ai limiti di dimensioni del pool impostati dal servizio Batch.
La comprensione del livello applicabile all'account dipende dalla modalità di allocazione del pool. Per altre informazioni, vedi account Batch e modalità di allocazione del pool.
Pianificare i requisiti di capacità
Prima di creare pool di produzione, stimare le risorse necessarie per il carico di lavoro. Esaminare le domande seguenti per tradurre le caratteristiche del carico di lavoro in una richiesta di quota:
- Profilo del carico di lavoro. Qual è il numero massimo di processi e attività simultanei? Qual è la durata media dell'attività e il requisito di memoria? Le attività richiedono GPU o il coordinamento multi-nodo (MPI)?
- Selezione della macchina virtuale. Quale famiglia di macchine virtuali e dimensioni meglio corrisponde al carico di lavoro? Quanti core e quantità di memoria vengono forniti da ogni macchina virtuale?
- Dimensionamento del pool Quante attività vengono eseguite simultaneamente per ogni nodo (fino a quattro volte il numero di core del nodo, con un massimo di 256 slot di attività per nodo)? Dato il numero massimo di attività simultanee, quanti nodi sono necessari? Come si suddivide la capacità tra nodi dedicati e spot?
- Requisito di quota. Moltiplicare il numero massimo di nodi per i core di ciascuna macchina virtuale per ottenere il numero totale di core necessari. Confrontare il totale rispetto alla quota corrente per determinare l'aumento da richiedere.
- Preventivo. Usare la frequenza oraria della macchina virtuale e il tempo di esecuzione previsto per stimare il costo giornaliero e mensile. Per altre informazioni, vedere Pianificare la gestione dei costi per Azure Batch.
Per controllare le quote correnti e richiedere un aumento, vedere Visualizzare le quote batch e Aumentare una quota. Inviare le richieste di quota in anticipo e iniziare con aumenti modesti e incrementali. L'aumento delle quote di grandi dimensioni potrebbe richiedere una revisione manuale e può richiedere diversi giorni a diverse settimane.
Gestire la capacità in modo proattivo
Pianificare la capacità prima che diventi un vincolo:
- Monitorare l'utilizzo della quota. Monitorare l'utilizzo dei core rispetto alla quota e inviare avvisi quando l'utilizzo si avvicina al limite, ad esempio al 70–80%. Per altre informazioni, vedere Monitorare le soluzioni Batch.
- Usa la scalabilità automatica. Configurare il ridimensionamento automatico in modo che i pool aumentano e si riducono con la domanda invece di contenere un numero fisso di nodi con provisioning eccessivo. Un modello comune mantiene un livello base di nodi dedicati per garantire un avanzamento costante e ricorre temporaneamente ai nodi Spot per aumentare la capacità di elaborazione.
- Distribuzione tra aree e account. Distribuire i carichi di lavoro tra più aree o account Batch per accedere a una capacità di aggregazione maggiore. Le quote di servizio, ad esempio i processi attivi e i pool, si applicano a ciascun account Batch.
Gestire i vincoli di capacità
Anche con la pianificazione, è possibile che si verifichino errori di allocazione. Progettare il flusso di lavoro in modo che sia resiliente:
- Riprovare e diversificare. Se un pool non riesce a raggiungere le dimensioni di destinazione, riprovare dopo alcuni minuti, provare a usare dimensioni di macchina virtuale diverse o provare un'area diversa. Modifiche alla disponibilità delle risorse nel tempo.
- Reindirizzare nuovamente i processi. Evitare di basarsi su un singolo pool statico. Verificare di poter reindirizzare i processi a un pool diverso, eventualmente con una dimensione della VM diversa, se un pool non può espandersi. Per ulteriori informazioni, vedere le procedure consigliate di Azure Batch.
- Creare per la revoca delle istanze Spot.I nodi Spot possono essere revocati quando Azure ha nuovamente bisogno della capacità. Usare i nodi Spot solo per il lavoro a tolleranza di errore e combinarli con nodi dedicati e scalabilità automatica in modo che il pool venga ripristinato automaticamente.
Per i sintomi dettagliati, le cause e le risoluzioni degli errori di allocazione e quota, vedere le linee guida per la risoluzione dei problemi:
- Errori di pool e nodi
- errore di ridimensionamento del pool Azure Batch
- Errore di creazione del pool di Azure Batch
Validare la capacità prima della produzione
Esegui una prova di concetto con un job rappresentativo, il volume di dati atteso e la configurazione del pool di produzione. Non approvare il progetto per la produzione finché non puoi registrare prove per ogni criterio:
| Criterion | Prove da registrare |
|---|---|
| Completamento del carico di lavoro | Il lavoro si completa correttamente con dipendenze di compiti di produzione, pacchetti applicativi e percorsi dati di input e output. |
| Scala e quota | Il pool raggiunge il numero di nodi richiesto nell'area geografica desiderata senza superare la quota dell'account Batch, della sottoscrizione o della famiglia di VM. |
| Performance | Il tempo complessivo del processo soddisfa l'obiettivo, inclusi l'allocazione del pool, il trasferimento dei dati, l'elaborazione e la persistenza dei risultati. |
| Recovery | Dopo una perdita di nodo, un fallimento del compito o una preemption Spot se utilizzato, il lavoro rimane entro il tempo massimo di recupero registrato e la perdita consentita del checkpoint, rispetta la scadenza di completamento e utilizza con successo la dimensione o il pool pianificato della VM di riserva. |
| Cost | Il costo misurato di calcolo, archiviazione, rete e licenza per ogni processo completato raggiunge l'obiettivo alla frequenza di esecuzione prevista. |
| Operazioni | Gli avvisi identificano la pressione delle quote, i fallimenti di allocazione e i compiti falliti, e il proprietario può retargetare o recuperare il carico di lavoro. |
Se un criterio fallisce, rivedi la dimensione del pool, la selezione della VM, il percorso di storage, il comportamento dei ritenti o il fallback regionale e ripeti lo stesso lavoro. Un piccolo test funzionale non stabilisce la capacità produttiva perché non esercita scala di picco, quota o movimento di dati.
Procedure consigliate
| Pratica | Description |
|---|---|
| Richiedi quota anticipata | Inviare le richieste di quota in anticipo; grandi aumenti possono richiedere diversi giorni a diverse settimane. |
| Pianificare un margine di capacità | Richiedere una quota leggermente maggiore rispetto al picco corrente per consentire la crescita. |
| Usare più aree | Distribuire i carichi di lavoro tra aree per accedere a una maggiore capacità di aggregazione. |
| Monitorare l'utilizzo | Avvisa quando l'utilizzo principale raggiunge 70-80% della quota. |
| Macchine virtuali di dimensioni appropriate | Associare la famiglia e le dimensioni delle VM al carico di lavoro invece di sovradimensionare le risorse. |
| Usare Spot saggiamente | Riservate i nodi Spot per i carichi di lavoro tolleranti agli errori e abbinateli a nodi dedicati. |
| Pulire le risorse | Eliminare i pool inutilizzati per liberare la quota dell'account. |